(Reading time: 3 - 6 minutes)

Software development Methodology analysis – Waterfall versus Agile

Focal Points

  1. Standard or Waterfall approach
  2. Agile Methodology
  3. Differences between Waterfall and Agile
  4. Indicators to select the correct methodology
  5. Methodology Selection
  6. Common terminologies

 

Standard or Waterfall approach

Warerfall

  • Sequential development model
    • Moves to next phase only when the current phase is complete
  • Clear, fixed and approved requirements
  • Scope changes are handled by Change control process.
  • Specific skill set required per phase
    • Requirements - Business analysts
    • Design - Architects
    • Implementation - Developers
    • Verification - Testers
  • Easy to plan

 

Waterfall - Pros & Cons

Pros

Cons

  1. Easy to understand
    1. Clear requirements definition
    2. Fully documented designs
  2. Easy to plan and hence minimizes planning overhead
  3. Very specific skills for each phase
  4. More disciplined approach

 

  1. Demands higher clarity very early in the life cycle
  2. Highly idealistic methodology
    1. Very difficult to have non-changing requirements
  3. Changes done at the later phases of the project are very costly
  4. There’s no ‘intermediate view’ for the users
  5. Primary communication method is through written documentation

 

Agile Methodology

Agile

Agile Methodology has three repetitive phases

Plan

  • The business partner or customer lists down his requirements for the project.
  • The requirements are shuffled as per priority.
  • Few requirements are selected based on feasibility and priority for iteration in collaborate phase

Collaborate

  • Cross functional team
    • Team includes business analyst, developer, tester and manager
  • Requirements selected for the iteration are taken and the standard software development phases, "requirements - design - development - testing" are carried out.
  • Agile methodology also includes a daily meeting to discuss and identify the show stoppers, pitfalls and solutions.

Deliver

  • Deliverable or Output of the iteration is shared with the business partner or customer.
  • Feedback if any from the partner is shared with the team.
  • Team scribes those feedback in the backlog list.

Now again the process starts from step 1, that is, prioritizing and identifying requirements for next iteration.

The cycle goes on and on till all the requirements are met.

Key features of Agile

  • 4 Principles:
    • Individuals & interactions over processes & tools
    • Working software over comprehensive documentation
    • Customer collaboration over contract negotiation
    • Responding to change over plan follow-throughs
  • Very flexible approach
  • Accepts that Business requirements will change over the course of time
    • Does not expect every requirement to be known before starting
  • Requires business partner involvement throughout the entire process
  • Breaks project down into small “iterations”

  

Agile - Pros & Cons

Pros

Cons

  1. High business partner involvement
  2. Efficiently responds to changing requirements
  3. Flexible design approach
  4. Business partner satisfaction
    1. Business partner gets to see “intermediate view” at the end of each iteration.
    2. High quality deliverable
  5. Crisp and to the point documentation to save time
  6. Earlier return on investment than the waterfall model.

 

  1. Demands very active business partner involvement throughout the project
  2. If business partner is not clear on what they want, may end up with indefinite iterations
  3. Testing is integrated throughout the lifecycle.
  4. Very less ‘known’ requirements
  5. Tough to estimate the effort required

 

Differences between Waterfall and Agile

Agile vs Waterfall

Waterfall

Agile

Predictable approach

Adaptable approach

Plan driven approach

Value driven approach

Sequential process

Continuous Process

Set of different teams work separately

Single cross functional team

Less business partner involvement

High business partner involvement

Difficult to make changes

Easy to change with each sprint

Detailed signed off requirements

Incomplete Requirements

 

Indicators to select the correct methodology

Criteria

Yes?

No?

Clear and fixed requirements

Waterfall

Agile

High business partner involvement

Agile

Waterfall

Detailed documentation approach?

Waterfall

Agile

End timeline constraint?

Waterfall

Agile

Very high level control & reporting?

Waterfall

Agile

Expect changes in the later project phases?

Agile

Waterfall

Scope changes?

Agile

Waterfall

Criteria

Yes?

No?

Clear and fixed requirements

Waterfall

Agile

High business partner involvement

Agile

Waterfall

Detailed documentation approach?

Waterfall

Agile

End timeline constraint?

Waterfall

Agile

Very high level control & reporting?

Waterfall

Agile

Expect changes in the later project phases?

Agile

Waterfall

Scope changes?

Agile

Waterfall

 

Methodology Selection

In this section let us walk through couple of commonly used methods to make the correct methodology choice.

Method 1 - Average score method

Fill in the score in the below table based on your project criteria

#

Criteria

Score

(0 – Less likely ; 100 – More likely)

1

Incremental project delivery

 

2

Dedicated core team

 

3

Adaptive planning and quick escalations

 

4

High commitment & availability of business partners

 

5

Easy to automate the test environment

 

6

Unclear requirements and more chances of scope creep

 

7

A small cross functional team is sufficient

 

8

Project focused on a single system but with many interfaces

 

9

Continuous integration is possible

 

10

Minimal dependency on other projects

 

Average Score

If Average score,

is greater than  55 – Suitable for Agile approach

falls between 25 and 55 – Suitable for Hybrid approach (mixture of Agile and Waterfall)

less than 25 – Suitable for Standard approach

 

Method 2 - Radar method

Enter the value in the below table based on your project criteria.

#

Criteria

Value

1

Team size (in number)

 

2

Criticality:

Select one

  1. Comfort
  2. Discretionary funds
  3. Essential funds
  4. Single life
  5. Many lives
 

3

Requirement changes (% changes per month)

 

4

Availability of experienced resources (in number)

 

5

Less orderly environment (in %)

 

Use the values to plot the graph as shown below:

Method

The closer the plotted points are to the center, Agile is the better choice. Else Waterfall is the choice.

Common Terminologies

#

Term

Definition

1

Sprint

An iterative unit of time. Sprints allow teams to leverage incremental improvements.

2

Scope Creep

The uncontrolled growth of the project scope resulting from constant changes to requirements without consideration to the impact on resources or timescale.

3

Scope

The overall definition of what the project should achieve and a specific description of what the result should be.

4

Deliverable

A tangible or intangible object produced through project execution. A deliverable can be created from multiple smaller deliverables.

5

Change Control

The practice of identifying, documenting, approving and carrying out changes within a project.

6

Time-box

A time-box is a previously agreed period of time during which a team works steadily towards completion of some goal. Rather than allow work to continue until the goal is reached, and evaluating the time taken, the time-box approach consists of stopping work when the time limit is reached and evaluating what was accomplished.

 


Similar articles

Chillzee Tag Cloud

About Chillzee

Chillzee.com is an entrepreneurship portal.

The site provides informative topics on Organizational and Strategic needs.