View
122
Download
1
Category
Tags:
Preview:
Citation preview
Waterfall vs Agile Project Methodologies
Andrew GrimesS3UG 2010
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
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?
Definition of terms
Waterfall
Big Design Up Front
Formal documented process
Sequential “finish-start” flow: Requirements > Design > Development > Verification > Release
Definition of termsAgile
Lightweight documentation
Iterative development
Rapid, continuous delivery
Self organising teams
Adapting to changing circumstance
Quick show of hands
Experience?
Which works best for you?
3 golden parameters
Waterfall attempts to fix all three
Agile allows scope to be variable
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
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
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”
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?
PRINCE2 vs SCRUM
Governance: Roles and checkpoints
Planning
Risk management
Change control
Quality Assurance
PRINCE2 – project governance
Project Board
Project Manager is responsible within agreed tolerances
Check points at stage boundaries
SCRUM – project governance
Product Owner
Scrum Master
Team
Demo and Retrospective at end of each iteration
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
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
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
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
PRINCE2 – change controlControlled start-up documentation (PID)
Formal change control process.
Consensus agreement from all stakeholders
Later used to measure progress and completion
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/
PRINCE2 – quality assurance
Dedicated quality assurance phase
Project assurance role
Quality plan / acceptance criteria
SCRUM – quality assurance
Continuous testing throughout the project
Quality agreed as part of “Definition of Done”
Agile development practices
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
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?
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
Any questions?
andrew.grimes@semantico.com
Recommended