Scaling The Heights of Agile (aka Scaling and Measuring Agile)

34
Scaling The Heights of Agile (aka Scaling and Measuring Agile)

description

Scaling The Heights of Agile (aka Scaling and Measuring Agile). Damon Poole. Chief Agilist , Eliassen Group’s Agile Practice Coaching: Transformation and Tune-ups Training Staffing 20 years of process change ranging from small co-located teams to multi-hundred team global enterprises - PowerPoint PPT Presentation

Transcript of Scaling The Heights of Agile (aka Scaling and Measuring Agile)

Page 1: Scaling The Heights of Agile (aka Scaling  and Measuring Agile)

Scaling The Heights of Agile(aka Scaling and Measuring Agile)

Page 2: Scaling The Heights of Agile (aka Scaling  and Measuring Agile)

Damon Poole

Chief Agilist, Eliassen Group’s Agile Practice• Coaching: Transformation and Tune-ups• Training• Staffing

20 years of process change ranging from small co-located teams to multi-hundred team global enterprises

Founder and past CTO and CEO of AccuRev Creator of multiple Jolt-award winning products Past President of Agile New England Author of “DIY Agile Kickstart”

Page 3: Scaling The Heights of Agile (aka Scaling  and Measuring Agile)

Agenda

Scaling Agile Institutional Headwinds and Tailwinds Measuring Success

Page 4: Scaling The Heights of Agile (aka Scaling  and Measuring Agile)

Scaling Agile

Page 5: Scaling The Heights of Agile (aka Scaling  and Measuring Agile)

“Scaling”

What do we mean by “scaling?” A typical definition of scaling:

• Adding more resources adds proportionally more capacity for doing work

Does traditional development scale?

Page 6: Scaling The Heights of Agile (aka Scaling  and Measuring Agile)

Each Feature is Comprised of Many Aspects

#define a b/* * This is great code. */bool doStuff ( ) { index++;}

Page 7: Scaling The Heights of Agile (aka Scaling  and Measuring Agile)

A Typical Iteration#define a b/* * This is great code. */bool doStuff ( ) { index++;}

#define a b/* * This is great code. */bool doStuff ( ) { index++;}

#define a b/* * This is great code. */bool doStuff ( ) { index++;}

#define a b/* * This is great code. */bool doStuff ( ) { index++;}

Traveller wants to see their upcoming trips

2

Tom

Traveller wants to delete a booking

1

Sue

Traveller wants to enter a booking

3

Bob

Traveller wants to register with the system

3

Sue

Admin wants a report of site-wide activity

5

Bob

Traveller wants to edit a booking

2

Tom

#define a b/* * This is great code. */bool doStuff ( ) { index++;}

#define a b/* * This is great code. */bool doStuff ( ) { index++;}

Page 8: Scaling The Heights of Agile (aka Scaling  and Measuring Agile)

“One Piece Flow”

#define a b/* * This is great code. */bool doStuff ( ) { index++;}

#define a b/* * This is great code. */bool doStuff ( ) { index++;}

#define a b/* * This is great code. */bool doStuff ( ) { index++;}

#define a b/* * This is great code. */bool doStuff ( ) { index++;}

#define a b/* * This is great code. */bool doStuff ( ) { index++;}

#define a b/* * This is great code. */bool doStuff ( ) { index++;}

#define a b/* * This is great code. */bool doStuff ( ) { index++;}

#define a b/* * This is great code. */bool doStuff ( ) { index++;}

#define a b/* * This is great code. */bool doStuff ( ) { index++;}

Done! Done! Done!

Done!

Page 9: Scaling The Heights of Agile (aka Scaling  and Measuring Agile)

Agile in Action

Customers / Market

Product Mgmt

$

Page 10: Scaling The Heights of Agile (aka Scaling  and Measuring Agile)

One piece flow across multiple teams

$Customers / Market

Product Mgmt

Page 11: Scaling The Heights of Agile (aka Scaling  and Measuring Agile)

Inspect and Adapt (Self-healing)

Organizations, people, projects, markets are constantly changing

Healthy Agile requires constant monitoring and adjustment

Typical inspect and adapt mechanisms• Standups• “Scrum of Scrums”• Retrospectives• Stop the line

Page 12: Scaling The Heights of Agile (aka Scaling  and Measuring Agile)

Escalation Tree

S109:00am –09:15am

S209:30am –09:45am

Daily standupManagement involvement

Action Items OwnerTeam Z’s build server is downCover Joe’s unexpected absenceResolve dependency between team X & Y

Rapid turnaround.

Action Items OwnerTeam Z’s build server is down JoeCover Joe’s unexpected absence SusanResolve dependency between team X & Y

Pat

