Agile software development methods emerged as an alternative to traditional software development in 2001 by a group of practitioners to address the shortcoming of traditional software development methods.

Unlike traditional process driven methods, Agile emphasises on team relationship and role of people over institutionalised processes, contracts and detailed documentation encapsulated in Agile Manifesto:

  1. Individuals and interactions over processes and tools
  2. Customer collaboration over contract negotiation
  3. Responding to change over following a plan
  4. Working software over comprehensive documentation

The primary objective of agile methods is to deliver a working software that delights the customer using a just enough documentation and just enough planning approach to continuously deliver working software to production.

Agile methods:

The introduction of the extreme programming method (XP) is attributed to starting point for the various agile software development approaches. The top five agile methods includes:

Project level Agile Methods:

  1. Extreme Programming (Kent Beck )
  2. Scrum (Jeff Sutherland and Ken Schwaber)
  3. Feature-Driven Development (Palmer and Felsing)
  4. Dynamic Systems Development Method (Arie van Bennekum)
  5. Adaptive Software Development (Jim Highsmith)
  6. Rational Unified Process (Rational Software- IBM)

 Enterprise Agile Frameworks:

  1. Scaled Agile Framework (SAFe)
  2. Large Scale Scrum (LeSS)
  3. Declined Agile Delivery (DaD)

Table 1 Comparison of agile Methods

  Practices Iteration Period Team Size
XP User stories, Test driven development, pair programing and refactoring and Iterative, incremental delivery.

Phases: Concept, Initiate, Deliver Deploy. Adopted by Agile Academy

1-6 weeks Small team less than 20
Scrum Each sprint starts with sprint planning, daily scrum, sprint review and sprint retrospective. In each sprint, the team creates finished portions of product using approved backlog. At the end of a Sprint, a Sprint Review meeting conducted by the Scrum Master. 2-4 weeks No hard limit but single scrum team should be preferably less than 9 people
FDD FDD’s focus is on design and build phases (primarily) using prototyping, feasibility study, and Iterative delivery.

Phases include Develop model, Build feature list, Plan by feature, Design by feature and Build by feature. Recommended for complex projects.

80% solution

20% real-time

All sizes independent teams
DSDM Iterative delivery through Feasibility study, development and implementation 2 days to 2 weeks Many members and more than one team
ASD ASD phases include, Speculation, Iterative development, Collaboration and Learning 4-8 weeks Small team of 5-9
RUP RUP phases includes Inception, Elaboration, Construction, and Transitions. Each iteration covers business modelling, requirements analysis, design, development, testing and deployment. Works better for large size projects. 2 weeks to six month  Large development team
SAFe SAFe provide a comprehensive framework for an agile delivery in an enterprise and is growing in popularity.

 

SAFe structured approach allows large enterprises to transition to agile following a highly structured and well documented roll out plan.

Two weeks Many Scrum teams. Enterprise Agile
LeSS LeSS Scales up Scrum activities such as Sprint planning, and retrospective with participants from a number of scrum teams to coordinate program deliveries. Two weeks Two to Eight Scrum teams