What characterizes agile software development?
At this point in time there a quite a few agile methodologies, that all first appeared around the last years of the previous century. Think of Scrum, currently the most popular process, but also of extreme programming, DSDM, Smart, Feature Driver Development, MSF Agile or Lean Development. Although these methodologies differ in implementation detail, they all adhere to a set of key principles, which are eloquently define in the Agile Manifesto. But even in implementation details, there are a fair amount of characteristics these processes share, such as: • Close collaboration. All agile projects are delivered in a close collaboration with the customer, and with the different roles in the project team present at the same time, including developers and testers. • Small unit of work. Agile methodologies all apply a small and equally granular unit of work. Both extreme programming (XP) and Scrum apply stories, feature driven development uses features and in Smart projects, the more structur