Agile Portfolio based Release Trains Portfolio Based... · Agile Portfolio based Release Trains...
Transcript of Agile Portfolio based Release Trains Portfolio Based... · Agile Portfolio based Release Trains...
Agile Portfolio based
Release Trains
effective agile. Ralph Jocham [email protected]
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
20#Aug#12( effective agile. 3
1 Project
1 Scrum Team
Easy
1 Product
20#Aug#12( effective agile. 4
1 Project
n Scrum Teams
OK
n Products
20#Aug#12( effective agile. 5
n Projects
n Scrum Teams ?
20#Aug#12( effective agile. 6
Work is organized by activity
! Big Batches
Plan Analyze Design Code Test Release
! Major Releases
Phases and FTE/Multitasking
20#Aug#12( effective agile. 7
(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(
20#Aug#12( effective agile.
(Source:(Gerald(Weinberg,(Quality(SoKware(Management:(Systems(Thinking)(V1(©(2012(Ralph(Jocham(effective agile. www.effectiveagile.com
n Products
20#Aug#12( effective agile. 9
n Projects
n Scrum Teams ?
Scrum is Fractal
20#Aug#12( effective agile. 10
Strategy
Portfolio
We can apply the same principles of the micro at macro level …
20#Aug#12( effective agile. 11
Product
Release
Sprint
Daily Product Backlog
Portfolio Backlog Prioritize
Prioritize
20#Aug#12( effective agile. 12
Is this enough?
Three primary release strategies
20#Aug#12( effective agile. 13
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.
20#Aug#12( effective agile. 14
Prioritized Portfolio
with
Functional Releases
20#Aug#12( effective agile. 15
Two problems to solve
What does this mean for our requirements?
How can we do this?
Release Docs
20#Aug#12( effective agile. 16
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
20#Aug#12( effective agile. 17
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
20#Aug#12( effective agile. 18
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
20#Aug#12( effective agile. 19
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)(
20#Aug#12( effective agile. 20
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?
20#Aug#12( effective agile. 25
Ralph Jocham effective agile.(
www.effec*veagile.com$ralph.jocham@effec?veagile.com(
@rjocham(
25#Nov#2011( effective agile. 26
References
• Manage(your(Project(Por^olio:(Increase(Your(Capacity(and(Finish(More(Projects,(Johanna(Rothman,(Pragma?c(Programmers,(2009(
• Scaling(SoKware(Agilty:(Best(Prac?ces(for(Large(Enterprises,(Dean(Leffingwell,(Addison#Wesley,(2007(
• SoKware(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(