the best agile process
DESCRIPTION
How do you pick the best agile process for your team/organization? Is it XP? Scrum? Kanban? or something more traditional like TSP? This presentation will tell you which is the best process.TRANSCRIPT
RALLYS O F T W A R E
The BEST agile process
A discussion of XP, Scrum, Kanban… and TSP
Twitter: @LMaccherone
THERE ARE NO BEST
PRACTICES…
ONLY GOOD PRACTICES…
…IN CONTEXT
Drag picture to placeholder or click icon to add
Twitter: @LMaccherone
LARRYMACCHERONETwitter: @LMaccherone
RALLYS O F T W A R E
What is Agile?
VALUES+
Controller System
Sensor
ReferenceMeasured
error
Measured output
Systeminput System output+
-
Twitter: @LMaccherone
RALLYS O F T W A R E
TRADITIONAL/DMAIC
AGILE
PROCESS FEEDBACKFORMAL, AND CAN BE HEAVY WEIGHT LIGHT BUT OFTEN
PRODUCT AND DESIGN FEEDBACK
?EARLY, OFTEN, AND CLOSE TO THE CUSTOMER
PLAN FEEDBACK ?FREQUENT BUT
QUICK
DOMINANT VALUE PLANNING/CONTROL COLLABORATION
Twitter: @LMaccherone
RALLYS O F T W A R E
Every great cause begins as a movement, becomes a business, and turns into a racket.
~Christopher McDougall
Twitter: @LMaccherone
RALLYS O F T W A R E
AGILE
Scrum
Kanban XP
many others TSP
Twitter: @LMaccherone
RALLYS O F T W A R E
How is agile different?
REDUCTION IN COORDINATION
COSTS
(XP)
REDUCTION IN
EVOLUTION COSTS
(KANBAN)
CHANGE IN FEEDBACK EMPHASIS
(SCRUM)
Twitter: @LMaccherone
XP
FOCUS: ENGINEERING
PRACTICES
BEST AT:REDUCTION IN
COORDINATION COSTS
Build the thing right!
Twitter: @LMaccherone
RALLYS O F T W A R E
Twitter: @LMaccherone
RALLYS O F T W A R E
Twitter: @LMaccherone
RALLYS O F T W A R E
XP: Reduces coordination costs
• Continuous integration
• Test driven development• Test-first design• Comprehensive test
suites
• Simple design• Refactoring• System metaphor
• Also:• Coding standard• Whole team• Pair programming• Collective code
ownership
Twitter: @LMaccherone
RALLYS O F T W A R E
Simple design
1. All tests must pass
2. No code is duplicated
3. Code is self-explanatory
4. No superfluous parts exist
1. Passes tests (given TDD)
2. Minimizes duplication
3. Maximizes clarity (great identifiers)
4. Has fewer elements
Twitter: @LMaccherone
SCRUM
FOCUS:PROJECT
MANAGEMENT
BEST AT:CHANGE IN FEEDBACK EMPHASIS
Build the right
thing!
Twitter: @LMaccherone
RALLYS O F T W A R E
ProjectInceptionDiscovery
Assessment
Iteration 0
Set up Project
Infrastructure
TargetSystem
Iteration 1 Iteration 2 Iteration 3 Iteration n
AG
ILEPROJECT
LIFECYCLE
release 1 release n
Incremental delivery in time-boxed iterations
Twitter: @LMaccherone
RALLYS O F T W A R E
Product
Backlog
Iteration
Backlog
Iteration
2-4 Weeks
DailyMeeting
ProductIncrement
SCRUMMECHANICS
Twitter: @LMaccherone
What did youwork on yesterday?
What are youcommitting to today?
Do you have anyimpediments?
STAND-UPDAILY
Twitter: @LMaccherone
RALLYS O F T W A R E
POTENTIALLY SHIPPABLE PRODUCT
Demo and get feedback EVERY SPRINT!!!
Twitter: @LMaccherone
RALLYS O F T W A R E
Burndown chart
Twitter: @LMaccherone
ROLESSCRUM
RALLYS O F T W A R E
Scrum framework
Product Increment
Daily
Daily Scrum Meeting
Planning Meeting• Revisit Release Plan• Review Product Backlog• Create Sprint Backlog• Commit to 2-4 weeks of work
Sprint Backlog• Product Backlog Items assigned
to Sprint• Emergent list of estimated tasks
Vision
2-4 weeksSprint Retrospective
Product BacklogPrioritized Featuresdesired by Customer
Sprint Review (Demo)
Release Planning
Burndown Chart
Twitter: @LMaccherone
KANBAN
FOCUS:INCREMENTAL IMPROVEMENT
BEST AT:REDUCTION IN
EVOLUTION COSTS
Go faster! Get
better!
Twitter: @LMaccherone
RALLYS O F T W A R E
A kanban
Twitter: @LMaccherone
RALLYS O F T W A R E
Characteristics of the Kanban Method
0. Start where you are
1. Visualize workflow
2. Limit WIP
3. Make management policies explicit
4. Manage flow
5. Improve collaboratively
Adapted from Kanban by David J. Anderson
Twitter: @LMaccherone
0. Start where you are
RALLYS O F T W A R E
1. Visualize workflow
Twitter: @LMaccherone
RALLYS O F T W A R E
1. Visualize workflow
RALLYS O F T W A R E
2. Limit work in process (WIP)
Twitter: @LMaccherone
RALLYS O F T W A R E
3. Make policies explicit
Twitter: @LMaccherone
RALLYS O F T W A R E
4. Manage flow: watch WIP
Twitter: @LMaccherone
RALLYS O F T W A R E
5. Improve collaboratively:measure outcomes
Twitter: @LMaccherone
RALLYS O F T W A R E
5. Improve collaboratively:use data for decision making
Twitter: @LMaccherone
RALLYS O F T W A R E
The Team Software Process (TSP)
Where does it fit?
Twitter: @LMaccherone
RALLYS O F T W A R E
How is agile
different?
Coordination costs
Evolution costs
Feedback emphasis
Aspects of agile
Build the thing right
Build the right thing
Improve
XP
Scrum
Kanban
Product evolution also (TSP, design,
design patterns)
Twitter: @LMaccherone
RALLYS O F T W A R E
I recommend
1. Adopt XP engineering practices.• Add peer review.
• Add design patterns and possibly more design/design review.
2. If you are doing product design and new to agile, adopt Scrum.
3. If you are doing IT work, or have a mature agile culture, or can’t accept all of Scrum’s changes, adopt Kanban.
4. If you need CMMi, adopt TSP.
5. If safety is critical, consider Crystal.
6. Buy Rally Software.
Twitter: @LMaccherone
LARRYMACCHERONETwitter: @LMaccherone
RALLYS O F T W A R E
Credits
• Kanban content. Rick Simmons.([email protected])
• Scrum content. Various at Rally Software.
• XP content. Mostly from Kent Beck.
• Simple design. Alistair McKinnell, Declan Whelan.