SlideShare ist ein Scribd-Unternehmen logo
1 von 51
Downloaden Sie, um offline zu lesen
Software Engineering
for CEOs
Gabe Hamilton
And Product Managers, Tech Writer, Implementers, etc...
all the members of a software ecosystem.
a lot of companies are Software companies
and you’re
wondering...
When will it
be done?
*specifically when will Mario Kart 8 be done
Or you’re an engineer who needs to Communicate about software projects.
And engineers forget
Engineers become Director, CTO, CEO
and start wondering,
“when will it be done?”
The Problem with
Software Projects
Problems
The right Metaphor
Diseconomy of Scale
Knowledge Work Trilemma
Problems
The right Metaphor - Planning
Diseconomy of Scale - Communication
Knowledge Work Trilemma - Speed / Features /
Quality
Planning
Scaling Communication
Speed / Features / Quality
Problems Solutions
Agile planning
Pair Programming
Feature-Slip Iterations
Team Size
Hiring
Planning
Communication
Speed / Features / Quality
Problems Tech Solutions
Test Driven Development
Distributed Version Control
Continuous Integration
Deployment Pipeline
Problems
The right Metaphor - Planning
Construction
Everyone has at least some familiarity with
Construction so it’s a natural metaphor.
And it works fairly well
For the right kind of construction project
Building houses is a good metaphor for
installing software
Repeat roughly the same process many times and expect some variability.
Putting together a shed takes days, building a house takes weeks.
Installing a program on your computer takes 10 minutes, setting up a server
may take a few days.
Building something new
Something that
has never been
done before.
Software that will
make a mark on
the world!
Custom Software Systems
Have more in common with large,
ambitious construction projects.
Huge bridges, tunnels under the
ocean, mag-lev rail lines.
Billion dollar projects
In other words things that fail
Airports are a good metaphor for
software engineering.
Major Airports
Start operating when
partway done.
Each one is different.
Try difficult new things.
Projected Cost: $1.1 Billion
Actual Cost: $4.8 Billion 16 months late
Unique feature: automated baggage system
Projected Cost: $7.5 Billion
Actual Cost: $20 Billion
Unique feature: built on the ocean
https://www.infoq.com/articles/standish-chaos-2015
In my experience
10 large,
multi-year
software
projects.
Three that were
“challenged”, ie
way over time
and budget.
Each of the
three had a
well defined
plan of what
to build over
the next year.
Two were built over five years.
One was stopped after two years.
Solutions
We have found a useful metaphor for discussing
software.
It has construction and operations at the same
time. It is complex and unique.
However it is a cautionary tale, “Don’t build
software as a mega-project unless you want to fail
like a mega-project.”
Solutions
Fortunately we
don’t have the
same
constraints as a
mega-construc
tion project.
We can plan viable standalone
pieces.
We can deliver those pieces and
get feedback (MVPs)
Especially if we plan to open
before the whole thing is
complete.
Solutions
We can plan for failure.
If we know our plan won’t
be right, how do we fail
gracefully.
Deadlines need to be
feature slip.
Required features need
to be time slip.
Diseconomy of Scale
Programs are extremely complex.
To change one you need to know how it works.
*where œ = lots. Other half is rumored to consist of perspiration & inspiration.
Software is œ*
communication
Imagine a
flowchart
that explains what
1 programmer
wrote today.
Collect each day’s in a book
Add a page
explaining how
it relates to
yesterday’s
flowchart.
Give this book to the new person
Would you like
everyone else’s book
from this month?
Brooks’s law
adding [people] to a late
software project makes it
later
"Nine women can't make a baby in one month."
Communication Paths
1 person
2 people
what was I doing 3
months ago?
Communication Paths
3 people
4 people
3 paths
6 paths
# of Communication Paths
1st person has a path to each of the others
2nd person needs a path to everyone except the 1st, 

