agile portfolio based release trains

13
1/5/17 1 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 18-Jan-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

1/5/17

1

Agile Portfoliobased

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]

1/5/17

2

1 Product

5-Jan-17 effective agile. 3

1 Project

1 Scrum Team

Easy

1 Product

5-Jan-17 effective agile. 4

1 Project

n Scrum Teams

OK

1/5/17

3

n Products

5-Jan-17 effective agile. 5

n Projects

n Scrum Teams?

5-Jan-17 effective agile. 6

Work is organized by activity

è Big Batches

è Major Releases

1/5/17

4

Phases and FTE/Multitasking

5-Jan-17 effective agile. 7

(source:JohannaRothman)

Number of active projects

Ability of people to finish projects quickly Competition for people’s time

Ease of managing the portfolioNumber of completed projects

Number of new projectsthat start

leads to

leads to

leads to

reducesleads to

reduces

leads to

reduces

Number of emergency projects that must start

reduces

perpetuates

Dev

ReleasePlanning Design ReleaseAnalysis Dev Testing

Planning Design ReleaseAnalysis Testing

Design Dev Testing Release

100%

50% 40%

Planning Design ReleaseAnalysis Dev Testing

Planning Design ReleaseAnalysis Dev Testing

100%

MajorRelease

MajorRelease

MajorRelease

MajorRelease

Dev

5-Jan-17 effective agile.

(Source:GeraldWeinberg,QualitySoftwareManagement:SystemsThinking)V1©2012RalphJochameffective agile.www.effectiveagile.com

1/5/17

5

n Products

5-Jan-17 effective agile. 9

n Projects

n Scrum Teams?

Scrum is Fractal

5-Jan-17 effective agile. 10

1/5/17

6

Strategy

Portfolio

We can apply the same principles of the micro at macro level …

5-Jan-17 effective agile. 11

Product

Release

Sprint

DailyProduct Backlog

Portfolio BacklogPrioritize

Prioritize

5-Jan-17 effective agile. 12

Is this enough?

1/5/17

7

Three primary release strategies

5-Jan-17 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.

5-Jan-17 effective agile. 14

Prioritized Portfolio

with

Functional Releases

1/5/17

8

5-Jan-17 effective agile. 15

Two problems to solve

What does this mean for our requirements?

How can we do this?

Release Docs

5-Jan-17 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

1/5/17

9

5-Jan-17 effective agile. 17

Wanted approach

Release Docs

Sprint HardenSprintSprint 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

5-Jan-17 effective agile. 18

How can we do this

1. More Frequent releases – at least four per calendar year2. Develop a cadence for the releases3. Automate the build and deploy process4. Enforce a prudent Definition of Done5. Reduce the cycle time continuously

à Release Train

Release1Release2Release3Release4

Release Docs

Sprint

External Release

Sprint Sprint Sprint

Ports, Certs

1/5/17

10

5-Jan-17 effective agile. 19

What does this mean for our requirements

à No more Projects

1. Weneedfeaturesforeveryreleasetrain2. Breakdowntheprojectsintothecontainedfeatures3. Reducethefeaturegranularity4. AssignrightsizedworktoDev Teams(notresourcestoproblems)

5-Jan-17 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 DevelopmentBlack Box

Release 1Release 2Release 3Release 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 releaseF3F1

F4F4F1

F3

F5

F2

priorising by business value and capacity

Release Train

1 per month

1/5/17

11

Release

Sprint n Sprint n+1

Team

C

Portfolio Management

Steering Board / PMO

Stra

tegi

c

Portf

olio

Prog

ram

Team

Release n Release n+1

High-Level Requirements

(Epics)

Prog

ram

Bac

klog

Product Management

Release Management Ta

ctic

/Stra

tegi

c

Area PO

Understood Requirements

(Features)

Team

BTe

am 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

ContinuousIntegration/Deployment

Portf

olio

Bac

klog

effective agile.

Release

Sprint n Sprint n+1

Team

C

Prog

ram

Team

Release n Release n+1Prog

ram

Bac

klog

Product Management

Release Management Ta

ctic

/Stra

tegi

cArea PO

Understood Requirements

(Features)

Team

BTe

am 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.

1/5/17

12

Release

Sprint n Sprint n+1

Team

C

Team Team

BTe

am 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

mRelease Train

Life

C

ycle

effective agile.

Dev

ReleasePlanning Design ReleaseAnalysis Dev Testing

Planning Design ReleaseAnalysis Testing

Design Dev Testing Release

100%

50% 40%

Planning Design ReleaseAnalysis Dev Testing

Planning Design ReleaseAnalysis Dev Testing

100%

MajorRelease

MajorRelease

MajorRelease

PointReleaseV1

PointReleaseV4

PointReleaseV1.5

PointReleaseV4.2

MajorRelease

Dev

V1©2012RalphJochameffective agile.www.effectiveagile.com

FR

FR

FR

FR

FR

FR

FR

FR

FR

FR

FR

FR

FR

1/5/17

13

Questions?

5-Jan-17 effective agile. 25

Ralph Jochameffective agile.

[email protected]

@rjocham

25-Nov-2011 effective agile. 26

References

• ManageyourProjectPortfolio:IncreaseYourCapacityandFinishMoreProjects,JohannaRothman,PragmaticProgrammers,2009

• ScalingSoftwareAgilty:BestPracticesforLargeEnterprises,DeanLeffingwell,Addison-Wesley,2007

• Softwarein30Days:HowAgileManagersBeattheOdds,DelightTheirCustomersandLeavetheCompetitorsintheDust,KenSchwaber &JeffSutherland,Wiley,2012