Agile Software Development
A set of practices that emphasize iterative development cycles and self-organizing teams. In contrast to waterfall-like projects where value is generated only at the very end of a project, agile software development focuses on a continuous, incremental delivery of value and evolutionary improvement of the process itself.
Problem it addresses
Defining, communicating and understanding requirements for all stakeholders in a software project is very difficult, if not impossible. Yet, customers want their software projects to be delivered on time, in good quality, on budget and on scope. With its cyclical nature, agile software development enables continuous adaptation of requirements and faster adaptation to all other circumstances as opposed to waterfall-like strategies.
How it helps
Agile software development contains all the phases of traditional (waterfall-like) strategies, like requirements engineering, planning, implementation, review, testing and delivery. The biggest difference is that the whole time span of a software project is sliced into iterations, which each contain all those phases. After each iteration, the created value can be reviewed with the customer and requirements can be adjusted towards the end goal. Additionally the development team retrospects on which actions items to take in order to improve the process itself.
Was this page helpful?
Thank you! Please let us know if you have any suggestions.
Thanks for your feedback. Please tell us how we can improve.