Upload
corinne-hardman
View
218
Download
1
Tags:
Embed Size (px)
Citation preview
© 2012 Eliassen Group. All Rights Reserved -1-
Agile in a Nutshell
© 2012 Eliassen Group. All Rights Reserved -2-
Damon Poole
• Chief Agilist, Eliassen Group’s Agile Practice– Coaching: Transformation and Tune-ups– Training
• 20 years of process change: 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”• Consulted with Ford IT, Orbitz, Fidelity, Capital One,
ING Direct, and many others• Taught Agile techniques to thousands of people
© 2012 Eliassen Group. All Rights Reserved -3-
What’s in a Feature?
Show loan status.
© 2012 Eliassen Group. All Rights Reserved -4-
Each Feature is Comprised of Many Aspects
✔
#define a b/* * This is great code. */bool doStuff ( ) { index++;}
© 2012 Eliassen Group. All Rights Reserved -5-
Every Project Contains Features of Many Sizes
© 2012 Eliassen Group. All Rights Reserved -6-
Customers / Market
Product Mgmt Architects
Dev Teams
Project Mgmt
Testers
Traditional Development – Internal View
$
Releng
© 2012 Eliassen Group. All Rights Reserved -7-
Product Mgmt
Customers / Market
Architects
Dev Teams
Project Mgmt
Testers
Traditional Development – Customer View
$
Done
Releng
© 2012 Eliassen Group. All Rights Reserved -8-
$
© 2012 Eliassen Group. All Rights Reserved -9-
$
Todo• this• that• more• other
#define a b/* * This is great code. */bool doStuff ( ) { index++;}
What
Who?
Why?
© 2012 Eliassen Group. All Rights Reserved -10-
$
Todo• this• that• more• other
Additional Value Added
$Customers / Market
#define a b/* * This is great code. */bool doStuff ( ) { index++;}
© 2012 Eliassen Group. All Rights Reserved -11-
Todo• this• that• more• other
Additional Value Added
Customers / Market
$
© 2012 Eliassen Group. All Rights Reserved -12-
$
Todo• this• that• more• other
Additional Value Added
$Customers / Market
#define a b/* * This is great code. */bool doStuff ( ) { index++;} $
© 2012 Eliassen Group. All Rights Reserved -13-
Todo• this• that• more• other
Additional Value Added
Customers / Market
$
What
Who Why
© 2012 Eliassen Group. All Rights Reserved -14-
Todo• this• that• more• other
Additional Value Added
Customers / Market
$
© 2012 Eliassen Group. All Rights Reserved -15-
Software Development Nirvana
Customers / Market$
© 2012 Eliassen Group. All Rights Reserved -16-
The Agile Methodology
A Step by Step Guide
© 2012 Eliassen Group. All Rights Reserved -17-
Agile Manifesto – Values and Principles
“Working software is the primary measure of progress.”
Done!
Scrum? Kanban?
XP? ?
© 2012 Eliassen Group. All Rights Reserved -18-
$5Mper lane
$11M per lane10 Lanes:
$50M
10 Lanes: $110MMoney for another
investment: $60M
“Simplicity -- the art of maximizing the amount of work not done – is essential.”
© 2012 Eliassen Group. All Rights Reserved -19-
Agile Techniques Come From the Agile Community
ScrumKanbanXPContinuous IntegrationTDDEtc.
Agile Manifesto Agile Community Agile Toolkit
© 2012 Eliassen Group. All Rights Reserved -20-
© 2012 Eliassen Group. All Rights Reserved -21-
The Miami Marlins for the World Series Project
© 2012 Eliassen Group. All Rights Reserved -22-
User Story
Traveller wants tobook a trip so thatthey can go to their destination
Who
What
Why
© 2012 Eliassen Group. All Rights Reserved -23-
Backlog
Traveller wants to see their upcoming trips
2
Tom
Admin wants a report of site-wide activity
5
Bob
Traveller wants to edit a booking
3
Tom
Traveller wants to delete a booking
1
Sue
Traveller wants to copy a booking
2
Bob
Traveller wants to enter a booking
5
Bob
Traveller wants to link to on-line check-in
2
Traveller wants to link to cancel a booking
2
Traveller wants to move a booking
2
Bob
Most Value
Least Value
Product
© 2012 Eliassen Group. All Rights Reserved -24-
Negotiation Tool
Traveller wants to see their upcoming trips
2
Tom
Admin wants a report of site-wide activity
5
Bob
Traveller wants to edit a booking
3
Tom
Traveller wants to delete a booking
1
Sue
Traveller wants to copy a booking
2
Bob
Traveller wants to enter a booking
5
Bob
Traveller wants to link to on-line check-in
2
Traveller wants to link to cancel a booking
2
ReleaseTraveller wants to move a booking
2
Bob
Traveller wants to e-mail an airline booking
2 Iteration 1Iteration 2
“Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.”
© 2012 Eliassen Group. All Rights Reserved -25-
Done
Agile Development – Quick Overview
Higher Quality Options Visibility
Higher ROI Faster
PaypassFacebookTexting
Person to person
TextingPaypass
4 week iteration
e-mailSpend Cushions
Initial backlog for project to provide limited debit card to teens
TEAM
Person2person
ANIMATEDSwitch to
presentation mode for proper
viewing
© 2012 Eliassen Group. All Rights Reserved -26-
Eliassen Group Agile Model
ARCHITECTURE
AGILE OFFICE
I3I2I1
RELEASE TEAM
USER
STORIES
TEAMS
CONTINUOUS
INTEGRATION
EPICS
LOB LEADERSLOB CUSTOMERS
MAN
AGEM
ENT
ESCALATION
© 2012 Eliassen Group. All Rights Reserved -27-
AgileTraditional
© 2012 Eliassen Group. All Rights Reserved -28-
AgileTraditional
© 2012 Eliassen Group. All Rights Reserved -29-
AgileTraditional
© 2012 Eliassen Group. All Rights Reserved -30-
AgileTraditional
© 2012 Eliassen Group. All Rights Reserved -31-
Misaligned, Functional Goals
FunctionalGoals
✔ ✔ ✔ ✔ ✔ ✔
Project A Project B
Late, missing scope
Not as relevant as hoped
© 2012 Eliassen Group. All Rights Reserved -32-
One Solution: Organize around Business Value Delivery
Line of Business A
Line of Business B
✔✔
© 2012 Eliassen Group. All Rights Reserved -33-
Top Ten Headwinds and Tailwinds
Area Traditional AgileOrganizational structure Function and project Product, team, deliveryBusiness & IT interaction Big handoffs Daily interactionCompensation Individual and function
orientedTeam, business value delivery
Metrics Functional, plan based Team, business value deliveryFunding Full scope IncrementalImpediment raising Problems seen as
mistakesEncouraged, identified, raised, addressed
Management of teams Function, Cmd&Ctrl Delivery and self-organizationSkillset Traditional AgileTools and technology Traditional Agile-orientedManagement support Traditional Agile
© 2012 Eliassen Group. All Rights Reserved -34-
Cycle Time
2 4 61 3 5 7
DevelopmentIntegration and
testingPreparation
months
9 11 138 10 12 14
© 2012 Eliassen Group. All Rights Reserved -35-
Cycle Time
2 4 61 3 5 7
Develo
pment
Integ
ration an
d
testi
ng
Prepara
tion
months
9 11 138 10 12 14
Develo
pment
Integ
ration an
d
testi
ng
Prepara
tion
© 2012 Eliassen Group. All Rights Reserved -36-
Cycle Time
2 4 61 3 5 7
DevelopmentIntegration and testingPreparation
months
© 2012 Eliassen Group. All Rights Reserved -37-
Cycle Time
2 4 61 3 5 7
1 month iterations
Prep
Do
Ship
Prep
Do
Ship
Prep
Do
Ship
Prep
Do
Ship
Prep
Do
Ship
Prep
Do
Ship
© 2012 Eliassen Group. All Rights Reserved -38-
Cycle Time
2 4 61 3 5 7
1 month iterations
Prep
Do
Ship
Cycle Time “Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.”
© 2012 Eliassen Group. All Rights Reserved -39-
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++;}
© 2012 Eliassen Group. All Rights Reserved -40-
“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!
© 2012 Eliassen Group. All Rights Reserved -41-
Agile in Action at the Team Level
Customers / Market
Product Mgmt
$
© 2012 Eliassen Group. All Rights Reserved -42-
Enterprise Agile
ARCHITECTURE
AGILE OFFICE
I3I2I1
RELEASE TEAM
USER
STORIES
TEAMS
CONTINUOUS
INTEGRATION
EPICS
LOB LEADERSLOB CUSTOMERS
MAN
AGEM
ENT
ESCALATION
© 2012 Eliassen Group. All Rights Reserved -43-
Q&A
damonpoole.blogspot.com