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

Post on 24-Feb-2016

74 views 1 download

Tags:

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

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”

Agenda

Scaling Agile Institutional Headwinds and Tailwinds Measuring Success

Scaling 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?

Each Feature is Comprised of Many Aspects

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

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++;}

“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!

Agile in Action

Customers / Market

Product Mgmt

$

One piece flow across multiple teams

$Customers / Market

Product Mgmt

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

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

Escalation Tree

1 hour

Frequent Retrospective

1 hour

Institutional Headwinds and Tailwinds

AgileTraditional

AgileTraditional

AgileTraditional

Silos by Role – Focus on Operational Efficiency

BA’s / Product

Managers

Devs TestersArchitectsProjectManagers

Specialization and cost reduction

Misaligned Goals

FunctionalGoals ✔ ✔ ✔ ✔ ✔ ✔

Project A Project B

Late, missing scope

Not as relevant as hoped

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

Fully Aligned Goals

SecondaryGoals

✔ ✔ ✔ ✔ ✔ ✔

PrimaryGoals ✔

Project A Project B

One Solution: Organize around Business Value Delivery

Products, lines of business, and maximizing business value

Faux Teams vs Real Teams

Faux Teams vs Real Teams

Faux Teams vs Real Teams

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

Measuring Success

Measuring Success

Net Promoter Score Profits Anecdotes related to business value

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

Additional Metrics

Shippability Work in Progress Cycle time

Cycle Time

2 years 3 months

2 4 61 3 5 7

DevelopmentIntegration and testingPreparation

months

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

Cycle Time

2 4 61 3 5 71 month iterations

Prep

Do

Ship

Cycle Time

Q&A

Email: dpoole@eliassen.com

Web: www.eliassen.com

Twitter: @damonpoole

Blog: damonpoole.blogspot.com