effective agile. @rjocham effective agile.
Ralph Jocham • Started as programmer; discovered process as a problem early on • First Unified Process with UML • Agile since 2000 with XP • Scrum in 2003 • Oracle, LinkedIn, Roche, Google, The Gap, Swisscom, Texas Instruments, Siemens Medical,
ThoughtWorks, JPMorganChase • Did come around, different cultures and domains • Founder of effective agile. • Trainer with Scrum.org
1 Product
25-‐Oct-‐12 effective agile. 4
1 Project
1 Scrum Team
Easy
1 Product
25-‐Oct-‐12 effective agile. 5
1 Project
n Scrum Teams
OK
n Products
25-‐Oct-‐12 effective agile. 6
n Projects
n Scrum Teams ?
25-‐Oct-‐12 effective agile. 7
Work is organized by activity
è Big Batches
Plan Analyze Design Code Test Release
è Major Releases
Phases and FTE/Multitasking
25-‐Oct-‐12 effective agile. 8
(source: Johanna Rothman)
Number of active projects
Ability of people to finish projects quickly Competition for people’s time
Ease of managing the portfolio Number of completed projects
Number of new projects that start
leads to
leads to
leads to
reduces leads to
reduces
leads to
reduces
Number of emergency projects that must start
reduces
perpetuates
Dev
Release Planning Design Release Analysis Dev Tes@ng
Planning Design Release Analysis Tes@ng
Design Dev Tes@ng Release
100%
50% 40%
Planning Design Release Analysis Dev Tes@ng
Planning Design Release Analysis Dev Tes@ng
100%
Major Release
Major Release
Major Release
Major Release
Dev
25-‐Oct-‐12 effective agile.
(Source: Gerald Weinberg, Quality SoLware Management: Systems Thinking) V1 © 2012 Ralph Jocham effective agile. www.effectiveagile.com
n Products
25-‐Oct-‐12 effective agile. 10
n Projects
n Scrum Teams ?
Scrum is Fractal
25-‐Oct-‐12 effective agile. 11
Strategy
Portfolio
We can apply the same principles of the micro at macro level …
25-‐Oct-‐12 effective agile. 12
Product
Release
Sprint
Daily Product Backlog
Portfolio Backlog Prioritize
Prioritize
25-‐Oct-‐12 effective agile. 13
Is this enough?
Three primary release strategies
25-‐Oct-‐12 effective agile. 14
Major
Minor
Minor Minor
Minor
Functional
(source: ADM)
Lots of changes, happen infrequently, freezes other work, relatively stale functionality, high customer absorption costs.
Individual pieces of functionality, happen often, most important piece of functionality at the time, relatively low customer absorption costs.
Lots of broad changes, happen more frequently, often not cohesive, often bug fixes instead of new functionality.
25-‐Oct-‐12 effective agile. 15
Prioritized Portfolio
with
Functional Releases
25-‐Oct-‐12 effective agile. 16
Two problems to solve
What does this mean for our requirements?
How can we do this?
Release Docs
25-‐Oct-‐12 effective agile. 17
Classic approach
MRD PRD SRS Dev Drop 1 to QA
Drop 2 to QA
System test and bug fix
Test Drop 2
Ports, Certs
Test Drop 1
(source: Dean Leffingwell)
External Release
25-‐Oct-‐12 effective agile. 18
Wanted approach
Release Docs
Sprint Harden Sprint Sprint Harden
Ports, Certs (source: Dean Leffingwell)
External Release
Sprint Sprint Sprint
Start
Release Docs
Sprint
External Release
Sprint Sprint Sprint
Ports, Certs
Release Docs
Sprint
External Release
Sprint Sprint Sprint
Ports, Certs
Target
25-‐Oct-‐12 effective agile. 19
How can we do this
1. More Frequent releases – at least four per calendar year 2. Develop a cadence for the releases 3. Automate the build and deploy process 4. Enforce a prudent Definition of Done 5. Reduce the cycle time continuously
à Release Train
Release 1 Release 2 Release 3 Release 4
Release Docs
Sprint
External Release
Sprint Sprint Sprint
Ports, Certs
25-‐Oct-‐12 effective agile. 20
What does this mean for our requirements
à No more Projects
1. We need features for every release train 2. Break down the projects into the contained features 3. Reduce the feature granularity 4. Assign right sized work to Dev Teams (not resources to problems)
25-‐Oct-‐12 effective agile. 21
F3 $
F2 $
F1 $
F3 $
Project 1 Project 2 Project 3
F4 $
F2 $
F3 $
F1 $
F5 $
F1 $
F3 $
F5 $ F4
$
F4 $
F2 $
F1 $
F5 $
F3
$
F6
$
Software Development Black Box
Release 1 Release 2 Release 3 Release 4
F4 $
F4 $
F1 $
F5 $ F2
$
F1 $
F4 $
F6
$F5
$
F3
$
F5 $
$ = predicted ROI of feature
Project = project
F4 = feature of project
capacity is 4 features per release F3 F1
F4 F4 F1
F3
F5
F2
priorising by business value and capacity
Release Train
1 per month
Release
Sprint n Sprint n+1
Team
C
Portfolio Management
Steering Board / PMO
Stra
tegi
c
Por
tfolio
P
rogr
am
Team
Release n Release n+1
High-Level Requirements
(Epics)
Pro
gram
Bac
klog
Product
Management
Release Management Ta
ctic
/Stra
tegi
c Area PO
Understood Requirements
(Features)
Team
B
Team
A
Scrum Teams
Executable Requirements (User Stories)
Team
Bac
klog
s Tact
ical
Scrum Teams are cross-functional Teams (Dev, Test,
BA, QA, …)
Product Owner, Scrum Master, Dev
Team
Team B
Team A
Team C
Con@nuous Integra@on / Deployment
Por
tfolio
Bac
klog
effective agile.
Release
Sprint n Sprint n+1
Team
C
Pro
gram
Te
am
Release n Release n+1 Pro
gram
Bac
klog
Product Management
Release Management Ta
ctic
/Stra
tegi
c Area PO
Understood Requirements
(Features)
Team
B
Team
A
Scrum Teams
Executable Requirements (User Stories)
Team
Bac
klog
s Tact
ical
Scrum Teams are cross-functional Teams (Dev, Test,
BA, QA, …)
Product Owner, Scrum Master, Dev
Team
Team B
Team A
Team C
Inte
grat
ion
Scru
m
effective agile.
Release
Sprint n Sprint n+1
Team
C
Team
Team
B
Team
A
Scrum Teams
Executable Requirements (User Stories)
Team
Bac
klog
s Tact
ical
Scrum Teams are cross-functional Teams (Dev, Test,
BA, QA, …)
Product Owner, Scrum Master, Dev
Team
Inte
grat
ion
Scru
m
Release Train
Life
C
ycle
effective agile.
Dev
Release Planning Design Release Analysis Dev Tes@ng
Planning Design Release Analysis Tes@ng
Design Dev Tes@ng Release
100%
50% 40%
Planning Design Release Analysis Dev Tes@ng
Planning Design Release Analysis Dev Tes@ng
100%
Major Release
Major Release
Major Release
Point Release V1
Point Release V4
Point Release V1.5
Point Release V4.2
Major Release
Dev
V1 © 2012 Ralph Jocham effective agile. www.effectiveagile.com
FR
FR
FR
FR
FR
FR
FR
FR
FR
FR
FR
FR
FR
Questions?
25-‐Oct-‐12 effective agile. 26
Ralph Jocham effective agile.
www.effec*veagile.com ralph.jocham@[email protected]
@rjocham
25-‐Nov-‐2011 effective agile. 27
References
• Manage your Project Por_olio: Increase Your Capacity and Finish More Projects, Johanna Rothman, Pragma@c Programmers, 2009
• Scaling SoLware Agilty: Best Prac@ces for Large Enterprises, Dean Leffingwell, Addison-‐Wesley, 2007
• SoLware in 30 Days: How Agile Managers Beat the Odds, Delight Their Customers and Leave the Compe@tors in the Dust, Ken Schwaber & Jeff Sutherland, Wiley, 2012