Page 13: Scaling The Heights of Agile (aka Scaling  and Measuring Agile)

Escalation Tree

1 hour

Frequent Retrospective

1 hour

Page 14: Scaling The Heights of Agile (aka Scaling  and Measuring Agile)

Institutional Headwinds and Tailwinds

Page 15: Scaling The Heights of Agile (aka Scaling  and Measuring Agile)

AgileTraditional

Page 16: Scaling The Heights of Agile (aka Scaling  and Measuring Agile)

AgileTraditional

Page 17: Scaling The Heights of Agile (aka Scaling  and Measuring Agile)

AgileTraditional

Page 18: Scaling The Heights of Agile (aka Scaling  and Measuring Agile)

Silos by Role – Focus on Operational Efficiency

BA’s / Product

Managers

Devs TestersArchitectsProjectManagers

Specialization and cost reduction

Page 19: Scaling The Heights of Agile (aka Scaling  and Measuring Agile)

Misaligned Goals

FunctionalGoals ✔ ✔ ✔ ✔ ✔ ✔

Project A Project B

Late, missing scope

Not as relevant as hoped

Page 20: Scaling The Heights of Agile (aka Scaling  and Measuring Agile)

Moving to Managing Business Value Delivery

Switch to business value delivery metrics Align everyone connected to a line of

business or product to the same goal: delivering of business value

Examples:• Old

number of defects found per release coding tasks completed

• New test coverage per new user story # of story points associated with done stories

Page 21: Scaling The Heights of Agile (aka Scaling  and Measuring Agile)

Fully Aligned Goals

SecondaryGoals

✔ ✔ ✔ ✔ ✔ ✔

PrimaryGoals ✔

Project A Project B

Page 22: Scaling The Heights of Agile (aka Scaling  and Measuring Agile)

One Solution: Organize around Business Value Delivery

Products, lines of business, and maximizing business value

Page 23: Scaling The Heights of Agile (aka Scaling  and Measuring Agile)

Faux Teams vs Real Teams

Page 24: Scaling The Heights of Agile (aka Scaling  and Measuring Agile)

Faux Teams vs Real Teams

Page 25: Scaling The Heights of Agile (aka Scaling  and Measuring Agile)

Faux Teams vs Real Teams

Page 26: Scaling The Heights of Agile (aka Scaling  and Measuring Agile)

Top Ten Self-Reinforcing Patterns

Area Traditional AgileDelivery focus Projects Products & releasesBusiness & IT interaction Big handoffs Daily interactionTeams Large, functional,

project-based, transient, & dynamic

Small, cross-functional, product-based, long standing & static

Metrics, incentives and goals

Functional and plan-based

Team and business value delivery based

Funding All or none As you goFeedback loops Slow Very fastProjects per person 2-5 1Test execution Primarily manual Automated & holisticIndividual Agile Skillset Low HighTools and technology Traditional Agile-oriented

Page 27: Scaling The Heights of Agile (aka Scaling  and Measuring Agile)

Measuring Success

Page 28: Scaling The Heights of Agile (aka Scaling  and Measuring Agile)

Measuring Success

Net Promoter Score Profits Anecdotes related to business value

Page 29: Scaling The Heights of Agile (aka Scaling  and Measuring Agile)

Agile Organization Metrics

Area Current GoalDelivery focus Products & releasesBusiness & IT interaction Daily interactionTeams Small, cross-functional,

product-based, long standing & static

Metrics, incentives and goals

Team and business value delivery based

Funding As you goFeedback loops Very fastProjects per person 1Test execution Automated & holisticIndividual Agile Skillset HighTools and technology Agile-oriented

Page 30: Scaling The Heights of Agile (aka Scaling  and Measuring Agile)

Additional Metrics

Shippability Work in Progress Cycle time

Page 31: Scaling The Heights of Agile (aka Scaling  and Measuring Agile)

Cycle Time

2 years 3 months

2 4 61 3 5 7

DevelopmentIntegration and testingPreparation

months

Page 32: Scaling The Heights of Agile (aka Scaling  and Measuring Agile)

Cycle Time

2 4 61 3 5 71 month iterations

Prep

Do

Ship

Prep

Do

Ship

Prep

Do

Ship

Prep

Do

Ship

Prep

Do

Ship

Prep

Do

Ship

Page 33: Scaling The Heights of Agile (aka Scaling  and Measuring Agile)

Cycle Time

2 4 61 3 5 71 month iterations

Prep

Do

Ship

Cycle Time

Page 34: Scaling The Heights of Agile (aka Scaling  and Measuring Agile)

Q&A

Email: [email protected]

Web: www.eliassen.com

Twitter: @damonpoole

Blog: damonpoole.blogspot.com