from traditional software development process to scrum

25
Knowledge sharing: Scrum and other methodologies Son Nguyen, [email protected] YM & Skype: ng_thanhson

Upload: agile-vietnam

Post on 20-Jan-2015

1.797 views

Category:

Education


4 download

DESCRIPTION

Short overview from traditional software development to Scrum. What is the difference? Starting point for discussion at agile forum Vietnam.

TRANSCRIPT

Page 1: From traditional software development process to scrum

Knowledge sharing: Scrum and other methodologies

Son Nguyen, [email protected] & Skype: ng_thanhson

Page 2: From traditional software development process to scrum

Agenda Introduction Traditional methodologies My Scrum stories

Page 3: From traditional software development process to scrum

Introduction About me Just a brainstorming and discussion session Please be active

Page 4: From traditional software development process to scrum

Traditional methodologies

Page 5: From traditional software development process to scrum

Methodologies I used before

Waterfall

2003

UML

CMMi

Unified Process

XP

Scrum

TL9000

Continuous Integration

TDD

2008

2007

2006

2004

2005

Page 6: From traditional software development process to scrum

Lean history

Page 7: From traditional software development process to scrum

WaterfallRequirements

RequirementsAnalysis

ArchitectureDesign

DetailDesign

Implementation

Testing

Maintenance

Page 8: From traditional software development process to scrum

Waterfall Waterfall (plan driven) is a well known

methodology / process It has dependencies on phases (gated stages) In theory it works great but in practice it may not

work It is fundamentally based on an assembly-line

mentality for developing software -> no point to go back

No mechanism to deal with delays -> buffer -> over estimation

Page 9: From traditional software development process to scrum

The software factory

Page 10: From traditional software development process to scrum

Waterfall with feedback

Requirements

RequirementsAnalysis

ArchitectureDesign

DetailDesign

Implementation

Testing

Maintenance

Page 11: From traditional software development process to scrum

Waterfall with feedback

Can start working with incomplete requirements, architecture, design, …

Can go back to the previous step and update It is still messy for long time project Sometimes it is unpredictable for the project

delivery

Page 12: From traditional software development process to scrum

Iterative & IncrementalRequirement

s

Quick Design

Implementation

Evaluation & Update

Refine & Rework

Final Testing Release

Page 13: From traditional software development process to scrum

Iterative & Incremental Good for an environment of changing

requirements No methodology for each step Hard in the planning point of view Hard to maintain May cause a lot of reworks and increase cost

Page 14: From traditional software development process to scrum

My Scrum stories

Page 15: From traditional software development process to scrum

Agile - Scrum

Let’s Turn Our Thinking Upside Down

Page 16: From traditional software development process to scrum

Quick overview about Scrum

Page 17: From traditional software development process to scrum

People’s motivation Self-organization, disciplined, motivation,

ownership, and pride You may have to accept:

o Some first failed sprintso Give some not qualified members time and training to

adjust

Page 18: From traditional software development process to scrum

People’s motivation Adaptive process Higher commitment and discipline Flexibility and adaptiveness with work

requirements change Collaboration, freely to contribute … But be careful! There is nothing good at the first

time, you need to build it with right people

Page 19: From traditional software development process to scrum

Risk reduction No need to spend too much time in planning No code written in early phases for requirement

validation Communication issue Tester-developer schedule alignment No risk deferral Adaptive with requirement change … But be careful, don’t just do “Iterative”

Page 20: From traditional software development process to scrum

Risk reduction (lean)

Page 21: From traditional software development process to scrum

Value driven

Fixed Scope

VariableTime

VariableResources

Plan Driven

VariableScope

FixedTime

FixedResource

s

Value Driven

Page 22: From traditional software development process to scrum

Value driven Increasing Innovation Increase the quality of the deliverables Deliver the highest business value features first Onsite customer … It is not easy to do “Variable Scope”

Page 23: From traditional software development process to scrum

Focus on implementation

Remove organizational overhead Remove management pressure from teams Remove process / planning overhead … It is really hard and need support from your

management level

Page 24: From traditional software development process to scrum

Discussion

Page 25: From traditional software development process to scrum