Table of contents
Overview
Agile software development is a conceptual framework for software engineering that promotes development iterations throughout the life-cycle of the project.
- Software developed during one unit of time is referred to as an iteration (sprint), which may last from one to four weeks.
- Agile methods also emphasize working software as the primary measure of progress.
- Agile Products are based on empirical control method - decisions based on reality.
- Adjustments on-the-go by frequent inspections.
- Transparency: Everyone involved knows what is going in the project.
- Frequent Inspection: Regular evaluation of the product.
- Adaptation: Make quick adjustments to minimize problems later.
Benefits of Agile
- Almost Zero Risk of Catastrophic Project Failure
- Prioritization of Business Value over ‘Good or Nice-to-have’ features
- Agile Testing (Continuous Testing) ensures Problems are discovered early
- Down-plays ‘Scope-creep’ as Requirement Changes are managed throughout Product Development Life-cycle
- Prioritizing Features in early Iterations
- Managing Evolving Requirements
- Continuous Inspection and Adaptation: Improvement of Processes and Products based on Prior Experience of the ‘Completed’ Product