The Agile Method is a particular approach to project management that is utilized in software development. This method assists teams in responding to the unpredictability of constructing software. It uses incremental, iterative work sequences that are commonly known as sprints.
Dissatisfaction with the overheads involved in software design methods of the 1980s and 1990s led to the creation of agile methods. These methods:
–Focus on the code rather than the design
–Are based on an iterative approach to software development
–Are intended to deliver working software quickly and evolve this quickly to meet changing requirements.
The aim of agile methods is to reduce overheads in the software process (e.g. by limiting documentation) and to be able to respond quickly to changing requirements without excessive rework.
The principles of agile methods
- Customer involvement- Customers should be closely involved throughout the development process. Their role is provide and prioritize new system requirements and to evaluate the iterations of the system.
- Incremental delivery- The software is developed in increments with the customer specifying the requirements to be included in each increment.
- People not process- The skills of the development team should be recognized and exploited. Team members should be left to develop their own ways of working without prescriptive processes.
- Embrace change-Expect the system requirements to change and so design the system to accommodate these changes.
- Maintain simplicity-Focus on simplicity in both the software being developed and in the development process. Wherever possible, actively work to eliminate complexity from the system.
Agile method applicability
- Product development where a software company is developing a small or medium-sized product for sale.
- Custom system development within an organization, where there is a clear commitment from the customer to become involved in the development process and where there are not a lot of external rules and regulations that affect the software.
- Because of their focus on small, tightly-integrated teams, there are problems in scaling Agile methods to large systems.