What is Agile?

Agile model believes that every project needs to be handled differently and the existing methods need to be tailored to best suit the project requirements. In Agile, the tasks are divided to time boxes (small time frames) to deliver specific features for a release.

Graphical illustration of the Agile Model −

Agile Model

The most popular Agile methods include Rational Unified Process (1994), Scrum (1995), Crystal Clear, Extreme Programming (1996), Adaptive Software Development, Feature Driven Development, and Dynamic Systems Development Method (DSDM) (1995).

Following are the Agile Manifesto principles −

  • Individuals and interactions − In Agile development, self-organization and motivation are important, as are interactions like co-location and pair programming.

  • Working software − Demo working software is considered the best means of communication with the customers to understand their requirements, instead of just depending on documentation.

  • Customer collaboration − As the requirements cannot be gathered completely in the beginning of the project due to various factors, continuous customer interaction is very important to get proper product requirements.

  • Responding to change − Agile Development is focused on quick responses to change and continuous development.

Advantage(Pros) of Agile Method:

  1. Frequent Delivery
  2. Face-to-Face Communication with clients.
  3. Efficient design and fulfils the business requirement.
  4. Anytime changes are acceptable.
  5. It reduces total development time.

Disadvantages(Cons) of Agile Model:

  1. Due to the shortage of formal documents, it creates confusion and crucial decisions taken throughout various phases can be misinterpreted at any time by different team members.
  2. Due to the lack of proper documentation, once the project completes and the developers allotted to another project, maintenance of the finished project can become a difficulty.