Agile Methods are based on the Agile manifesto and are adaptive in nature. Agile methods ensure −
- Team collaboration.
- Customer collaboration.
- Constant and continuous communication.
- Response to changes.
- Readiness of a working product.
Several Agile methods came into existence, promoting iterative and incremental development with time-boxed iterations. Though the Agile methods are adaptive, rules of the specific method cannot be by-passed and hence requires disciplined implementation.
Agile Methods – Strengths
The advantages or strengths of Agile method are −
- Early and frequent releases.
- Accommodation of changing requirements.
- Daily communication among the customer and developers.
- Projects built around motivated individuals.
- Self-organizing teams.
- Simplicity, focusing on what is immediately required.
- No building for future or overburdening the code.
- Regular reflection to adjust behavior to improve effectiveness.
Agile Methods – Weaknesses
The disadvantages or weaknesses of Spiral method are −
- Customer availability may not be possible.
- Teams should be experienced to follow the rules of the method.
- Appropriate planning is required to quickly decide on the functionality that needs to be delivered in an iteration.
- Team is expected to have estimation skills and negotiation skills.
- Team should have effective communication skills.
- New teams may not be able to organize themselves.
- Requires discipline to develop and deliver in time-boxed iterations.
- Design needs to be kept simple and maintainable, thus requiring effective design skills.
When to Use Agile methods?
The Agile methods can be used when −
- Application is time-critical.
- The scope is limited and less formal (scaling agile methods to larger projects is underway, with certain extensions to some of the agile methods).
- Organization employs disciplined methods.