Waterfall to Agile Demo

24
Licensed Under Creative Commons by Naresh Jain Waterfall to Agile Demo Embrace Change Naresh Jain [email protected] 1

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.

Transcript of Waterfall to Agile Demo

Page 2: Waterfall to Agile Demo

Licensed Under Creative Commons by Naresh Jain

Introduction to the activity

Waterfall phase

Retrospective

Build-Your-Process phase

Retrospective

Conclusion

Agenda

2

Page 3: Waterfall to Agile Demo

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

Page 4: Waterfall to Agile Demo

Licensed Under Creative Commons by Naresh Jain

Requirements

Analysis

Design

Implementation

MaintenanceTesting

Integration

Classic Waterfall Method

4

Page 5: Waterfall to Agile Demo

Licensed Under Creative Commons by Naresh Jain

Requirements

Analysis

Design

Implementation

MaintenanceTesting

Integration

Classic Waterfall Method

4

Page 6: Waterfall to Agile Demo

Licensed Under Creative Commons by Naresh Jain

Customer

Analyst

Architect

Implementer

TesterAnalysisPhase

DesignPhase

CodingPhase Testing

Phase

UATPhase

Traditional Process

5

Page 7: Waterfall to Agile Demo

Licensed Under Creative Commons by Naresh Jain

Customer

Analyst

Architect

Implementer

TesterAnalysisPhase

DesignPhase

CodingPhase Testing

Phase

UATPhase

Traditional Process

5

Page 8: Waterfall to Agile Demo

Licensed Under Creative Commons by Naresh Jain

Customer

Analyst

Architect

Implementer

TesterAnalysisPhase

DesignPhase

CodingPhase Testing

Phase

UATPhase

Traditional Process

5

Page 9: Waterfall to Agile Demo

Licensed Under Creative Commons by Naresh Jain

Customer

Analyst

Architect

Implementer

TesterAnalysisPhase

DesignPhase

CodingPhase Testing

Phase

UATPhase

Traditional Process

5

Page 10: Waterfall to Agile Demo

Licensed Under Creative Commons by Naresh Jain

Customer

Analyst

Architect

Implementer

TesterAnalysisPhase

DesignPhase

CodingPhase Testing

Phase

UATPhase

Traditional Process

5

Page 11: Waterfall to Agile Demo

Licensed Under Creative Commons by Naresh Jain

Customer

Analyst

Architect

Implementer

TesterAnalysisPhase

DesignPhase

CodingPhase Testing

Phase

UATPhase

Traditional Process

5

Page 12: Waterfall to Agile Demo

Licensed Under Creative Commons by Naresh Jain

Customer

Analyst

Architect

Implementer

TesterAnalysisPhase

DesignPhase

CodingPhase Testing

Phase

UATPhase

Traditional Process

5

Page 13: Waterfall to Agile Demo

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

Page 14: Waterfall to Agile Demo

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

Page 15: Waterfall to Agile Demo

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

Page 16: Waterfall to Agile Demo

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

Page 17: Waterfall to Agile Demo

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

Page 18: Waterfall to Agile Demo

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

Page 19: Waterfall to Agile Demo

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

Page 20: Waterfall to Agile Demo

Licensed Under Creative Commons by Naresh Jain

What worked?

What did not work?

What will we do differently?

Waterfall Retrospective

13

Page 21: Waterfall to Agile Demo

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

Page 22: Waterfall to Agile Demo

Licensed Under Creative Commons by Naresh Jain

What worked?

What did not work?

What did we learn?

Retrospective

15

Page 23: Waterfall to Agile Demo

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