5. About me
@ziobrando
I do something else instead
@ziobrandoAbout me
avanscoperta
#DDD #Developer
#Coach
6. About me
@ziobrando
I do something else instead
@ziobrandoAbout me
avanscoperta
#DDD
#Agile
#Developer
#Coach
7. About me
@ziobrando
I do something else instead
@ziobrandoAbout me
avanscoperta
#DDD
#Agile
#Developer
#Coach
#Facilitator
8. About me
@ziobrando
I do something else instead
@ziobrandoAbout me
avanscoperta
#DDD
#Agile
#Developer
#EventStorming
#Coach
#Facilitator
9. About me
@ziobrando
I do something else instead
@ziobrandoAbout me
avanscoperta
#DDD
#Agile
#Developer
#EventStorming
#Coach
#Facilitator
#Consultant
10. About me
@ziobrando
I do something else instead
@ziobrandoAbout me
avanscoperta
#DDD
#Agile
#Lean
#Developer
#EventStorming
#Coach
#Facilitator
#Consultant
11. About me
@ziobrando
I do something else instead
@ziobrandoAbout me
avanscoperta
#DDD
#Agile
#Lean
#Entrepreneur
#Developer
#EventStorming
#Coach
#Facilitator
#Consultant
20. WE NEED A
BETTER HERO
Ladies Gentlemen, let me introduce you Mr…
21. Drummer with Nirvana
Singer Guitar with Foo
Fighters
Plus amazing appearances
(QoTS)
Cancelled a gig to bring the
daughter to a party
Didn’t cancel a show when he
broke his leg on stage.
22.
23. THE DARK SIDE
OF CAPACITY
PLANNING
SOMETHING REALLY BASIC: JUST IN
CASE
24. The setting
• Large organisations
• Multiple teams
• Many concurrent projects
• Shared portions of the
codebase
26. Empire’s capacity planning
I need a fixed story-point/man-day
ratio in order to convert the
estimation into FTE1s, so that I can
plan projects at full capacity.
FTE = Full Time Equivalent. A unit of cost traditionally abused in the empire
27. Empire’s capacity planning
I would be happy to get rid of this
agile stuff and just get Guaranteed
Dates of Delivery
30. Empire’s capacity planning
The business is growing so that I
need to hire more developers in
order to catch the new
opportunities
FTE = Full Time Equivalent. A unit of cost traditionally abused in the empire
37. It’s about team’s capacity
-Ramp-up time
-Domain knowledge
-Good teams have a
style
-Mastery of key practices
38. It’s about system capacity
-Teams should be able to
deliver independently
-1 cross functional team
-1 backlog
-1 product owner
That’s pretty much agile by the book
39. But in the empire…
• Large organisations
• Multiple teams
• Many concurrent projects
• Shared portions of the
codebase
40. But in the empire…
• Large organisations
• Multiple teams
• Many concurrent projects
• Shared portions of the
codebase
•Teams can’t deliver by
themselves
45. Above the surface…
Project #1
8 weeks
Project #1
4 weeks
Team
Alpha
Team
Tango
QA
Integration
team
Project #1:
4 weeks
Project #1:
2 weeks
January February March
Project #1:
3 weeks
46. Above the surface…
Project #1
8 weeks
Project #1
4 weeks
Team
Alpha
Team
Tango
QA
Integration
team
Project #1:
4 weeks
Project #1:
2 weeks
January February March
Project #1:
3 weeks
… and below
47. Above the surface…
Project #1
8 weeks
Project #1
4 weeks
Team
Alpha
Team
Tango
QA
Integration
team
Project #1:
4 weeks
Project #1:
2 weeks
January February March
Project #1:
3 weeks
… and below
PO
Clear business goal
Visible team capacity
Supporting goals,
not so visible team capacity
often, conflicting ownership
49. The problem looks like….
Dependent activities pile up in some teams
more than others.
Frontline teams experience delays from
service and platform teams —> extra
management rework
Platform Service are burdened with
growing incoming requests
56. Show the problem
-Find a way to visualise
investigate the system
constraint —> the real team
capacity
-Put key stakeholders in the same
room and co-create the
corresponding model
64. The empire view
Heavily unbalanced system
Many idle resources are not
producing value
Adding more resources to the
system isn’t really improving the
system
65. Theory of constraints
Identify the constraint
Exploit the bottleneck
Subordinate the system to the constraint
Elevate the constraint
identify the new constraint
66. There’s no 100%
-Non bottleneck resources
shouldn’t be allocated 100%
- …or they’ll create more mess and interruptions
around the bottleneck
-Bottleneck resources shouldn’t
be allocated 100% either
- They’re humans
- ripple effects are more expensive then slack.
67. ToC
Identify the constraint
Exploit the bottleneck
Subordinate the system to
the constraint
Elevate the constraint
identify the new constraint
68. Empire ToC
Identify the constraint
Exploit the bottleneck
Subordinate the system to
the constraint
Elevate the constraint
identify the new constraint
71. Empire
Hide the system
constraints
Overload the bottleneck
ToC
Identify the constraint
Exploit the bottleneck
Subordinate the system to
the constraint
Elevate the constraint
identify the new constraint
72. Empire
Hide the system
constraints
Overload the bottleneck
ToC
Identify the constraint
Exploit the bottleneck
Subordinate the system to
the constraint
Elevate the constraint
identify the new constraint
73. Empire
Hide the system
constraints
Overload the bottleneck
punish the bottleneck
ToC
Identify the constraint
Exploit the bottleneck
Subordinate the system to
the constraint
Elevate the constraint
identify the new constraint
74. Empire
Hide the system
constraints
Overload the bottleneck
punish the bottleneck
ToC
Identify the constraint
Exploit the bottleneck
Subordinate the system to
the constraint
Elevate the constraint
identify the new constraint
75. Empire
Hide the system
constraints
Overload the bottleneck
punish the bottleneck
Recruit more people
ToC
Identify the constraint
Exploit the bottleneck
Subordinate the system to
the constraint
Elevate the constraint
identify the new constraint
76. Empire
Hide the system
constraints
Overload the bottleneck
punish the bottleneck
Recruit more people
ToC
Identify the constraint
Exploit the bottleneck
Subordinate the system to
the constraint
Elevate the constraint
identify the new constraint
77. Empire
Hide the system
constraints
Overload the bottleneck
punish the bottleneck
Recruit more people
The constraint is still there,
only worse
ToC
Identify the constraint
Exploit the bottleneck
Subordinate the system to
the constraint
Elevate the constraint
identify the new constraint
78. Empire
Hide the system
constraints
Overload the bottleneck
punish the bottleneck
Recruit more people
The constraint is still there,
only worse
ToC
Identify the constraint
Exploit the bottleneck
Subordinate the system to
the constraint
Elevate the constraint
identify the new constraint
82. A simplified view
costs accumulate
during development
phases apparently small
or no cost in
waiting to release
Revenues pop in
(minus operations)
83. Cost of delay
Costs go down
during development
(apparently) no
cost in waiting
to release
Revenues pop in
(minus operations)
End of period
Cost of
delay
108. It’s viable
-Build around the learning
-create a shared (temporary) context
-build together a vision
(#UserStoryMapping,
#EventStorming)
-pride and ownership are your friends
109. Remember the old talks
Software development is a
learning process
Working code is a side effect
Still valid at this scale too
113. Talent cannot easily be
replaced
Replaceability is for piano-
bar, not for great bands
Can you name a great band
with continuous turnover?
Can you name a band that
outsourced?
* …well Dave hasn’t really said that ;-)
114.
115. A losing game
If you’re not working to
attract retain talent,
then you’re actively
working to lose talent
117. The hard way
Being counterintuitive means that you’ll
have to fight for the basics
Management with no specific IT
background is very likely to blow it.
IT background is no guaranteed recipe
for success either
118. Can’t solve invisible
problems
Make the system constraint visible
Make the implicit goals visible
Make the system constraint visible
Make the implicit goals visible