4 people = 6 paths = 3 + 2 + 1
5 people = 10 paths = 4 + 3 + 2 + 1
It’s the Summation of 1..N-1 = (N-1 x N) / 2
yay, combinatorial growth
6 people
8 people
15 paths
21 paths?
?
?
?
12 people
20 people
66 paths
190 paths
100 people ~5,000 paths
?
? ?
?
Now wait
We have 65 years of solutions to this
problem, just in software.
Hierarchy, teams, departments; Procedural,
Imperative, Functional, OO Programming;
APIs; Extreme, Agile, Scrum, Kanban Iterations;
project, product, development - lead, manager,
architects.
Many forms of Communication
More managers: build system managers, report managers.
Teams that build and maintain layers of communication
between other teams (APIs).
Technical debt as lack of communication, lurking problems
and inefficiencies throughout the code.
Solutions
The Surgical Team
We can only cluster 8
people around each
patient.
Pair Programming
Consistently pay
communication costs
upfront.
Hiring
Great people who get
more done means less
communication load.
Version Control, CI,
Branching / Merging
strategies
Communication flows
and gateways.
Trilemma: you can constrain two, the
third will move.
Speed, Features, Quality
Speed Features
Quality
Development Cost
Sales
Sales
Maintenance Cost
There are many constraints in building software, most of them are tied to the core
tradeoff between Speed, Features, and Quality.
Speed Features
Quality
There is a lot of pressure in favor of Speed and Features
And for decades this was the dominant shape
4pts
Next round, you have 6 points
Start with 10 points
Quality determines the speed limit
Every few months you have to reallocate.
4pts
2pts
Speed Deal Value
Quality
Sales for example
Same tradeoff in other knowledge work
I need you to sell $100K to these 25 customers this month
Our sales team will have the same problems
Bad requirements: these couple customers aren’t qualified
Can they be sold in a month?
I don’t know, I haven’t talked to anyone at the company yet.
Ok we sold them all!
Just don’t look at how we had to squeeze quality to do so (sold features we
don’t have, unrealistic timelines, etc)
Speed Features
Quality
Some options
A strategy from Open Source projects: Even / Odd releases
Stability release New feature release
Solutions
Agile planning
Deliver regularly
(Iterations)
Feature-Slip what makes
it into those iterations.
Hold Quality Constant
with
Pair Programming
Test Driven Development
Continuous Integration
Solutions
Next level
Continuous Delivery
“In Summary
“We need to get these
features in by the
deadline”
will kill your business.
CREDITS
Special thanks to all the people who made and
released these awesome resources for free:
â•ș Presentation template by SlidesCarnival
â•ș Photographs by Unsplash
Image Attributions
CEO cat http://mrg.bz/z9CBmN
Mountain http://mrg.bz/taTQ1v
4 books http://www.morguefile.com/archive/display/189153
Software Engineer
http://en.wikipedia.org/wiki/File:Coding_Shots_Annual_Plan_h
igh_res-5.jpg
Flowchart
http://commons.wikimedia.org/wiki/File:Euclid_flowchart_1.pn
g
Single Textbook http://en.wikipedia.org/wiki/File:Textbook.JPG
Fred Brooks
http://commons.wikimedia.org/wiki/File:Frederick_Brooks_IMG
_2261.jpg
Software Engineering
for CEOs
Gabe Hamilton

Weitere Àhnliche Inhalte

Was ist angesagt?

How DevOps is Transforming IT, and What it Can Do for Academia
How DevOps is Transforming IT, and What it Can Do for AcademiaHow DevOps is Transforming IT, and What it Can Do for Academia
How DevOps is Transforming IT, and What it Can Do for Academia
Nicole Forsgren
 

Was ist angesagt? (16)

Agile 2 - The Next Iteration of Agile - Lisa Cooney for Agile Nova 7-29-2021
Agile 2  - The Next Iteration of Agile - Lisa Cooney for Agile Nova 7-29-2021Agile 2  - The Next Iteration of Agile - Lisa Cooney for Agile Nova 7-29-2021
Agile 2 - The Next Iteration of Agile - Lisa Cooney for Agile Nova 7-29-2021
 
