agile portfolio based release trains portfolio based... · agile portfolio based release trains...

13
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 [email protected]

Upload: others

Post on 26-Jul-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Agile Portfolio based Release Trains Portfolio Based... · Agile Portfolio based Release Trains Ralph Jocham effective agile. ralph.jocham@effectiveagile.com @rjocham effective agile

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

[email protected]

Page 2: Agile Portfolio based Release Trains Portfolio Based... · Agile Portfolio based Release Trains Ralph Jocham effective agile. ralph.jocham@effectiveagile.com @rjocham effective agile

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

Page 3: Agile Portfolio based Release Trains Portfolio Based... · Agile Portfolio based Release Trains Ralph Jocham effective agile. ralph.jocham@effectiveagile.com @rjocham effective agile

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

Page 4: Agile Portfolio based Release Trains Portfolio Based... · Agile Portfolio based Release Trains Ralph Jocham effective agile. ralph.jocham@effectiveagile.com @rjocham effective agile

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

Page 5: Agile Portfolio based Release Trains Portfolio Based... · Agile Portfolio based Release Trains Ralph Jocham effective agile. ralph.jocham@effectiveagile.com @rjocham effective agile

n Products

20#Aug#12( effective agile. 9

n Projects

n Scrum Teams ?

Scrum is Fractal

20#Aug#12( effective agile. 10

Page 6: Agile Portfolio based Release Trains Portfolio Based... · Agile Portfolio based Release Trains Ralph Jocham effective agile. ralph.jocham@effectiveagile.com @rjocham effective agile

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?

Page 7: Agile Portfolio based Release Trains Portfolio Based... · Agile Portfolio based Release Trains Ralph Jocham effective agile. ralph.jocham@effectiveagile.com @rjocham effective agile

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

Page 8: Agile Portfolio based Release Trains Portfolio Based... · Agile Portfolio based Release Trains Ralph Jocham effective agile. ralph.jocham@effectiveagile.com @rjocham effective agile

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

Page 9: Agile Portfolio based Release Trains Portfolio Based... · Agile Portfolio based Release Trains Ralph Jocham effective agile. ralph.jocham@effectiveagile.com @rjocham effective agile

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

Page 10: Agile Portfolio based Release Trains Portfolio Based... · Agile Portfolio based Release Trains Ralph Jocham effective agile. ralph.jocham@effectiveagile.com @rjocham effective agile

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

Page 11: Agile Portfolio based Release Trains Portfolio Based... · Agile Portfolio based Release Trains Ralph Jocham effective agile. ralph.jocham@effectiveagile.com @rjocham effective agile

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.

Page 12: Agile Portfolio based Release Trains Portfolio Based... · Agile Portfolio based Release Trains Ralph Jocham effective agile. ralph.jocham@effectiveagile.com @rjocham 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(

Page 13: Agile Portfolio based Release Trains Portfolio Based... · Agile Portfolio based Release Trains Ralph Jocham effective agile. ralph.jocham@effectiveagile.com @rjocham effective agile

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(