SlideShare uma empresa Scribd logo
1 de 187
Why Your Team Has Slowed Down, 
Why That's Worse than You Think 
(And How to Fix It) 
Edmund Jorgensen 
@tomheon 
Hut 8 Labs 
QCon New York, 11 June 2014
Watch the video with slide 
synchronization on InfoQ.com! 
http://www.infoq.com/presentations 
/economy-team-slow-down 
InfoQ.com: News & Community Site 
• 750,000 unique visitors/month 
• Published in 4 languages (English, Chinese, Japanese and Brazilian 
Portuguese) 
• Post content from our QCon conferences 
• News 15-20 / week 
• Articles 3-4 / week 
• Presentations (videos) 12-15 / week 
• Interviews 2-3 / week 
• Books 1 / month
Presented at QCon New York 
www.qconnewyork.com 
Purpose of QCon 
- to empower software development by facilitating the spread of 
knowledge and innovation 
Strategy 
- practitioner-driven conference designed for YOU: influencers of 
change and innovation in your teams 
- speakers and topics driving the evolution and innovation 
- connecting and catalyzing the influencers and innovators 
Highlights 
- attended by more than 12,000 delegates since 2007 
- held in 9 cities worldwide
Latency"
Going to talk a lot about Latency" of your dev team, by which I 
mean: how much calendar time passes between the request for 
something (feature, bug
x) and the safe, sane delivery of that 
thing.
A Tale in 3 Acts 
1. Why to Invest in Latency Reduction 
2. How to Invest in Latency Reduction 
3. How to Get the Very Important People On Board with Your 
Investments
Act 1: 
Why to Invest in Latency 
Reduction
One answer: 
Deliver features and bug
xes 
to your customers quicker 
because they love that!
True, but if we only consider that reason, we'll under-invest in 
latency reduction, b/c the reality is even more economically 
powerful.
Thought Experiment: 
A Tale of Two Dev Teams
Meet Michael. 
He's a CEO.
This is Michael. Michael is the CEO of a company makes its 
money o big, enterprise contracts, and a prospect he's been after 
for a long time is entertaining proofs of concept on a project.
If he lands this contract, it could set his business up for 5 years. If 
he loses it, the company may go under. The prospect has 
submitted a call for proofs of concept and is going to look at them 
all{Michael's and the competition's{in 90 days, not earlier, so the 
deliver early to customers advantage is gone.
Two Options 
Regular Dev Team 
I Good proof of concept 
I $100,000 
I 90 days 
Insanely Fast Dev Team 
I Good proof of concept 
I $100,000 
I 1 Second
Michael has 2 options for dev teams to create the POC. One is a 
good, solid team that could complete the task in 90 days, for a 
total cost of $100,000. The other is an insanely fast team who 
charge $100,000 a second, but can complete the same POC in 
only one second of work.
To call this out more explicitly: both teams would produce the 
same quality work, at the same cost. Only their latency diers.
Does this matter, in a world where early delivery is disallowed?
Regular Dev Team = 
No Choices to Make
If Michael chooses the regular dev team, he has no decisions to 
make about when they do their work. They have to start work on 
the POC today just to
nish in time for presentations.
Insanely Fast Dev Team = 
7,776,000 Choices to Make
With the insanely fast team, on the other hand, he has almost 8 
million choices to make (that being the number of seconds in 90 
days), since he could build the POC in any one of them. But are 
any of these choices valuable?
One option that jumps out is having the Insanely Fast Dev Team 
produce the POC in the ver
rst second. Michael can't deliver it 
early by the prospect's rules, but are there any other options 
available to him?
Iterate
He can show the POC around to some decent proxies for the 
customer, get their reactions, and incorporate those reactions into 
a second version of the POC (which will cost him an additional 
$100,000{more on that later).
Abandon
Maybe when Michael presents the early POC to one of the 
customer proxies, he gets the following reaction:
This looks great{all you need to do now is attach DNA samples 
and medical histories for each of these records and you've got 
something really valuable!
Michael can abandon the project immediately and turn his money 
and attention to other projects that won't require illegal data to 
be valuable. He is 90 days ahead of his competition getting into 
other markets, while he knows that they're drawing dead with their 
own POCs.
So yeah, producing the POC in the
rst second can give Michael 
some huge advantages, even if he can't deliver early. That Insanely 
Fast Dev Team is looking pretty good right about now. But 
wait...there's more!
What if Michael goes to the other extreme, and waits until the last 
second to produce the POC{procratinates like there's no 
tomorrow{does that give him any interesting advantages?
Michael can use that time to do a ton of research (which is usually 
cheaper than development) before he commits to building. He can 
literally wait until the last second and use something he learned in 
the hallway waiting to present in order to produce a better POC.
So yes, there are bene
ts to waiting until the last minute.
Mix and Match!
But the real power of the Insanely Fast Dev team becomes 
apparent when Michael combines the build early and build late 
strategies. He does cheap research until he feels he'd gain more 
information with something to show. Now he builds (in a second) 
a POC, and gets feedback on it, rinsing and repeating until: 
I He feels that a new iteration isn't worth $100,000 
I He decides to scrap the project
Finish early, start late = 
Information Gain
What the Insanely Fast Dev Team gives Michael is the ability to 
(in the word of Don Reinertsen)
nish early and start late, which 
allows for information gain: tasks that
nish early tend to generate 
information, and tasks that start late can bene
t from newly 
available information.
In the presence of uncertainty{which software development is all 
about{information is value. So this ability to
nish early and start 
late, thereby gaining information, is tremendously valuable.
The poor old regular dev team, with their higher latency, has to 
start early and
nish late just to get the job done. They can 
neither generate information for later tasks, or take advantage of 
newly available information.
Which team 
should Michael choose?
Shut up and take my money!
It's a formality at this point{he should choose the Insanely Fast 
Team and their reduced latency{in fact, he should be willing to pay 
much more than $100,000 to get access to that team.
Michael is psyched to have the 
option to 
spend more on 
invest more with 
the Insanely Fast Development 
Team.
Sinking an extra million, even, into a much improved chance to 
land a 25 million dollar contract is an investment, not a cost 
(the dierence being: you expect an investment to return to you, 
increased).
(Footnote: Realistic Drops in Latency) 
Quarterly Release to Hourly Release 
90 Days * 24 Hours = 
2,000x reduction in latency
Easy objection: sure, going from 90 days to 1 second would be 
awesome, but in the real world that's impossible. But it's not 
impossible to reduce latency on simple features, bug
xes, etc. from 
quarterly to hourly releases (it requires real investment, but many 
places have done it). That's huge.
Why to Invest in Latency Reduction 
I Reducing latency creates information 
I Information == (probabilistic) $ 
I Reducing latency creates (probabilistic) $
Act 2: 
How to Invest in Latency 
Reduction
Even once we understand why to invest in latency reduction, it's 
not always easy to actually do it.
Some Common Latency Reduction Strategies 
I HustleHustle 
I Work EthicWork Ethic 
I GSDGSD
I don't want to talk about these.
Like, at all.
2 things: these solutions are cop-outs{trying to turn an 
organizational and economic concern into something moral and 
personal. Also, as solutions they don't work particularly well.
There's nothing else to do 
today{let's reduce some latency. 
a) Abraham Lincoln 
b) Larry Page 
c) No one, ever
First key for how to invest in reducing latency is to realize that it 
never happens in a vacuum, but in the day to day insanity of a real 
business, where it's hard to see latency.
Case Study: A Tale of Two 
Engineers
Let's get at this through a case study.
Meet Cindy. 
She's an engineering leader.
Cindy is an engineering leader at a company building social 
networks for animals. They're killing it. When she arrives one 
morning two of her engineers are waiting for her.
Bruce: SO MANY 
MIGRAAAAAATIONNNNNNS
Bruce complains that he's spending half an hour every morning 
getting production db migrations live for people, since he's the only 
one who understands the production db enough to do it. He wants 
to stop working on features for a week to write a migration script.
Roy: FROBULATOR 
RAGE...BUILDING
Roy is angry about the quality of the code in the Frobulator 
service, which he recently rediscovered while updating copyright 
headers. It was banged out crappily in PHP and now he wants to 
stop working on features to rewrite it in Scala.
So what would we do, if we were in Cindy's shoes? We can't make 
everyone happy{either features are going to get pushed back, or 
these engineers' projects are.
Your time is valuable, Bruce.
One way to handle it: Bruce, your time is valuable, because of 
your expertise with the db. We have to invest it wisely. If a 40 
hour investment in a migration script saves you 1/2 a day, that's 
80 business days to recoup invsestment{too long!
Think of the customer, Roy.
We explain to Roy: our customers can't tell if the Frobulator 
service is bad PHP or transcendant Scala, and they don't care. 
Being focused on the customers and the business means we have 
to be super jealous of hours we spend on projects that are invisible 
to customers.
So we feel good{we've taken an economic approach, stayed 
focused on the customer, and saved our business a pile of money. 
Or maybe...
We have just lit a bunch of money on
re. What's going on here? 
How did we cost our business so much money when we thought we 
were saving it?
We have fallen for two of the 
classic blunders.
Classic Blunder #1: 
Obsessing over Paid Engineer 
Hours instead of Latency
How we experience the world: 
I Paid engineer hours = expensive 
I Latency = (merely) annoying 
How the world really is: 
I Paid engineer hours = expensive 
I Latency = MASSIVELY expensive
Classic Blunder #2: 
Morality
Michael the CEO got to write 
a check to reduce latency...
Which feels clean and easy, without the moral or psychological 
barriers.
...we often have to invest 
engineer hours.
Which comes with a lot of baggage. It feels a litttle wrong for 
engineers to spend paid hours making their own lives better.
Won't somebody please think 
of the customers?
It feels like, morally, they should be spending that time on the 
customers. I mean, aren't jobs supposed to suck?
But if we love the customer, we want to stay in business, and be 
able to deliver in a timely fashion inde
nitely. That's what latency 
reduction is about.
A Tale of Two Engineers 
(Redux)
With these blunders in mind, let's revisit Bruce and Roy.
WAAH I'M TIRED OF MY 
JOB AND NEED TO BE CAT 
HERDED
This is basically what we heard from Bruce, if we're being honest 
about our reaction.
Danger, Will Robinson!
This is what we should have heard from Bruce{reality sending us 
an early warning. Latency is brewing in your engineering org!
What happens if Bruce takes a...gasp...vacation? The queue will 
grow while he's gone, and nothing will go out. What if Bruce 
silently decides to be more ecient and only push migrations 
once a week? Our latency has just skyrocketed, catastrophically 
and invisibly.
We should let Bruce write his migration script{this is a no brainer.
WAAH I'M A 
PERFECTIONIST AND NEED 
TO BE CAT HERDED
This is basically what we heard from Roy.
This is what we should have heard.
Roy told us he was in the Frobulator service to update copyright 
headers. Is this a clue that he hasn't been in the Frobulator 
service code for at least a year? Why not? Is this the case with 
other engineers too?
If the Frobulator Service is just frobulating
ne, and needs no 
work, great.
If, on the other hand, the engineers are terri
ed of it because it's 
such a mess, and don't make changes there, it could be 
introducing latency.
There are no top down solutions to latency. Latency will always 
creep in. A new QC process here, another step there... We should 
be calmly, bravely terri
ed, and always on the lookout, 
remembering that our gut reactions about the expense of 
latency are probably wrong.
And we should teach this calm, brave terror to our whole team. No 
one person can see all the brewing latency. Make it something 
everyone hates, seeks out, and termintes.
Good Bets for Getting Started 
in Latency Reduction 
Investment
Generally: 
Operational/Processy beats 
Frameworky 
(Especially at the beginning)
Please don't make me spin up 
a new server...
Find things that engineers complain about{latency is often 
experienced as annoying{and invest in making them better.
Only Joe can make changes 
to the user service.
Just like with Bruce, having one person be the super hero of 
some piece of code / process creates latency. Make them the super 
hero for training others instead.
Tests!
Good tests reduce latency because they allow you to move faster 
and spend less time
ghting
res.
I AM IN UR SERVERS 
MONITORING UR VALUE 
CREATION
Good monitors reduce latency because they allow you to move 
faster and spend less time
ghting
res.
Keep it Incremental FTW
But when it's
nished... 
...it will be AMAZING.
This is how many / most engineers want to handle these kinds of 
projects{tear everything down and build it right! Terrible idea in 
general, and especially with latency reduction.
Because latency reduction has this extra weird recursive nature, in 
that investments in latency reduction speed up the same 
channels by which we make future latency reduction.
The most powerful force in 
the universe. 
{Albert Einstein (maybe)
That makes latency reduction a form of compound interest. And 
just like with your retirement account, small frequent investments 
earn more compound interest overall compared to big infrequent 
investments.
Recap: How to Invest in Latency Reduction 
I Beware the Classic Blunders (paid engineer hours vs. 
latency, morality) 
I Cultivate a Calm Team-Wide Terror of Latency 
I Start with Operational and Process Wins 
I Keep it incremental
Act 3: 
How to Get the Very Important 
People On Board with Your 
Investments
These are the bosses, bosses' bosses, and so on. They sign the 
checks and make a lot of the decisions. How do we get them on 
board with our latency reduction investments?
Allegory of the Warehouse
Meet Bob. 
He's a foreman in a warehouse.
Bob has a problem.
Latency is way up in the warehouse, which means pro
ts are down 
and the VIPs are not happy. The latency is being caused by a 
problem that a lot of warehouses have these days...
Ninjas. Obstructionist ninjas who pop out in the aisles and...
Insist that forklift operators juggle to entertain them before being 
allowed to be on their way.
Ninja Convention... 
Sold out!
Even worse, the ninjas sense when VIPs are near and, being jerks, 
melt into the shadows, so the VIP sees only a forklift operator 
juggling.
Allegorical Key: 
Bob = engineering leader 
Forklift operators = engineers 
Ninjas = sources of latency
Solutions to Bob's / our 
problem?
Hire more!
This is a natural response, but usually doesn't turn out well{we're 
adding bandwidth, not reducing latency. One ninja can block 4 
operators in an aisle{one bottleneck getting changes to production 
can hold back 10 engineers.
Hire dierent!
Maybe Bob hires only professional jugglers, who can please the 
ninjas quicker. Maybe we hire only those mythical 1% of engineers 
who can juggle all the problems and still move fast. This is better 
than just hiring, but isn't scaleable.
Bring the
ght to the ninjas.
Maybe Bob's team spends Thursday afternoons hunting down the 
ninjas. They'll come back, but until then there's less latency. 
Maybe we, as engineers, spend some of our time on reducing 
latency.
Only one small problem...
Often to the VIPs at software businesses, the causes of latency are 
just as invisible as these ninjas. We sound crazy if we talk about 
them.
You're telling me you want to 
forklift stu faster... by taking 
butts out of forklifts?
s/butts in forklifts/
ngers on 
keyboards/
The
rst rule of selling ninja 
hunts to the Very Important 
People is...
Do not talk about ninjas.
The second rule of selling ninja 
hunts to the Very Important 
People is...
DO NOT TALK about ninjas.
Ninja Hunt Taboo{the Game 
I Database 
I Optimize 
I Technical Debt 
I etc. 
I etc. 
I etc.
Treat selling latency reduction like a game of Taboo. Don't 
mention anything that sounds like the ninjas.
Don't be this guy...

Mais conteúdo relacionado

Mais procurados

Como voce se imagina daqui a 40 anos
Como voce se imagina daqui a 40 anosComo voce se imagina daqui a 40 anos
Como voce se imagina daqui a 40 anosLuca Bastos
 
Wiley.About.Face.3.The.Essentials.Of.Interaction.Design.May.2007
Wiley.About.Face.3.The.Essentials.Of.Interaction.Design.May.2007Wiley.About.Face.3.The.Essentials.Of.Interaction.Design.May.2007
Wiley.About.Face.3.The.Essentials.Of.Interaction.Design.May.2007Yang tengfei
 
ProjectA Welcome Guide
ProjectA Welcome Guide ProjectA Welcome Guide
ProjectA Welcome Guide NHS Horizons
 
Rapid Project Inception
Rapid Project InceptionRapid Project Inception
Rapid Project Inceptionudairaj
 
Start with your end picture in clear focus and other on point it project mana...
Start with your end picture in clear focus and other on point it project mana...Start with your end picture in clear focus and other on point it project mana...
Start with your end picture in clear focus and other on point it project mana...Stoneseed Ltd
 
PM Connect - Agile Workshop
PM Connect - Agile WorkshopPM Connect - Agile Workshop
PM Connect - Agile WorkshopMassInnov8
 

Mais procurados (6)

Como voce se imagina daqui a 40 anos
Como voce se imagina daqui a 40 anosComo voce se imagina daqui a 40 anos
Como voce se imagina daqui a 40 anos
 
Wiley.About.Face.3.The.Essentials.Of.Interaction.Design.May.2007
Wiley.About.Face.3.The.Essentials.Of.Interaction.Design.May.2007Wiley.About.Face.3.The.Essentials.Of.Interaction.Design.May.2007
Wiley.About.Face.3.The.Essentials.Of.Interaction.Design.May.2007
 
ProjectA Welcome Guide
ProjectA Welcome Guide ProjectA Welcome Guide
ProjectA Welcome Guide
 
Rapid Project Inception
Rapid Project InceptionRapid Project Inception
Rapid Project Inception
 
Start with your end picture in clear focus and other on point it project mana...
Start with your end picture in clear focus and other on point it project mana...Start with your end picture in clear focus and other on point it project mana...
Start with your end picture in clear focus and other on point it project mana...
 
PM Connect - Agile Workshop
PM Connect - Agile WorkshopPM Connect - Agile Workshop
PM Connect - Agile Workshop
 

Semelhante a Why Your Team Has Slowed Down, Why That's Worse than You Think, and How to Fix It

An Introduction To Agile Development
An Introduction To Agile DevelopmentAn Introduction To Agile Development
An Introduction To Agile Developmentelliando dias
 
Sebastian GM - EM Templates - Loco Fridays.pdf
Sebastian GM - EM Templates - Loco Fridays.pdfSebastian GM - EM Templates - Loco Fridays.pdf
Sebastian GM - EM Templates - Loco Fridays.pdfSebastian Gomez
 
DevOps Transition Strategies
DevOps Transition StrategiesDevOps Transition Strategies
DevOps Transition StrategiesAlec Lazarescu
 
Doing agile with an ISO-20000 Telco (AgilePT 2015)
Doing agile with an ISO-20000 Telco (AgilePT 2015)Doing agile with an ISO-20000 Telco (AgilePT 2015)
Doing agile with an ISO-20000 Telco (AgilePT 2015)Manuel Padilha
 
How To (Not) Open Source - Javazone, Oslo 2014
How To (Not) Open Source - Javazone, Oslo 2014How To (Not) Open Source - Javazone, Oslo 2014
How To (Not) Open Source - Javazone, Oslo 2014gdusbabek
 
Vittorio Viarengo, ViVi software
Vittorio Viarengo, ViVi softwareVittorio Viarengo, ViVi software
Vittorio Viarengo, ViVi softwareNicolò Borghi
 
Vittorio Viarengo, ViVi software
Vittorio Viarengo, ViVi softwareVittorio Viarengo, ViVi software
Vittorio Viarengo, ViVi softwareNicolò Borghi
 
10 benefits of hiring a dedicated development team
10 benefits of hiring a dedicated development team10 benefits of hiring a dedicated development team
10 benefits of hiring a dedicated development teamCapital Numbers
 
Pretotyping g motta agile brazil 2013
Pretotyping g motta agile brazil 2013Pretotyping g motta agile brazil 2013
Pretotyping g motta agile brazil 2013Guilherme Motta
 
Rhok 101 for change makers - with an agile flavour
Rhok 101 for change makers - with an agile flavourRhok 101 for change makers - with an agile flavour
Rhok 101 for change makers - with an agile flavourCaoilte Dunne
 
Outline Dream Presentatie
Outline Dream PresentatieOutline Dream Presentatie
Outline Dream PresentatieBob Duindam
 
The Open Commerce Conference - Premature Optimisation: The Root of All Evil
The Open Commerce Conference - Premature Optimisation: The Root of All EvilThe Open Commerce Conference - Premature Optimisation: The Root of All Evil
The Open Commerce Conference - Premature Optimisation: The Root of All EvilFabio Akita
 
Agilelessons scanagile-final 2013
Agilelessons scanagile-final 2013Agilelessons scanagile-final 2013
Agilelessons scanagile-final 2013lokori
 
Starting Nearshore Manufacturing: Expectations vs. Reality
Starting Nearshore Manufacturing: Expectations vs. RealityStarting Nearshore Manufacturing: Expectations vs. Reality
Starting Nearshore Manufacturing: Expectations vs. RealityNovaLink
 
Neurodb Engr245 2021 Lessons Learned
Neurodb Engr245 2021 Lessons LearnedNeurodb Engr245 2021 Lessons Learned
Neurodb Engr245 2021 Lessons LearnedStanford University
 
2010 04 28 The Lean Startup webinar for the Lean Enterprise Institute
2010 04 28 The Lean Startup webinar for the Lean Enterprise Institute2010 04 28 The Lean Startup webinar for the Lean Enterprise Institute
2010 04 28 The Lean Startup webinar for the Lean Enterprise InstituteEric Ries
 

Semelhante a Why Your Team Has Slowed Down, Why That's Worse than You Think, and How to Fix It (20)

An Introduction To Agile Development
An Introduction To Agile DevelopmentAn Introduction To Agile Development
An Introduction To Agile Development
 
Continuous Innovation
Continuous InnovationContinuous Innovation
Continuous Innovation
 
Sebastian GM - EM Templates - Loco Fridays.pdf
Sebastian GM - EM Templates - Loco Fridays.pdfSebastian GM - EM Templates - Loco Fridays.pdf
Sebastian GM - EM Templates - Loco Fridays.pdf
 
Introduction to Agile
Introduction to AgileIntroduction to Agile
Introduction to Agile
 
DevOps Transition Strategies
DevOps Transition StrategiesDevOps Transition Strategies
DevOps Transition Strategies
 
Doing agile with an ISO-20000 Telco (AgilePT 2015)
Doing agile with an ISO-20000 Telco (AgilePT 2015)Doing agile with an ISO-20000 Telco (AgilePT 2015)
Doing agile with an ISO-20000 Telco (AgilePT 2015)
 
How To (Not) Open Source - Javazone, Oslo 2014
How To (Not) Open Source - Javazone, Oslo 2014How To (Not) Open Source - Javazone, Oslo 2014
How To (Not) Open Source - Javazone, Oslo 2014
 
IoT Product Design and Prototyping
IoT Product Design and PrototypingIoT Product Design and Prototyping
IoT Product Design and Prototyping
 
Vittorio Viarengo, ViVi software
Vittorio Viarengo, ViVi softwareVittorio Viarengo, ViVi software
Vittorio Viarengo, ViVi software
 
Vittorio Viarengo, ViVi software
Vittorio Viarengo, ViVi softwareVittorio Viarengo, ViVi software
Vittorio Viarengo, ViVi software
 
10 benefits of hiring a dedicated development team
10 benefits of hiring a dedicated development team10 benefits of hiring a dedicated development team
10 benefits of hiring a dedicated development team
 
Pretotyping g motta agile brazil 2013
Pretotyping g motta agile brazil 2013Pretotyping g motta agile brazil 2013
Pretotyping g motta agile brazil 2013
 
Rhok 101 for change makers - with an agile flavour
Rhok 101 for change makers - with an agile flavourRhok 101 for change makers - with an agile flavour
Rhok 101 for change makers - with an agile flavour
 
What is Lean UX?
What is Lean UX?What is Lean UX?
What is Lean UX?
 
Outline Dream Presentatie
Outline Dream PresentatieOutline Dream Presentatie
Outline Dream Presentatie
 
The Open Commerce Conference - Premature Optimisation: The Root of All Evil
The Open Commerce Conference - Premature Optimisation: The Root of All EvilThe Open Commerce Conference - Premature Optimisation: The Root of All Evil
The Open Commerce Conference - Premature Optimisation: The Root of All Evil
 
Agilelessons scanagile-final 2013
Agilelessons scanagile-final 2013Agilelessons scanagile-final 2013
Agilelessons scanagile-final 2013
 
Starting Nearshore Manufacturing: Expectations vs. Reality
Starting Nearshore Manufacturing: Expectations vs. RealityStarting Nearshore Manufacturing: Expectations vs. Reality
Starting Nearshore Manufacturing: Expectations vs. Reality
 
Neurodb Engr245 2021 Lessons Learned
Neurodb Engr245 2021 Lessons LearnedNeurodb Engr245 2021 Lessons Learned
Neurodb Engr245 2021 Lessons Learned
 
2010 04 28 The Lean Startup webinar for the Lean Enterprise Institute
2010 04 28 The Lean Startup webinar for the Lean Enterprise Institute2010 04 28 The Lean Startup webinar for the Lean Enterprise Institute
2010 04 28 The Lean Startup webinar for the Lean Enterprise Institute
 

Mais de C4Media

Streaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoStreaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoC4Media
 
Next Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy MobileNext Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy MobileC4Media
 
Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020C4Media
 
Understand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsUnderstand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsC4Media
 
Kafka Needs No Keeper
Kafka Needs No KeeperKafka Needs No Keeper
Kafka Needs No KeeperC4Media
 
High Performing Teams Act Like Owners
High Performing Teams Act Like OwnersHigh Performing Teams Act Like Owners
High Performing Teams Act Like OwnersC4Media
 
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaDoes Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaC4Media
 
Service Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideService Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideC4Media
 
Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDC4Media
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine LearningC4Media
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at SpeedC4Media
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsC4Media
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsC4Media
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerC4Media
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleC4Media
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeC4Media
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereC4Media
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing ForC4Media
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data EngineeringC4Media
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreC4Media
 

Mais de C4Media (20)

Streaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoStreaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live Video
 
Next Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy MobileNext Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy Mobile
 
Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020
 
Understand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsUnderstand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java Applications
 
Kafka Needs No Keeper
Kafka Needs No KeeperKafka Needs No Keeper
Kafka Needs No Keeper
 
High Performing Teams Act Like Owners
High Performing Teams Act Like OwnersHigh Performing Teams Act Like Owners
High Performing Teams Act Like Owners
 
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaDoes Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
 
Service Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideService Meshes- The Ultimate Guide
Service Meshes- The Ultimate Guide
 
Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CD
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine Learning
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at Speed
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep Systems
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.js
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly Compiler
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix Scale
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's Edge
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home Everywhere
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing For
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data Engineering
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
 

Último

"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAnitaRaj43
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 

Último (20)

"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 

Why Your Team Has Slowed Down, Why That's Worse than You Think, and How to Fix It

  • 1. Why Your Team Has Slowed Down, Why That's Worse than You Think (And How to Fix It) Edmund Jorgensen @tomheon Hut 8 Labs QCon New York, 11 June 2014
  • 2. Watch the video with slide synchronization on InfoQ.com! http://www.infoq.com/presentations /economy-team-slow-down InfoQ.com: News & Community Site • 750,000 unique visitors/month • Published in 4 languages (English, Chinese, Japanese and Brazilian Portuguese) • Post content from our QCon conferences • News 15-20 / week • Articles 3-4 / week • Presentations (videos) 12-15 / week • Interviews 2-3 / week • Books 1 / month
  • 3. Presented at QCon New York www.qconnewyork.com Purpose of QCon - to empower software development by facilitating the spread of knowledge and innovation Strategy - practitioner-driven conference designed for YOU: influencers of change and innovation in your teams - speakers and topics driving the evolution and innovation - connecting and catalyzing the influencers and innovators Highlights - attended by more than 12,000 delegates since 2007 - held in 9 cities worldwide
  • 5. Going to talk a lot about Latency" of your dev team, by which I mean: how much calendar time passes between the request for something (feature, bug
  • 6. x) and the safe, sane delivery of that thing.
  • 7. A Tale in 3 Acts 1. Why to Invest in Latency Reduction 2. How to Invest in Latency Reduction 3. How to Get the Very Important People On Board with Your Investments
  • 8. Act 1: Why to Invest in Latency Reduction
  • 9. One answer: Deliver features and bug
  • 10. xes to your customers quicker because they love that!
  • 11. True, but if we only consider that reason, we'll under-invest in latency reduction, b/c the reality is even more economically powerful.
  • 12. Thought Experiment: A Tale of Two Dev Teams
  • 14. This is Michael. Michael is the CEO of a company makes its money o big, enterprise contracts, and a prospect he's been after for a long time is entertaining proofs of concept on a project.
  • 15.
  • 16. If he lands this contract, it could set his business up for 5 years. If he loses it, the company may go under. The prospect has submitted a call for proofs of concept and is going to look at them all{Michael's and the competition's{in 90 days, not earlier, so the deliver early to customers advantage is gone.
  • 17. Two Options Regular Dev Team I Good proof of concept I $100,000 I 90 days Insanely Fast Dev Team I Good proof of concept I $100,000 I 1 Second
  • 18. Michael has 2 options for dev teams to create the POC. One is a good, solid team that could complete the task in 90 days, for a total cost of $100,000. The other is an insanely fast team who charge $100,000 a second, but can complete the same POC in only one second of work.
  • 19. To call this out more explicitly: both teams would produce the same quality work, at the same cost. Only their latency diers.
  • 20. Does this matter, in a world where early delivery is disallowed?
  • 21. Regular Dev Team = No Choices to Make
  • 22. If Michael chooses the regular dev team, he has no decisions to make about when they do their work. They have to start work on the POC today just to
  • 23. nish in time for presentations.
  • 24. Insanely Fast Dev Team = 7,776,000 Choices to Make
  • 25. With the insanely fast team, on the other hand, he has almost 8 million choices to make (that being the number of seconds in 90 days), since he could build the POC in any one of them. But are any of these choices valuable?
  • 26.
  • 27. One option that jumps out is having the Insanely Fast Dev Team produce the POC in the ver
  • 28. rst second. Michael can't deliver it early by the prospect's rules, but are there any other options available to him?
  • 30. He can show the POC around to some decent proxies for the customer, get their reactions, and incorporate those reactions into a second version of the POC (which will cost him an additional $100,000{more on that later).
  • 32. Maybe when Michael presents the early POC to one of the customer proxies, he gets the following reaction:
  • 33. This looks great{all you need to do now is attach DNA samples and medical histories for each of these records and you've got something really valuable!
  • 34. Michael can abandon the project immediately and turn his money and attention to other projects that won't require illegal data to be valuable. He is 90 days ahead of his competition getting into other markets, while he knows that they're drawing dead with their own POCs.
  • 35.
  • 36. So yeah, producing the POC in the
  • 37. rst second can give Michael some huge advantages, even if he can't deliver early. That Insanely Fast Dev Team is looking pretty good right about now. But wait...there's more!
  • 38.
  • 39. What if Michael goes to the other extreme, and waits until the last second to produce the POC{procratinates like there's no tomorrow{does that give him any interesting advantages?
  • 40.
  • 41. Michael can use that time to do a ton of research (which is usually cheaper than development) before he commits to building. He can literally wait until the last second and use something he learned in the hallway waiting to present in order to produce a better POC.
  • 42.
  • 43. So yes, there are bene
  • 44. ts to waiting until the last minute.
  • 46. But the real power of the Insanely Fast Dev team becomes apparent when Michael combines the build early and build late strategies. He does cheap research until he feels he'd gain more information with something to show. Now he builds (in a second) a POC, and gets feedback on it, rinsing and repeating until: I He feels that a new iteration isn't worth $100,000 I He decides to scrap the project
  • 47. Finish early, start late = Information Gain
  • 48. What the Insanely Fast Dev Team gives Michael is the ability to (in the word of Don Reinertsen)
  • 49. nish early and start late, which allows for information gain: tasks that
  • 50. nish early tend to generate information, and tasks that start late can bene
  • 51. t from newly available information.
  • 52. In the presence of uncertainty{which software development is all about{information is value. So this ability to
  • 53. nish early and start late, thereby gaining information, is tremendously valuable.
  • 54. The poor old regular dev team, with their higher latency, has to start early and
  • 55. nish late just to get the job done. They can neither generate information for later tasks, or take advantage of newly available information.
  • 56. Which team should Michael choose?
  • 57. Shut up and take my money!
  • 58. It's a formality at this point{he should choose the Insanely Fast Team and their reduced latency{in fact, he should be willing to pay much more than $100,000 to get access to that team.
  • 59. Michael is psyched to have the option to spend more on invest more with the Insanely Fast Development Team.
  • 60. Sinking an extra million, even, into a much improved chance to land a 25 million dollar contract is an investment, not a cost (the dierence being: you expect an investment to return to you, increased).
  • 61. (Footnote: Realistic Drops in Latency) Quarterly Release to Hourly Release 90 Days * 24 Hours = 2,000x reduction in latency
  • 62. Easy objection: sure, going from 90 days to 1 second would be awesome, but in the real world that's impossible. But it's not impossible to reduce latency on simple features, bug
  • 63. xes, etc. from quarterly to hourly releases (it requires real investment, but many places have done it). That's huge.
  • 64. Why to Invest in Latency Reduction I Reducing latency creates information I Information == (probabilistic) $ I Reducing latency creates (probabilistic) $
  • 65. Act 2: How to Invest in Latency Reduction
  • 66. Even once we understand why to invest in latency reduction, it's not always easy to actually do it.
  • 67. Some Common Latency Reduction Strategies I HustleHustle I Work EthicWork Ethic I GSDGSD
  • 68. I don't want to talk about these.
  • 69.
  • 71.
  • 72. 2 things: these solutions are cop-outs{trying to turn an organizational and economic concern into something moral and personal. Also, as solutions they don't work particularly well.
  • 73. There's nothing else to do today{let's reduce some latency. a) Abraham Lincoln b) Larry Page c) No one, ever
  • 74. First key for how to invest in reducing latency is to realize that it never happens in a vacuum, but in the day to day insanity of a real business, where it's hard to see latency.
  • 75. Case Study: A Tale of Two Engineers
  • 76. Let's get at this through a case study.
  • 77. Meet Cindy. She's an engineering leader.
  • 78. Cindy is an engineering leader at a company building social networks for animals. They're killing it. When she arrives one morning two of her engineers are waiting for her.
  • 79. Bruce: SO MANY MIGRAAAAAATIONNNNNNS
  • 80. Bruce complains that he's spending half an hour every morning getting production db migrations live for people, since he's the only one who understands the production db enough to do it. He wants to stop working on features for a week to write a migration script.
  • 82. Roy is angry about the quality of the code in the Frobulator service, which he recently rediscovered while updating copyright headers. It was banged out crappily in PHP and now he wants to stop working on features to rewrite it in Scala.
  • 83.
  • 84. So what would we do, if we were in Cindy's shoes? We can't make everyone happy{either features are going to get pushed back, or these engineers' projects are.
  • 85. Your time is valuable, Bruce.
  • 86. One way to handle it: Bruce, your time is valuable, because of your expertise with the db. We have to invest it wisely. If a 40 hour investment in a migration script saves you 1/2 a day, that's 80 business days to recoup invsestment{too long!
  • 87. Think of the customer, Roy.
  • 88. We explain to Roy: our customers can't tell if the Frobulator service is bad PHP or transcendant Scala, and they don't care. Being focused on the customers and the business means we have to be super jealous of hours we spend on projects that are invisible to customers.
  • 89.
  • 90. So we feel good{we've taken an economic approach, stayed focused on the customer, and saved our business a pile of money. Or maybe...
  • 91.
  • 92. We have just lit a bunch of money on
  • 93. re. What's going on here? How did we cost our business so much money when we thought we were saving it?
  • 94. We have fallen for two of the classic blunders.
  • 95. Classic Blunder #1: Obsessing over Paid Engineer Hours instead of Latency
  • 96. How we experience the world: I Paid engineer hours = expensive I Latency = (merely) annoying How the world really is: I Paid engineer hours = expensive I Latency = MASSIVELY expensive
  • 98. Michael the CEO got to write a check to reduce latency...
  • 99. Which feels clean and easy, without the moral or psychological barriers.
  • 100. ...we often have to invest engineer hours.
  • 101.
  • 102. Which comes with a lot of baggage. It feels a litttle wrong for engineers to spend paid hours making their own lives better.
  • 103. Won't somebody please think of the customers?
  • 104. It feels like, morally, they should be spending that time on the customers. I mean, aren't jobs supposed to suck?
  • 105. But if we love the customer, we want to stay in business, and be able to deliver in a timely fashion inde
  • 106. nitely. That's what latency reduction is about.
  • 107. A Tale of Two Engineers (Redux)
  • 108. With these blunders in mind, let's revisit Bruce and Roy.
  • 109. WAAH I'M TIRED OF MY JOB AND NEED TO BE CAT HERDED
  • 110. This is basically what we heard from Bruce, if we're being honest about our reaction.
  • 112. This is what we should have heard from Bruce{reality sending us an early warning. Latency is brewing in your engineering org!
  • 113. What happens if Bruce takes a...gasp...vacation? The queue will grow while he's gone, and nothing will go out. What if Bruce silently decides to be more ecient and only push migrations once a week? Our latency has just skyrocketed, catastrophically and invisibly.
  • 114. We should let Bruce write his migration script{this is a no brainer.
  • 115. WAAH I'M A PERFECTIONIST AND NEED TO BE CAT HERDED
  • 116. This is basically what we heard from Roy.
  • 117.
  • 118. This is what we should have heard.
  • 119. Roy told us he was in the Frobulator service to update copyright headers. Is this a clue that he hasn't been in the Frobulator service code for at least a year? Why not? Is this the case with other engineers too?
  • 120. If the Frobulator Service is just frobulating
  • 121. ne, and needs no work, great.
  • 122. If, on the other hand, the engineers are terri
  • 123. ed of it because it's such a mess, and don't make changes there, it could be introducing latency.
  • 124.
  • 125. There are no top down solutions to latency. Latency will always creep in. A new QC process here, another step there... We should be calmly, bravely terri
  • 126. ed, and always on the lookout, remembering that our gut reactions about the expense of latency are probably wrong.
  • 127.
  • 128. And we should teach this calm, brave terror to our whole team. No one person can see all the brewing latency. Make it something everyone hates, seeks out, and termintes.
  • 129. Good Bets for Getting Started in Latency Reduction Investment
  • 130. Generally: Operational/Processy beats Frameworky (Especially at the beginning)
  • 131. Please don't make me spin up a new server...
  • 132. Find things that engineers complain about{latency is often experienced as annoying{and invest in making them better.
  • 133. Only Joe can make changes to the user service.
  • 134. Just like with Bruce, having one person be the super hero of some piece of code / process creates latency. Make them the super hero for training others instead.
  • 135. Tests!
  • 136. Good tests reduce latency because they allow you to move faster and spend less time
  • 137. ghting
  • 138. res.
  • 139. I AM IN UR SERVERS MONITORING UR VALUE CREATION
  • 140. Good monitors reduce latency because they allow you to move faster and spend less time
  • 141. ghting
  • 142. res.
  • 145. nished... ...it will be AMAZING.
  • 146. This is how many / most engineers want to handle these kinds of projects{tear everything down and build it right! Terrible idea in general, and especially with latency reduction.
  • 147.
  • 148. Because latency reduction has this extra weird recursive nature, in that investments in latency reduction speed up the same channels by which we make future latency reduction.
  • 149. The most powerful force in the universe. {Albert Einstein (maybe)
  • 150. That makes latency reduction a form of compound interest. And just like with your retirement account, small frequent investments earn more compound interest overall compared to big infrequent investments.
  • 151. Recap: How to Invest in Latency Reduction I Beware the Classic Blunders (paid engineer hours vs. latency, morality) I Cultivate a Calm Team-Wide Terror of Latency I Start with Operational and Process Wins I Keep it incremental
  • 152. Act 3: How to Get the Very Important People On Board with Your Investments
  • 153. These are the bosses, bosses' bosses, and so on. They sign the checks and make a lot of the decisions. How do we get them on board with our latency reduction investments?
  • 154. Allegory of the Warehouse
  • 155. Meet Bob. He's a foreman in a warehouse.
  • 156. Bob has a problem.
  • 157. Latency is way up in the warehouse, which means pro
  • 158. ts are down and the VIPs are not happy. The latency is being caused by a problem that a lot of warehouses have these days...
  • 159.
  • 160. Ninjas. Obstructionist ninjas who pop out in the aisles and...
  • 161.
  • 162. Insist that forklift operators juggle to entertain them before being allowed to be on their way.
  • 164. Even worse, the ninjas sense when VIPs are near and, being jerks, melt into the shadows, so the VIP sees only a forklift operator juggling.
  • 165. Allegorical Key: Bob = engineering leader Forklift operators = engineers Ninjas = sources of latency
  • 166. Solutions to Bob's / our problem?
  • 168. This is a natural response, but usually doesn't turn out well{we're adding bandwidth, not reducing latency. One ninja can block 4 operators in an aisle{one bottleneck getting changes to production can hold back 10 engineers.
  • 170. Maybe Bob hires only professional jugglers, who can please the ninjas quicker. Maybe we hire only those mythical 1% of engineers who can juggle all the problems and still move fast. This is better than just hiring, but isn't scaleable.
  • 172. ght to the ninjas.
  • 173. Maybe Bob's team spends Thursday afternoons hunting down the ninjas. They'll come back, but until then there's less latency. Maybe we, as engineers, spend some of our time on reducing latency.
  • 174. Only one small problem...
  • 175.
  • 176. Often to the VIPs at software businesses, the causes of latency are just as invisible as these ninjas. We sound crazy if we talk about them.
  • 177. You're telling me you want to forklift stu faster... by taking butts out of forklifts?
  • 180. The
  • 181. rst rule of selling ninja hunts to the Very Important People is...
  • 182. Do not talk about ninjas.
  • 183. The second rule of selling ninja hunts to the Very Important People is...
  • 184. DO NOT TALK about ninjas.
  • 185. Ninja Hunt Taboo{the Game I Database I Optimize I Technical Debt I etc. I etc. I etc.
  • 186. Treat selling latency reduction like a game of Taboo. Don't mention anything that sounds like the ninjas.
  • 187. Don't be this guy...
  • 189. Because inside every Very Imporant Person...
  • 191. Inside the VIP is an inner child who just wants to go fast{make decisions and see the results right away.
  • 192. The VIP Experience... Latency is way up Quick Wins are way down
  • 193. But this has been the experience since the VIP joined your business.
  • 194.
  • 195. So how do we sell latency reduction to them? By selling speeding up to that inner child. And we make the
  • 197.
  • 198. Choose a VIP-visible thing that's slow in your business{e.g., how long it takes a new advertiser to get on the site. Do a skunkworks project (o the books!) to improve it. Then advertise your sponsorship. Repeat a few times.
  • 200. Use the generated good will to carve out a constant percentage of time for speeding up. Aim for 30%. It sounds too high. It isn't.
  • 201. Let's work on features instead... Just this once.
  • 202. You want a percentage, not to have to argue for projects piecemeal, because features will always feel more important. Tie yourself to the mast with a constant percent of time.
  • 203.
  • 204. Also because a constant percent investment is a great way to invest in compound-interest bearing accounts{like latency reduction.
  • 205. ABAAH (Always be Adopting a Highway)
  • 206. Never stop sponsoring the speed up of those highly visible slow things in the business, because that percentage time is always going to be at risk.
  • 207. Recap and Parting Exhortation 1. Sell speed to the VIP's inner child with some visible, skunkworks wins 2. Use generated goodwill to carve out a constant percentage of time for latency reduction 3. Keep promoting the latency reduction wins 4. Pro
  • 208. t!
  • 209.
  • 210. More Reading I The Principles of Product Development Flow, Donald Reinertsen I How to Survive a Ground Up Rewrite, Dan Milstein I Speeding Up Your Engineering Org, Part I (Beyond the Cost Center Mentality), Edmund Jorgensen I The Goal, Eliyahu M Goldratt
  • 211. Image Credits I Piggy Bank image courtesy of http://401kcalculator.org I Michael image from https://www. ickr.com/photos/tristanreville/11297541166 I Stack of chips from https://www. ickr.com/photos/adrian s/17623439 I Speedometer image from https://www. ickr.com/photos/thatguyfromcchs08/2300190277 I Young engineer from https://www. ickr.com/photos/mightyohm/2645244056 I Boat from https://www. ickr.com/photos/lukaszduleba/8333830430 I Procrastinate pennants from https://www. ickr.com/photos/oliviaew/8387008029 I Talk is Cheap from https://www. ickr.com/photos/garryknight/6748884071 I Mismatched socks from https://www. ickr.com/photos/ nezemnaya /3008150036
  • 212. Image Credits cont. I Mushroom Cloud image from https://www. ickr.com/photos/epic
  • 213. reworks/2861531483/ I Bruce image from https://www. ickr.com/photos/mike9alive/2745045822 I Burning money from https://www. ickr.com/photos/purpleslog/2924979423 I Baggage from https://www. ickr.com/photos/aresauburnphotos/5973161314 I Boy with dragon shadow from https://www. ickr.com/photos/cadencrawford/8422302030 I Sad dog from http://www. ickr.com/photos/90543828@N00/379384313/ I Super Hero Joe from https://www. ickr.com/photos/28208534@N07/2874639194/ I Land Kayak from https://www. ickr.com/photos/romeo66/2663946311 I Monitor lizard from https://www. ickr.com/photos/arnolouise/6121333054
  • 214. Image Credits cont. cont. I Construction pit from https://www. ickr.com/photos/kenyee/2864004641 I Ouroborus from https://www. ickr.com/photos/lwr/3066148864 I Forklift operator from https://www. ickr.com/photos/toyotamheurope/6890427337 I Ninja from https://www. ickr.com/photos/thekellyscope/5057877769 I Juggler from https://www. ickr.com/photos/helico/404640681 I Convention hall from https://www. ickr.com/photos/whinger/7689179230 I Forklift eet from https://www. ickr.com/photos/39955793@N07/8620134562 I Fire juggler from https://www. ickr.com/photos/neeravbhatt/6263155845 I Lecture hall from https://www. ickr.com/photos/uniinnsbruck/3722413559
  • 215. Image Credits cont. cont. cont. I Adopt a highway from https://www. ickr.com/photos/amayzing/9469215713 I Waterhouse's Odysseus and Sirens from https://www. ickr.com/photos/ngmorieson/6081346983 I Thank you bag from https://www. ickr.com/photos/theredproject/3301279921 I Decision doodad from https://www. ickr.com/photos/garrettc/91385737
  • 216. Watch the video with slide synchronization on InfoQ.com! http://www.infoq.com/presentations/economy -team-slow-down