Scaling The Heights of Agile (aka Scaling and Measuring Agile)
description
Transcript of Scaling The Heights of Agile (aka Scaling and Measuring Agile)
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: [email protected]
Web: www.eliassen.com
Twitter: @damonpoole
Blog: damonpoole.blogspot.com