1. Twitter Hashtag
#ATBuc12
Ralph Jocham effective agile. ralph.jocham@effectiveagile.com
2. Agile Portfolio
based
Release Trains
Ralph Jocham effective agile. ralph.jocham@effectiveagile.com
3. 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
@rjocham effective agile. ralph.jocham@effectiveagile.com
5. 1 Product
OK
1 Project
n Scrum Teams
25-‐Oct-‐12
effective agile. 5
6. n Products
n Projects
?
n Scrum Teams
25-‐Oct-‐12
effective agile. 6
7. Work is organized
by activity
Plan Analyze Design Code Test Release
è Big Batches
è Major Releases
25-‐Oct-‐12
effective agile. 7
8. Phases and FTE/Multitasking
Number of emergency projects that must start
reduces
leads to
Number of new projects
that start reduces
Number of active projects
leads to
perpetuates
reduces
leads to
Number of completed projects Ease of managing the portfolio
leads to leads to
Ability of people to finish projects quickly Competition for people’s time
reduces
(source:
Johanna
Rothman)
25-‐Oct-‐12
effective agile. 8
12. We can apply the same
principles of the micro at
macro level …
Strategy
Portfolio
Product
Prioritize
Portfolio Backlog
Release
Prioritize
Sprint
Daily
Product Backlog
25-‐Oct-‐12
effective agile. 12
14. Three primary release strategies
Lots of changes, happen infrequently,
Major freezes other work, relatively stale
functionality, high customer absorption
costs.
Minor Lots of broad changes, happen more
Minor Minor frequently, often not cohesive, often
Minor bug fixes instead of new functionality.
Individual pieces of functionality,
happen often, most important piece of
Functional
functionality at the time, relatively low
customer absorption costs.
(source: ADM)
25-‐Oct-‐12
effective agile. 14
16. Two problems to solve
How can we do this?
What does this mean for our requirements?
25-‐Oct-‐12
effective agile. 16
17. Classic approach
External Release
Release Docs
Drop 1 to Drop 2 to System test and bug
MRD PRD SRS Dev fix
QA QA
Test Drop Test Drop
1 2
Ports, Certs
(source: Dean Leffingwell)
25-‐Oct-‐12
effective agile. 17
19. How can we do this
1. More Frequent releases – at least four per calendar year
External Release
2. Develop a cadence for the releases
3. Automate the build and deploy process
Release Docs
Sprint Sprint Sprint Sprint
4. Enforce a prudent Definition of Done
5. Reduce the cycle time continuously
Ports, Certs
à Release Train
Release
4
Release
3
Release
2
Release
1
25-‐Oct-‐12
effective agile. 19
20. What does this mean
for our requirements
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)
à No more Projects
25-‐Oct-‐12
effective agile. 20
21. $ $
F5 F6
Project 1 Project 2 Project 3
$
$
F3
$ $
$ F1 $ F3 $ F3 $ $
F5 $ F4 F1 F4 F1
F4 $
$ $ $
$ F4 $
F3 $ F5 F2 $
F5 $
F5
F2 $ F2 F3
$
F1 $
F5
$ F6
F2
$ $
F1
F3
$ $
$ F1
F4 priorising by business
F4 value and capacity
Project = project
F4 = feature of project
$ = predicted ROI of feature
Software Development
Black Box
capacity is 4 features per release
F2 F3 F1 F3
Release
F1 F5 F4 F4 Train
Release 4 Release 3 Release 2 Release 1 1 per month
25-‐Oct-‐12
effective agile. 21
22. Steering
Portfolio Backlog
Strategic
Board / PMO
Portfolio High-Level
Requirements
(Epics)
Portfolio
Management
Tactic/Strategic
Area PO Team C
Program Backlog
Program
Product Team B
Understood
Management Requirements Team A
(Features)
Release
Management Release n+1
Release n
Tactical
Team C
Scrum
Teams
Team Backlogs
Product
Team B
Owner, Scrum
Team
Master, Dev
Team
Release
Team A
Scrum Teams
are cross-functional Executable
Teams (Dev, Test, Requirements
BA, QA, …) (User Stories)
Sprint n Sprint n+1
Con@nuous
Integra@on
/
Deployment
effective agile.
23. Tactic/Strategic
Area PO Team C
Program Backlog
Program Product
Understood
Team B
Management Requirements Team A
(Features)
Release
Management Release n+1
Release n
Tactical
Team C
Scrum
Teams
Team Backlogs
Product
Team B
Owner, Scrum
Team
Master, Dev
Team
Release
Team A
Scrum Teams
are cross-functional Executable
Teams (Dev, Test, Requirements
BA, QA, …) (User Stories)
Sprint n Sprint n+1
Integration
Scrum
effective agile.
24. Tactical
Team C
Scrum
Teams
Team Backlogs
Product
Team B
Owner, Scrum
Team
Master, Dev
Team
Release
Team A
Scrum Teams
are cross-functional Executable
Teams (Dev, Test, Requirements
BA, QA, …) (User Stories)
Sprint n Sprint n+1
Release Train
Integration
Scrum
Life
Cycle
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
25-‐Nov-‐2011
effective agile. 27