PMI Global Congress North America 2013 - Improving Focus and Predictability o...
PMI Global Congress North America 2013 - Improving Focus and Predictability o...PMI Global Congress North America 2013 - Improving Focus and Predictability o...
PMI Global Congress North America 2013 - Improving Focus and Predictability o...
 
Mythical Man-Month
Mythical Man-MonthMythical Man-Month
Mythical Man-Month
 
Mythical Man Month Essays on Software Engineering
Mythical Man Month Essays on Software EngineeringMythical Man Month Essays on Software Engineering
Mythical Man Month Essays on Software Engineering
 
Software development project management
Software development project managementSoftware development project management
Software development project management
 
Open Minded? Software Engineer to a UX Engineer. Ask me how. by Micael Diaz d...
Open Minded? Software Engineer to a UX Engineer. Ask me how. by Micael Diaz d...Open Minded? Software Engineer to a UX Engineer. Ask me how. by Micael Diaz d...
Open Minded? Software Engineer to a UX Engineer. Ask me how. by Micael Diaz d...
 
[XP Day Vietnam 2015] XP is not windows XP
[XP Day Vietnam 2015] XP is not windows XP[XP Day Vietnam 2015] XP is not windows XP
[XP Day Vietnam 2015] XP is not windows XP
 
Technical Debt and Selling Rearchitecture
Technical Debt and Selling RearchitectureTechnical Debt and Selling Rearchitecture
Technical Debt and Selling Rearchitecture
 
Improving Focus and Predictability on Projects with Critical Chain Project Ma...
Improving Focus and Predictability on Projects with Critical Chain Project Ma...Improving Focus and Predictability on Projects with Critical Chain Project Ma...
Improving Focus and Predictability on Projects with Critical Chain Project Ma...
 
10x programmers - What lies beneath
10x programmers - What lies beneath10x programmers - What lies beneath
10x programmers - What lies beneath
 
Why agile?
Why agile?Why agile?
Why agile?
 
Inextricably linked reproducibility and productivity in data science and ai ...
Inextricably linked reproducibility and productivity in data science and ai  ...Inextricably linked reproducibility and productivity in data science and ai  ...
Inextricably linked reproducibility and productivity in data science and ai ...
 
How DevOps is Transforming IT, and What it Can Do for Academia
How DevOps is Transforming IT, and What it Can Do for AcademiaHow DevOps is Transforming IT, and What it Can Do for Academia
How DevOps is Transforming IT, and What it Can Do for Academia
 
Software craftsmanship
Software craftsmanshipSoftware craftsmanship
Software craftsmanship
 
Lean Product Management User-Centered App Design
Lean Product Management User-Centered App DesignLean Product Management User-Centered App Design
Lean Product Management User-Centered App Design
 
Developer Nirvana
Developer NirvanaDeveloper Nirvana
Developer Nirvana
 

Ähnlich wie Software engineering for CEOs

WinSmart Technologies
WinSmart TechnologiesWinSmart Technologies
WinSmart Technologies
bijunairk
 
Software Development in 21st Century
Software Development in 21st CenturySoftware Development in 21st Century
Software Development in 21st Century
Henry Jacob
 
projectmanagement.ppt
projectmanagement.pptprojectmanagement.ppt
projectmanagement.ppt
ssuser1ecccc
 
Introducing Agile Methodologies
Introducing Agile MethodologiesIntroducing Agile Methodologies
Introducing Agile Methodologies
Stfalcon Meetups
 
Role Of Programmer On Telecom Industry
Role Of Programmer On Telecom IndustryRole Of Programmer On Telecom Industry
Role Of Programmer On Telecom Industry
Divya Watson
 

Ähnlich wie Software engineering for CEOs (20)

Software engineering for CEOs ch1
Software engineering for CEOs ch1Software engineering for CEOs ch1
Software engineering for CEOs ch1
 
Martin folwer
Martin folwerMartin folwer
Martin folwer
 
WinSmart Technologies
WinSmart TechnologiesWinSmart Technologies
WinSmart Technologies
 
Myths
MythsMyths
Myths
 
Agilelessons scanagile-final 2013
Agilelessons scanagile-final 2013Agilelessons scanagile-final 2013
Agilelessons scanagile-final 2013
 
