Agile Development Methodology can most simply be described in one word, “Agile.” Its simplistic, flexible, adaptive, and change-amenable approach focuses on people, results, and high team collaboration. The idea is that the team can be more responsive to change as a result of:
- Reducing the cost of moving information between people and the amount of elapsed time between making a decision and seeing the consequence of that decision
- Co-locating people close together
- Increasing in-person communication
- Motivating and empowering team members
- Including user experts on as part of the team
- Working incrementally and iteratively.
- Several Agile Development processes are available for the user, including:
- Extreme Programming – A software development style that takes a code-centric view of the activity, highly regards changing requirements and places high value on adaptability.
- SCRUM – A process for software development wherein projects progress through a series of incremental iterations called “sprints,” each of which typically lasts 2- 4 weeks, in environments with rapidly changing requirements.
- Crystal – The smallest (in terms of the project size it addresses, usually up to 8 developers) in a series of software methodologies. Crystal is a family of human-powered and adaptive, ultra-light, shrink-to-fit methodologies.
- Dynamic Systems Development Method (DSDM) – A software approach in which time is fixed for the life of a project and resources are fixed for as far as possible and requirements are allowed to change.
- Whitewater Interactive System Development with Object Models (Wisdom) – A software approach that addresses the needs of small development teams who are required to build and maintain the highest quality interactive systems.