Transcript
Page 1: Ralph jocham agile portfolio based release trains

Twitter Hashtag

#ATBuc12

effective agile. Ralph Jocham [email protected]

Page 2: Ralph jocham agile portfolio based release trains

Agile Portfolio based

Release Trains

effective agile. Ralph Jocham [email protected]

Page 3: Ralph jocham agile portfolio based release trains

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 4: Ralph jocham agile portfolio based release trains

1 Product

25-­‐Oct-­‐12   effective agile. 4

1 Project

1 Scrum Team

Easy

Page 5: Ralph jocham agile portfolio based release trains

1 Product

25-­‐Oct-­‐12   effective agile. 5

1 Project

n Scrum Teams

OK

Page 6: Ralph jocham agile portfolio based release trains

n Products

25-­‐Oct-­‐12   effective agile. 6

n Projects

n Scrum Teams ?

Page 7: Ralph jocham agile portfolio based release trains

25-­‐Oct-­‐12   effective agile. 7

Work is organized by activity

è Big Batches

Plan Analyze Design Code Test Release

è Major Releases

Page 8: Ralph jocham agile portfolio based release trains

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

Page 9: Ralph jocham agile portfolio based release trains

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

Page 10: Ralph jocham agile portfolio based release trains

n Products

25-­‐Oct-­‐12   effective agile. 10

n Projects

n Scrum Teams ?

Page 11: Ralph jocham agile portfolio based release trains

Scrum is Fractal

25-­‐Oct-­‐12   effective agile. 11

Page 12: Ralph jocham agile portfolio based release trains

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

Page 13: Ralph jocham agile portfolio based release trains

25-­‐Oct-­‐12   effective agile. 13

Is this enough?

Page 14: Ralph jocham agile portfolio based release trains

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.

Page 15: Ralph jocham agile portfolio based release trains

25-­‐Oct-­‐12   effective agile. 15

Prioritized Portfolio

with

Functional Releases

Page 16: Ralph jocham agile portfolio based release trains

25-­‐Oct-­‐12   effective agile. 16

Two problems to solve

What does this mean for our requirements?

How can we do this?

Page 17: Ralph jocham agile portfolio based release trains

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

Page 18: Ralph jocham agile portfolio based release trains

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

Page 19: Ralph jocham agile portfolio based release trains

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

Page 20: Ralph jocham agile portfolio based release trains

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)  

Page 21: Ralph jocham agile portfolio based release trains

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

Page 22: Ralph jocham agile portfolio based release trains

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.

Page 23: Ralph jocham agile portfolio based release trains

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 24: Ralph jocham agile portfolio based release trains

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.

Page 25: Ralph jocham agile portfolio based release trains

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 26: Ralph jocham agile portfolio based release trains

Questions?

25-­‐Oct-­‐12   effective agile. 26

Ralph Jocham effective agile.  

www.effec*veagile.com  ralph.jocham@[email protected]  

@rjocham  

Page 27: Ralph jocham agile portfolio based release trains

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