User Driven Software Architecture
User Driven Software ArchitectureUser Driven Software Architecture
User Driven Software Architecture
 
CF Camp 2013 Software Craftsmanship for CFML Developers
CF Camp 2013 Software Craftsmanship for CFML DevelopersCF Camp 2013 Software Craftsmanship for CFML Developers
CF Camp 2013 Software Craftsmanship for CFML Developers
 
Software Development in 21st Century
Software Development in 21st CenturySoftware Development in 21st Century
Software Development in 21st Century
 
projectmanagement ppt.ppt
projectmanagement ppt.pptprojectmanagement ppt.ppt
projectmanagement ppt.ppt
 
projectmanagement.ppt
projectmanagement.pptprojectmanagement.ppt
projectmanagement.ppt
 
Use Collaboration to Solve Your Biggest Challenges
Use Collaboration to Solve Your Biggest ChallengesUse Collaboration to Solve Your Biggest Challenges
Use Collaboration to Solve Your Biggest Challenges
 
Steve mcconnell
Steve mcconnellSteve mcconnell
Steve mcconnell
 
Believe it or not - keynote CAS 2015
Believe it or not - keynote CAS 2015Believe it or not - keynote CAS 2015
Believe it or not - keynote CAS 2015
 
#NoProjects - Beyond Projects
#NoProjects - Beyond Projects#NoProjects - Beyond Projects
#NoProjects - Beyond Projects
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
A Software Problem (and a maybe-solution)
A Software Problem (and a maybe-solution)A Software Problem (and a maybe-solution)
A Software Problem (and a maybe-solution)
 
Agile Methods: Fact or Fiction
Agile Methods: Fact or FictionAgile Methods: Fact or Fiction
Agile Methods: Fact or Fiction
 
Introducing Agile Methodologies
Introducing Agile MethodologiesIntroducing Agile Methodologies
Introducing Agile Methodologies
 
Role Of Programmer On Telecom Industry
Role Of Programmer On Telecom IndustryRole Of Programmer On Telecom Industry
Role Of Programmer On Telecom Industry
 
Humane assessment on cards
Humane assessment on cardsHumane assessment on cards
Humane assessment on cards
 

Mehr von Gabriel Hamilton

Mehr von Gabriel Hamilton (14)

Javascript Smart Contracts on NEAR
Javascript Smart Contracts on NEARJavascript Smart Contracts on NEAR
Javascript Smart Contracts on NEAR
 
Smart Contracts
Smart ContractsSmart Contracts
Smart Contracts
 
Web Next
Web NextWeb Next
Web Next
 
Beyond Agile Software
Beyond Agile SoftwareBeyond Agile Software
Beyond Agile Software
 
Natural language processing: feature extraction
Natural language processing: feature extractionNatural language processing: feature extraction
Natural language processing: feature extraction
 
Adaptive software engineering
Adaptive software engineeringAdaptive software engineering
Adaptive software engineering
 
The TensorFlow dance craze
The TensorFlow dance crazeThe TensorFlow dance craze
The TensorFlow dance craze
 
DataFlow & Beam
DataFlow & BeamDataFlow & Beam
DataFlow & Beam
 
DOSUG Intro to google prediction api
DOSUG Intro to google prediction apiDOSUG Intro to google prediction api
DOSUG Intro to google prediction api
 
How BigQuery broke my heart
How BigQuery broke my heartHow BigQuery broke my heart
How BigQuery broke my heart
 
How to present lots of information on a screen
How to present lots of information on a screenHow to present lots of information on a screen
How to present lots of information on a screen
 
Intro to Google Prediction API
Intro to Google Prediction APIIntro to Google Prediction API
Intro to Google Prediction API
 
Dojo: Beautiful Web Apps, Fast
Dojo: Beautiful Web Apps, FastDojo: Beautiful Web Apps, Fast
Dojo: Beautiful Web Apps, Fast
 
Dojo: Getting Started Today
Dojo: Getting Started TodayDojo: Getting Started Today
Dojo: Getting Started Today
 

