Post on 06-May-2015
description
Licensed Under Creative Commons by Naresh Jain
Waterfall to Agile Demo
Embrace Change
Naresh Jainnaresh@agilefaqs.com
1
Licensed Under Creative Commons by Naresh Jain
Introduction to the activity
Waterfall phase
Retrospective
Build-Your-Process phase
Retrospective
Conclusion
Agenda
2
Licensed Under Creative Commons by Naresh Jain
Highlight some of the problems with existing process
Understand the evolution and rationale behind lightweight methods [Agile]
Highlight some of the core Agile values
Set up the stage to introduce Agile
Objective
3
Licensed Under Creative Commons by Naresh Jain
Requirements
Analysis
Design
Implementation
MaintenanceTesting
Integration
Classic Waterfall Method
4
Licensed Under Creative Commons by Naresh Jain
Requirements
Analysis
Design
Implementation
MaintenanceTesting
Integration
Classic Waterfall Method
4
Licensed Under Creative Commons by Naresh Jain
Customer
Analyst
Architect
Implementer
TesterAnalysisPhase
DesignPhase
CodingPhase Testing
Phase
UATPhase
Traditional Process
5
Licensed Under Creative Commons by Naresh Jain
Customer
Analyst
Architect
Implementer
TesterAnalysisPhase
DesignPhase
CodingPhase Testing
Phase
UATPhase
Traditional Process
5
Licensed Under Creative Commons by Naresh Jain
Customer
Analyst
Architect
Implementer
TesterAnalysisPhase
DesignPhase
CodingPhase Testing
Phase
UATPhase
Traditional Process
5
Licensed Under Creative Commons by Naresh Jain
Customer
Analyst
Architect
Implementer
TesterAnalysisPhase
DesignPhase
CodingPhase Testing
Phase
UATPhase
Traditional Process
5
Licensed Under Creative Commons by Naresh Jain
Customer
Analyst
Architect
Implementer
TesterAnalysisPhase
DesignPhase
CodingPhase Testing
Phase
UATPhase
Traditional Process
5
Licensed Under Creative Commons by Naresh Jain
Customer
Analyst
Architect
Implementer
TesterAnalysisPhase
DesignPhase
CodingPhase Testing
Phase
UATPhase
Traditional Process
5
Licensed Under Creative Commons by Naresh Jain
Customer
Analyst
Architect
Implementer
TesterAnalysisPhase
DesignPhase
CodingPhase Testing
Phase
UATPhase
Traditional Process
5
Licensed Under Creative Commons by Naresh Jain
No talking. Only written communication
End delivery is the drawing of the product
Coding = Drawing
Architects cannot draw [code]
Timings are important. Please stick to the time
Some rules!
6
Licensed Under Creative Commons by Naresh Jain
Customer
1 minRest of the
team
✓ Customer views the product
✓ Internalize the product
✓ Set-up their environment
SetUp Phase
7
Licensed Under Creative Commons by Naresh Jain
Customer
1 min
Analyst
✓ Customer explains the product to Analyst
✓ Clarify requirements by writing ✓Analyst writes “Specification”
2 min
Analyst
Analysis Phase
8
Licensed Under Creative Commons by Naresh Jain
Analyst
Tester
✓ Analyst passes the specification to Architect and Tester
✓ Clarify requirements by writing
2 min Architect 1 min
Architect
✓Architect writes “Design Document”
Design Phase
9
Licensed Under Creative Commons by Naresh Jain
Architect
Tester
✓ Implementer draws [creates] the product
✓ Architect can clarify any questions
✓ Tester comes up with Test Plan and Test Scenarios
3 min
Implementer
Implementation Phase
10
Licensed Under Creative Commons by Naresh Jain
Tester
1 min
Implementer
✓ Tester verifies the product
✓ Creates a bug report and hands it over to the implementer
✓ Fix bugs
✓ Prepare product for release
1 min
Architect
Testing Phase
11
Licensed Under Creative Commons by Naresh Jain
Customer
1 min
Implementer
✓ Customer does UAT
✓ Creates a bug report and hands it over to the Analyst
✓ Fix UAT bugs
✓ Prepare product for final release
1 min
ArchitectAnalyst
UAT Phase
12
Licensed Under Creative Commons by Naresh Jain
What worked?
What did not work?
What will we do differently?
Waterfall Retrospective
13
Licensed Under Creative Commons by Naresh Jain
Based on the learnings, what are we going to do different?
Let’s break all walls
But...Only written communication to be fair
Architect can actually draw!
Instead of 14 mins, we have 7 mins
Invent Your Own Process
14
Licensed Under Creative Commons by Naresh Jain
What worked?
What did not work?
What did we learn?
Retrospective
15
Licensed Under Creative Commons by Naresh Jain
Waterfall Approach Agile Approach
Phased Iterative and Incremental
Working software in final phase Working Software every build
Different people involved in different phases- context is lost.
Communication overhead and uses low quality communication channels.
Same Set of people- context is carried over.
Less overhead and uses high quality communication channels
Verification is done at final stage Verifiability driven
Predictive Planning Adaptive Planning
Less visibility- artifacts, prototypes More Visibility- working software
Changes accepted at certain stages only Changes embraced
Key Differences
16
Licensed Under Creative Commons by Naresh Jain
Thank You!
17