Agile Methodologies of software development

In my previous article we were discussing about the risk factors involved in Waterfall model and the Iterative techniques of software development methodologies. In this section we will discuss the method of overcoming the preceding risk factors which are nothing but Agile Methodologies.

Agile MethodsThe most recent group of methodologies built on an iterative model are known as Agile Methods.  This method mainly minimizes risk of the developer's focus on the smaller deliverable units. Each development cycle will be very smaller and at the end of each cycle the entire team evaluates the project priorities.


The above picture states that Agile method is based on the Iterative Model where the various phases like Requirement gathering, Architecture & Design and all the phases evolve through collaboration between self organized cross functional teams.

Agile Process

  • Short Iterations
  • Continuous testing
  • Self organizing teams
  • Constant collaboration
  • Frequent  replanning based on the customers feedback

Agile Merits

  • Customer satisfaction by frequent delivery of the products
  • Requirement changes are always welcome
  • All the teams will be involved in the process, none of the team will be in idle
  • Completely people oriented
  • Five minutes of meeting daily with few questions
  • Return of investment is earlier
  • Failure is detected at the earlier stage
  • Easy to monitor the progress of the projects

Agile Drawbacks

  • Communication difficulties in larger teams
  • Its mainly developed for smaller teams
  • When larger teams involved, cycles will be longer and need different approach

Agile are best when

  • The problem is uncertain and the requirements are volatile
  • The team is full cooperative and collaborative
  • The customers approves the agile process

This was just an overview of Agile Methodologies merits, demerits, process and where to use the Agile methods. Various types of Agile methods will be covered in my next Article.