KĂŒrzlich hochgeladen

Agile Coaching Change Management Framework.pptx
Agile Coaching Change Management Framework.pptxAgile Coaching Change Management Framework.pptx
Agile Coaching Change Management Framework.pptx
alinstan901
 
internship thesis pakistan aeronautical complex kamra
internship thesis pakistan aeronautical complex kamrainternship thesis pakistan aeronautical complex kamra
internship thesis pakistan aeronautical complex kamra
AllTops
 
Abortion pills in Jeddah |‱ +966572737505 ] GET CYTOTEC
Abortion pills in Jeddah |‱ +966572737505 ] GET CYTOTECAbortion pills in Jeddah |‱ +966572737505 ] GET CYTOTEC
Abortion pills in Jeddah |‱ +966572737505 ] GET CYTOTEC
Abortion pills in Riyadh +966572737505 get cytotec
 
Beyond the Codes_Repositioning towards sustainable development
Beyond the Codes_Repositioning towards sustainable developmentBeyond the Codes_Repositioning towards sustainable development
Beyond the Codes_Repositioning towards sustainable development
Nimot Muili
 
The Psychology Of Motivation - Richard Brown
The Psychology Of Motivation - Richard BrownThe Psychology Of Motivation - Richard Brown
The Psychology Of Motivation - Richard Brown
SandaliGurusinghe2
 

KĂŒrzlich hochgeladen (16)

How Software Developers Destroy Business Value.pptx
How Software Developers Destroy Business Value.pptxHow Software Developers Destroy Business Value.pptx
How Software Developers Destroy Business Value.pptx
 
Marketing Management 16th edition by Philip Kotler test bank.docx
Marketing Management 16th edition by Philip Kotler test bank.docxMarketing Management 16th edition by Philip Kotler test bank.docx
Marketing Management 16th edition by Philip Kotler test bank.docx
 
Agile Coaching Change Management Framework.pptx
Agile Coaching Change Management Framework.pptxAgile Coaching Change Management Framework.pptx
Agile Coaching Change Management Framework.pptx
 
International Ocean Transportation p.pdf
International Ocean Transportation p.pdfInternational Ocean Transportation p.pdf
International Ocean Transportation p.pdf
 
digital Human resource management presentation.pdf
digital Human resource management presentation.pdfdigital Human resource management presentation.pdf
digital Human resource management presentation.pdf
 
internship thesis pakistan aeronautical complex kamra
internship thesis pakistan aeronautical complex kamrainternship thesis pakistan aeronautical complex kamra
internship thesis pakistan aeronautical complex kamra
 
Gautam Buddh Nagar Call Girls đŸ„° 8617370543 Service Offer VIP Hot Model
Gautam Buddh Nagar Call Girls đŸ„° 8617370543 Service Offer VIP Hot ModelGautam Buddh Nagar Call Girls đŸ„° 8617370543 Service Offer VIP Hot Model
Gautam Buddh Nagar Call Girls đŸ„° 8617370543 Service Offer VIP Hot Model
 
Siliguri Escorts Service Girl ^ 9332606886, WhatsApp Anytime Siliguri
Siliguri Escorts Service Girl ^ 9332606886, WhatsApp Anytime SiliguriSiliguri Escorts Service Girl ^ 9332606886, WhatsApp Anytime Siliguri
Siliguri Escorts Service Girl ^ 9332606886, WhatsApp Anytime Siliguri
 
Abortion pills in Jeddah |‱ +966572737505 ] GET CYTOTEC
Abortion pills in Jeddah |‱ +966572737505 ] GET CYTOTECAbortion pills in Jeddah |‱ +966572737505 ] GET CYTOTEC
Abortion pills in Jeddah |‱ +966572737505 ] GET CYTOTEC
 
Intro_University_Ranking_Introduction.pptx
Intro_University_Ranking_Introduction.pptxIntro_University_Ranking_Introduction.pptx
Intro_University_Ranking_Introduction.pptx
 
