Upload
naresh-jain
View
13.640
Download
5
Tags:
Embed Size (px)
DESCRIPTION
The objectives of this workshop are the following: Use two 45 min activities to simulate the software development cycle. One will make use of a Waterfall approach, while the other will make use of an Agile approach to help participants experience the different outcomes of each methodology. Introduce Agile as an adaptive, intuitive learning experience while cautioning participants that it is not a silver bullet. (People OVER Process.) Demonstrate and emphasize the importance of communication and feedback on software projects. (Collaboration OVER Throw-It-Over-The-Wall.) Assign participants to different roles that exist within a development team to help them look at software development from different perspectives and gain better understanding of and respect for team work.
Citation preview
Licensed Under Creative Commons by Naresh Jain
Waterfall to Agile Demo
Embrace Change
Naresh [email protected]
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