Agile Portfolio based Release TrainsRalph Jocham effective agile. firstname.lastname@example.org
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. email@example.com
1 Product OK 1 Project n Scrum Teams25-‐Oct-‐12 effective agile. 5
n Products n Projects ? n Scrum Teams25-‐Oct-‐12 effective agile. 6
Work is organized by activity Plan Analyze Design Code Test Release è Big Batchesè Major Releases25-‐Oct-‐12 effective agile. 7
Phases and FTE/Multitasking Number of emergency projects that must start reduces leads toNumber of new projectsthat 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
n Products n Projects ? n Scrum Teams25-‐Oct-‐12 effective agile. 10
Scrum is Fractal25-‐Oct-‐12 effective agile. 11
We can apply the sameprinciples of the micro atmacro level … Strategy Portfolio Product Prioritize Portfolio Backlog Release Prioritize Sprint Daily Product Backlog25-‐Oct-‐12 effective agile. 12
Is this enough?25-‐Oct-‐12 effective agile. 13
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
Prioritized Portfolio with Functional Releases25-‐Oct-‐12 effective agile. 15
Two problems to solveHow can we do this? What does this mean for our requirements?25-‐Oct-‐12 effective agile. 16
Classic approach External Release Release Docs Drop 1 to Drop 2 to System test and bugMRD PRD SRS Dev fix QA QA Test Drop Test Drop 1 2 Ports, Certs(source: Dean Leffingwell)25-‐Oct-‐12 effective agile. 17
How can we do this1. More Frequent releases – at least four per calendar year External Release2. Develop a cadence for the releases3. Automate the build and deploy process Release Docs Sprint Sprint Sprint Sprint4. Enforce a prudent Definition of Done5. Reduce the cycle time continuously Ports, Certsà Release Train Release 4 Release 3 Release 2 Release 1 25-‐Oct-‐12 effective agile. 19
What does this meanfor our requirements1. 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 Projects25-‐Oct-‐12 effective agile. 20
$ $ 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 TrainRelease 4 Release 3 Release 2 Release 1 1 per month 25-‐Oct-‐12 effective agile. 21
Steering Portfolio Backlog Strategic Board / PMOPortfolio High-Level Requirements (Epics) Portfolio Management Tactic/Strategic Area PO Team C Program BacklogProgram 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.
Tactic/Strategic Area PO Team C Program BacklogProgram 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.
Tactical Team C Scrum Teams Team Backlogs Product Team B Owner, ScrumTeam 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.
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 Leﬃngwell, 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 & Jeﬀ Sutherland, Wiley, 2012 25-‐Nov-‐2011 effective agile. 27