Reviewing and summarization of university ranking system to.pptx
Reviewing and summarization of university ranking system  to.pptxReviewing and summarization of university ranking system  to.pptx
Reviewing and summarization of university ranking system to.pptx
 
Beyond the Codes_Repositioning towards sustainable development
Beyond the Codes_Repositioning towards sustainable developmentBeyond the Codes_Repositioning towards sustainable development
Beyond the Codes_Repositioning towards sustainable development
 
Leaders enhance communication by actively listening, providing constructive f...
Leaders enhance communication by actively listening, providing constructive f...Leaders enhance communication by actively listening, providing constructive f...
Leaders enhance communication by actively listening, providing constructive f...
 
W.H.Bender Quote 62 - Always strive to be a Hospitality Service professional
W.H.Bender Quote 62 - Always strive to be a Hospitality Service professionalW.H.Bender Quote 62 - Always strive to be a Hospitality Service professional
W.H.Bender Quote 62 - Always strive to be a Hospitality Service professional
 
Safety T fire missions army field Artillery
Safety T fire missions army field ArtillerySafety T fire missions army field Artillery
Safety T fire missions army field Artillery
 
The Psychology Of Motivation - Richard Brown
The Psychology Of Motivation - Richard BrownThe Psychology Of Motivation - Richard Brown
The Psychology Of Motivation - Richard Brown
 

