Adaptive Software Development Tutorial on SDLC Agile Methods

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.