Andrew Grimes - S3UG Waterfall vs Agile

28
Waterfall vs Agile Project Methodologies Andrew Grimes S3UG 2010

Transcript of Andrew Grimes - S3UG Waterfall vs Agile

Page 1: Andrew Grimes - S3UG Waterfall vs Agile

Waterfall vs Agile Project Methodologies

Andrew GrimesS3UG 2010

Page 2: Andrew Grimes - S3UG Waterfall vs Agile

Why talk about Method?

Only 1 in 8 projects succeed*

Projects involve collaboration!

The way we work together is as important as what we’re working on

* A study in project failure – BCS (The Chartered Institute for IT)http://www.bcs.org/server.php?show=ConWebDoc.19584

Page 3: Andrew Grimes - S3UG Waterfall vs Agile

Overview

Definition of the terms: Waterfall and Agile

In what context does each work best?

What approach do they take to Risk, Change, Quality, Planning?

Is a hybrid approach possible?

Page 4: Andrew Grimes - S3UG Waterfall vs Agile
Page 5: Andrew Grimes - S3UG Waterfall vs Agile

Definition of terms

Waterfall

Big Design Up Front

Formal documented process

Sequential “finish-start” flow: Requirements > Design > Development > Verification > Release

Page 6: Andrew Grimes - S3UG Waterfall vs Agile

Definition of termsAgile

Lightweight documentation

Iterative development

Rapid, continuous delivery

Self organising teams

Adapting to changing circumstance

Page 7: Andrew Grimes - S3UG Waterfall vs Agile

Quick show of hands

Experience?

Which works best for you?

Page 8: Andrew Grimes - S3UG Waterfall vs Agile

3 golden parameters

Waterfall attempts to fix all three

Agile allows scope to be variable

Page 9: Andrew Grimes - S3UG Waterfall vs Agile

Waterfall – key conceptsPredictive flow through set of distinct activities

Map out deliverables and dependencies

Track critical path

Analysis is upfront

Testing is at the end

Fix cost contract & change control

Page 10: Andrew Grimes - S3UG Waterfall vs Agile

Agile – key conceptsJust-in-time analysis

Time boxing

Iterative development

Test early and often

Constantly re-prioritised backlog

Go-live early then do further releases

Fixed cost contract

Page 11: Andrew Grimes - S3UG Waterfall vs Agile

A question of context?

Waterfall Agile

Reusing existing software Developing new software

Requirements are comprehensively understood

Requirements are not comprehensively understood

Development team are junior Development team are senior, autonomous and versatile

No integration with other systems

Integration with 3rd party systems

Decisions made by committee Project scope can be managed by a single “product owner”

Page 12: Andrew Grimes - S3UG Waterfall vs Agile

Which of these requires a greater leap of faith?

Agree overall project vision, strategy and backlog. Iterate. Then review demonstrations of progress every few weeks.

Agree detailed project requirements. Fix cost, time and scope. Develop. Then view the results in x months/years time?

Page 13: Andrew Grimes - S3UG Waterfall vs Agile

PRINCE2 vs SCRUM

Governance: Roles and checkpoints

Planning

Risk management

Change control

Quality Assurance

Page 14: Andrew Grimes - S3UG Waterfall vs Agile

PRINCE2 – project governance

Project Board

Project Manager is responsible within agreed tolerances

Check points at stage boundaries

Page 15: Andrew Grimes - S3UG Waterfall vs Agile

SCRUM – project governance

Product Owner

Scrum Master

Team

Demo and Retrospective at end of each iteration

Page 16: Andrew Grimes - S3UG Waterfall vs Agile

PRINCE2 - planningList activities, milestones and deliverables

Identify dependencies

Get estimates

Baseline

Track progress

Detailed planning for each stage

Review high level plan at each stage

Page 17: Andrew Grimes - S3UG Waterfall vs Agile

SCRUM - planningProduct Owner describes highest priority item on the backlog

Team ask questions and agree “definition of done”

Estimate is provided in story points

Velocity from previous iterations = total available

Backlog grooming is carried out regularly

Page 18: Andrew Grimes - S3UG Waterfall vs Agile

PRINCE2 – risk managementIdentify, evaluate, assign, mitigate

Review lessons learnt from previous similar projects

Maintain a risk log with clear owners and strategies (eliminate, reduce, transfer or accept and budget)

Re-assess at each stage boundary and when considering change

Page 19: Andrew Grimes - S3UG Waterfall vs Agile

SCRUM– risk management

Risks converted to tasks to be defined - “Definition of done”

Biggest risk = lost opportunities through not planning for change

Scrum Master role is to remove impediments and keep team safe

Technical debt minimised through Agile development processes

Page 20: Andrew Grimes - S3UG Waterfall vs Agile

PRINCE2 – change controlControlled start-up documentation (PID)

Formal change control process.

Consensus agreement from all stakeholders

Later used to measure progress and completion

Page 21: Andrew Grimes - S3UG Waterfall vs Agile

Agile – change controlPlan for change

“Costs of creating software come from writing the program, not the assembly”*

Regular demonstrations of progress

Evolving product backlog

Multiple releases (when? As soon as it is beneficial to do so)* The pitfalls of Outsourcing Programmers – Michael Beanhttp://forio.com/resources/the-pitfalls-of-outsourcing-programmers/

Page 22: Andrew Grimes - S3UG Waterfall vs Agile
Page 23: Andrew Grimes - S3UG Waterfall vs Agile

PRINCE2 – quality assurance

Dedicated quality assurance phase

Project assurance role

Quality plan / acceptance criteria

Page 24: Andrew Grimes - S3UG Waterfall vs Agile

SCRUM – quality assurance

Continuous testing throughout the project

Quality agreed as part of “Definition of Done”

Agile development practices

Page 25: Andrew Grimes - S3UG Waterfall vs Agile

Process and tools Individuals and interactions

Comprehensive documentation

Prototyping and evolving software

Contract negotiation Collaboration between customer and suppliers

Following a plan Responding to change

Quick show of hands

Waterfall values Agile values

Page 26: Andrew Grimes - S3UG Waterfall vs Agile

Is a hybrid possible?

Why not take inspiration from both?

Combine the bits that work best

Tailor the project approach to suit each particular context?

Page 27: Andrew Grimes - S3UG Waterfall vs Agile

Is a hybrid possible?

DesignDesign BuildBuild UATUAT DeployDeployP D

P D

P

B

D

P

B

D

P

B

D

P D

P Planning

D Demo and Retrospective

B Backlog grooming

Vision BacklogVision Backlog

Number of iterations agreed

Number of iterations agreed

Page 28: Andrew Grimes - S3UG Waterfall vs Agile

Any questions?

[email protected]