Software engineering for CEOs

  • 2. And Product Managers, Tech Writer, Implementers, etc... all the members of a software ecosystem.
  • 3. a lot of companies are Software companies
  • 4. and you’re wondering... When will it be done? *specifically when will Mario Kart 8 be done
  • 5. Or you’re an engineer who needs to Communicate about software projects.
  • 6. And engineers forget Engineers become Director, CTO, CEO and start wondering, “when will it be done?”
  • 8. Problems The right Metaphor Diseconomy of Scale Knowledge Work Trilemma
  • 9. Problems The right Metaphor - Planning Diseconomy of Scale - Communication Knowledge Work Trilemma - Speed / Features / Quality
  • 10. Planning Scaling Communication Speed / Features / Quality Problems Solutions Agile planning Pair Programming Feature-Slip Iterations Team Size Hiring
  • 11. Planning Communication Speed / Features / Quality Problems Tech Solutions Test Driven Development Distributed Version Control Continuous Integration Deployment Pipeline
  • 13. Construction Everyone has at least some familiarity with Construction so it’s a natural metaphor. And it works fairly well For the right kind of construction project
  • 14. Building houses is a good metaphor for installing software Repeat roughly the same process many times and expect some variability. Putting together a shed takes days, building a house takes weeks. Installing a program on your computer takes 10 minutes, setting up a server may take a few days.
  • 15. Building something new Something that has never been done before. Software that will make a mark on the world!
  • 16. Custom Software Systems Have more in common with large, ambitious construction projects. Huge bridges, tunnels under the ocean, mag-lev rail lines. Billion dollar projects
  • 17. In other words things that fail
  • 18. Airports are a good metaphor for software engineering.
  • 19. Major Airports Start operating when partway done. Each one is different. Try difficult new things.
  • 20. Projected Cost: $1.1 Billion Actual Cost: $4.8 Billion 16 months late Unique feature: automated baggage system
  • 21. Projected Cost: $7.5 Billion Actual Cost: $20 Billion Unique feature: built on the ocean
  • 23. In my experience 10 large, multi-year software projects. Three that were “challenged”, ie way over time and budget. Each of the three had a well defined plan of what to build over the next year. Two were built over five years. One was stopped after two years.
  • 24. Solutions We have found a useful metaphor for discussing software. It has construction and operations at the same time. It is complex and unique. However it is a cautionary tale, “Don’t build software as a mega-project unless you want to fail like a mega-project.”
  • 25. Solutions Fortunately we don’t have the same constraints as a mega-construc tion project. We can plan viable standalone pieces. We can deliver those pieces and get feedback (MVPs) Especially if we plan to open before the whole thing is complete.
  • 26. Solutions We can plan for failure. If we know our plan won’t be right, how do we fail gracefully. Deadlines need to be feature slip. Required features need to be time slip.
  • 27. Diseconomy of Scale Programs are extremely complex. To change one you need to know how it works. *where Âœ = lots. Other half is rumored to consist of perspiration & inspiration. Software is Âœ* communication
  • 28. Imagine a flowchart that explains what 1 programmer wrote today.
  • 29. Collect each day’s in a book Add a page explaining how it relates to yesterday’s flowchart.
  • 30. Give this book to the new person Would you like everyone else’s book from this month?
  • 31. Brooks’s law adding [people] to a late software project makes it later "Nine women can't make a baby in one month."
  • 32. Communication Paths 1 person 2 people what was I doing 3 months ago?
  • 33. Communication Paths 3 people 4 people 3 paths 6 paths
  • 34. # of Communication Paths 1st person has a path to each of the others 2nd person needs a path to everyone except the 1st, 
 4 people = 6 paths = 3 + 2 + 1 5 people = 10 paths = 4 + 3 + 2 + 1 It’s the Summation of 1..N-1 = (N-1 x N) / 2 yay, combinatorial growth
  • 35. 6 people 8 people 15 paths 21 paths? ? ? ?
  • 36. 12 people 20 people 66 paths 190 paths 100 people ~5,000 paths ? ? ? ?
  • 37. Now wait We have 65 years of solutions to this problem, just in software. Hierarchy, teams, departments; Procedural, Imperative, Functional, OO Programming; APIs; Extreme, Agile, Scrum, Kanban Iterations; project, product, development - lead, manager, architects.
  • 38. Many forms of Communication More managers: build system managers, report managers. Teams that build and maintain layers of communication between other teams (APIs). Technical debt as lack of communication, lurking problems and inefficiencies throughout the code.
  • 39. Solutions The Surgical Team We can only cluster 8 people around each patient. Pair Programming Consistently pay communication costs upfront. Hiring Great people who get more done means less communication load. Version Control, CI, Branching / Merging strategies Communication flows and gateways.
  • 40. Trilemma: you can constrain two, the third will move. Speed, Features, Quality
  • 41. Speed Features Quality Development Cost Sales Sales Maintenance Cost There are many constraints in building software, most of them are tied to the core tradeoff between Speed, Features, and Quality.
  • 42. Speed Features Quality There is a lot of pressure in favor of Speed and Features And for decades this was the dominant shape
  • 43. 4pts Next round, you have 6 points Start with 10 points Quality determines the speed limit Every few months you have to reallocate. 4pts 2pts
  • 44. Speed Deal Value Quality Sales for example Same tradeoff in other knowledge work I need you to sell $100K to these 25 customers this month
  • 45. Our sales team will have the same problems Bad requirements: these couple customers aren’t qualified Can they be sold in a month? I don’t know, I haven’t talked to anyone at the company yet. Ok we sold them all! Just don’t look at how we had to squeeze quality to do so (sold features we don’t have, unrealistic timelines, etc)
  • 46. Speed Features Quality Some options A strategy from Open Source projects: Even / Odd releases Stability release New feature release
  • 47. Solutions Agile planning Deliver regularly (Iterations) Feature-Slip what makes it into those iterations. Hold Quality Constant with Pair Programming Test Driven Development Continuous Integration
  • 49. “In Summary “We need to get these features in by the deadline” will kill your business.
  • 50. CREDITS Special thanks to all the people who made and released these awesome resources for free: â•ș Presentation template by SlidesCarnival â•ș Photographs by Unsplash Image Attributions CEO cat http://mrg.bz/z9CBmN Mountain http://mrg.bz/taTQ1v 4 books http://www.morguefile.com/archive/display/189153 Software Engineer http://en.wikipedia.org/wiki/File:Coding_Shots_Annual_Plan_h igh_res-5.jpg Flowchart http://commons.wikimedia.org/wiki/File:Euclid_flowchart_1.pn g Single Textbook http://en.wikipedia.org/wiki/File:Textbook.JPG Fred Brooks http://commons.wikimedia.org/wiki/File:Frederick_Brooks_IMG _2261.jpg