SlideShare ist ein Scribd-Unternehmen logo
1 von 44
Allan Kelly
@allankellynet
allan@allankelly.net
http://www.allankelly.net
October 2016
is upside down
SoftwareDevelopment
Mental models
Mental models
“Agile Allan” Kelly…
Agile Training & Consulting for
Agile, adopting Agile, getting better
Organizing teams
Author
– Little Book of Requirements & User Stories
https://leanpub.com/userstories
– Xanpan: Team Centric Agile Software Development
https://leanpub.com/xanpan
– Business Patterns for Software Developers
– Changing Software Development: Learning to be Agile
allan@allankelly.net
http://www.allankelly.net
@allankellynet (Twitter)
Upsidedown
1. Diseconomies of Scale
2. Higher quality is faster
3. Quickest way to learn is to do
4. Do it right, then do the right thing
5. Worse is better
Diseconomies of Scale
Software development…
• Does NOT have economies of Scale
• Development has DISECONOMIES of scale
Milk is cheapest
in BIG cartons
Software is
cheapest in
lots of small
cartons
And small cartons
of software
reduce risk
Consider a large project
Against several small
projects
Project A: Risk = 30% Value at risk = ÂŁ1m
Therefore risk weighted value = ÂŁ300,000
Prj B: Risk = 15%
Value @ risk = £½m
Therefore … = £75,000
Prj C: Risk = 15%
Value @risk = £½m
Therefore … = £75,000
E: Risk = 6%
@risk = ÂŁ200k
Therefore = ÂŁ12k
F: Risk = 6%
@risk = ÂŁ200k
Therefore = ÂŁ12k
G: Risk = 6%
@risk = ÂŁ200k
Therefore = ÂŁ12k
H: Risk = 6%
@risk = ÂŁ200k
Therefore = ÂŁ12k
I: Risk = 6%
@risk = ÂŁ200k
Therefore = ÂŁ12k
Software development…
• Does NOT have economies of Scale
• Development has DISECONOMIES of scale
Therefore
• Stop thinking BIG
• Start thinking SMALL
Higher quality is faster
Quality… makes all things possible
Philip Crosby
"Quality has much in common with sex.
• Everyone is for it. (Under certain conditions of, course)
• Everyone feels they understand it. (Even though they
wouldn't want to explain it)
• Everyone thinks execution is only a matter of following
natural inclinations. (After all, we do get along
somehow)
And, of course, most people feel that all problems in these
areas are caused by other people."
public class RecentlyUsedList {
private List<string> list;
public RecentlyUsedList() {
list = new List<string>();
}
public string this[int index] {
get {
int position = 0;
foreach (string value in list) {
if (position == index)
return value;
++position; }
throw new ArgOutOfRngExcpt();
}
public int Count {
get {
int size = list.Count;
return size; } }
public void Add(string newItem) {
if (list.Contains(newItem)) {
int position =
list.IndexOf(newItem);
string existingItem =
list[position];
list.RemoveAt(position);
list.Insert(0, existingItem);
} else {
list.Insert(0, newItem); }
}
} }
public class RecentlyUsedList {
private List<string> list = new List<string>();
public void Add(string newItem) {
list.Remove(newItem);
list.Add(newItem); }
public int Count {
get {
return list.Count; }
}
public string this[int index] {
get {
return list[Count - index - 1]; }
} }
Code & refactoring from Kevlin Henney – www.curbralan.com
Quality -> Quicker
Capers Jones, 2008
Applied Software Measurement
Projects with low defect potentials
and
high defect removal efficiency
also have the shortest schedules,
lowest costs and
best customer satisfaction levels
Low Quality High Quality
Faster!
Low Quality High Quality
Faster!
How do you improve quality?
T D D
A T D D
B D D
John Cage
Defects are not free.
Somebody makes them, and
gets paid for making them
Quickest way to learn is
to do
"The world you perceive is drastically simplified
model of the real world. ”
Herbert A. Simon
Planning is learning
Planning is valuable
But…
Time to estimate & plan
2 minutes of work?
Average time to estimate:
6⅓ minutes
Average planning (inc. estimates):
11 minutes (total)
Mean average (median slightly less)
Data from 31 teams over 2 years
IBM 360
IBM 360 at Computer History Museum
Dave Ross: CCL license via WikiMedia
46 years …
1970 OS/360 model 195
• 10,000 KIPS (10 MIPS)
• 4096kb (4Mb)
• COBOL on OS/360
• IMS database
• Monthly rental $250,000
(Approx. $1.25m in 2016 prices)
2016 Raspberry Pi 2
• 4,744 MIPS
• 1 Gb
• Linux
• Python, Scala, Ruby, …
• SQL, NoSQL
• Buy $35
CPU cycles €€€->
Planning is cheap
CPU cycles €€€ ->
Planning is expensive
Valueofplanning
Time
Planning has rapidly diminishing
returns
Planning is learning
Planning is valuable
But…
Planning has rapidly
diminishing returns
If you want to finish sooner
Then
Start building sooner
Do it right,
then do the right thing
Humphrey's Law
“Users do not know what they want until they
see working software”
Watts Humphrey
The Alignment Trap
Less
Effective
More
Effective
Highly aligned
Less aligned
‘Alignment trap’
11% companies
+13% IT spending
-14% 3 year sales
growth
‘Maintenance zone’
74% companies
Avg IT spending
-2% 3 year sales
growth
‘IT Enabled growth’
7% companies
-6% IT spending
+35% 3 year sales
growth
‘Well-oiled IT’
8% companies
-15% IT spending
+11% 3 year sales
growth
Source:Shpilberg,Berez,Puryear,Shah:
MITSloanReview,Fall2007
1
2
Doingtherightthings
Doing things right
He who learns fastest wins
“We understand that the
only competitive advantage
the company of the future
will have is its managers’
ability to learn faster than
then their competitors.”
Arie de Geus, The Living Company 1988
1) Do it right
Build a machine which can iterate
A learning machine
2) Do the right thing
Iterate your way to the right thing
Worse is better
Worse is better
in software making (and
perhaps in other arenas as well)
it is better to start with a
minimal creation and grow it as
needed
Richard “Dick” Gabriel, 1989
https://www.dreamsongs.com/WorseIsBetter.html
Piecemeal growth
Less is more
A complex system that works is invariably found
to have evolved from a simple system that
worked.
A complex system designed from scratch never
works and cannot be patched up to make it
work. You have to start over with a working
simple system.
Gall’s law
John Gall
1975
As a rule, software systems do not
work well until they have been used,
and have failed repeatedly, in real
applications.
Dave Parnas
Start small, grow…
• Software
• Teams
• Processes
• Organization
(Don’t forget Conway’s Law!)
Worse is better mode #2
Sometimestheupsidedownis
upsidedown
Sometimes the upside down is
upside down
Complexity
In software development we are
constantly battling complexity
Upsidedownthinkingmakesitall
morecomplex
Upside down thinking makes it all
more complicated
Today’s lesson:
Think the other way around to make
the world simpler
1. Diseconomies of Scale
2. Higher quality is faster
3. Quickest way to learn is to do
4. Do it right, then do the right thing
5. Worse is better
Questions?
allan kelly
allan@allankelly.net
www.softwarestrategy.co.uk
Twitter: @allankellynet
Xanpan - Amazon or LeanPub
https://leanpub.com/xanpan
½ price discount code: Lille
Little Book
https://leanpub.com/userstories

Weitere ähnliche Inhalte

Was ist angesagt?

I build the future - Agile 2014
I build the future - Agile 2014I build the future - Agile 2014
I build the future - Agile 2014
Andrew Shafer
 
Being agile while standing in a waterfall
Being agile while standing in a waterfallBeing agile while standing in a waterfall
Being agile while standing in a waterfall
Mike Edwards
 

Was ist angesagt? (20)

Designing for Agile Delight! Customer Obsessed Innovation at Intuit
Designing for Agile Delight! Customer Obsessed Innovation at IntuitDesigning for Agile Delight! Customer Obsessed Innovation at Intuit
Designing for Agile Delight! Customer Obsessed Innovation at Intuit
 
Product owners how to get your development team to love you (product camp, 3...
Product owners  how to get your development team to love you (product camp, 3...Product owners  how to get your development team to love you (product camp, 3...
Product owners how to get your development team to love you (product camp, 3...
 
Softest bullet
Softest bulletSoftest bullet
Softest bullet
 
Agile Tour Zurich Three Secrets of Agile Leaders
Agile Tour Zurich Three Secrets of Agile LeadersAgile Tour Zurich Three Secrets of Agile Leaders
Agile Tour Zurich Three Secrets of Agile Leaders
 
What isagile
What isagileWhat isagile
What isagile
 
Chop Wood, Carry Water
Chop Wood, Carry WaterChop Wood, Carry Water
Chop Wood, Carry Water
 
IAM - One Year Later
IAM - One Year LaterIAM - One Year Later
IAM - One Year Later
 
Managing Using Intuition and Rules of Thumb 050113
Managing Using Intuition and Rules of Thumb 050113Managing Using Intuition and Rules of Thumb 050113
Managing Using Intuition and Rules of Thumb 050113
 
200229 PMDays Kharkiv 3 Secrets of Agile Leaders
200229 PMDays Kharkiv 3 Secrets of Agile Leaders200229 PMDays Kharkiv 3 Secrets of Agile Leaders
200229 PMDays Kharkiv 3 Secrets of Agile Leaders
 
Building a Culture of Success on Open Principles
Building a Culture of Success on Open PrinciplesBuilding a Culture of Success on Open Principles
Building a Culture of Success on Open Principles
 
I build the future - Agile 2014
I build the future - Agile 2014I build the future - Agile 2014
I build the future - Agile 2014
 
Three Secrets of Agile Leadership
Three Secrets of Agile LeadershipThree Secrets of Agile Leadership
Three Secrets of Agile Leadership
 
How to get your agile development team to love you (product camp, 3.14)
How to get your agile development team to love you (product camp, 3.14)How to get your agile development team to love you (product camp, 3.14)
How to get your agile development team to love you (product camp, 3.14)
 
Agile at Scale: Lessons From the Mongolian Horde and Others
Agile at Scale: Lessons From the Mongolian Horde and OthersAgile at Scale: Lessons From the Mongolian Horde and Others
Agile at Scale: Lessons From the Mongolian Horde and Others
 
Tailoring Confluence for Team Productivity
Tailoring Confluence for Team ProductivityTailoring Confluence for Team Productivity
Tailoring Confluence for Team Productivity
 
LKCE16 - Servant Leadership un-neutered by Mike Burrows
LKCE16 - Servant Leadership un-neutered by Mike BurrowsLKCE16 - Servant Leadership un-neutered by Mike Burrows
LKCE16 - Servant Leadership un-neutered by Mike Burrows
 
Become Efficient or Die: The Story of BackType
Become Efficient or Die: The Story of BackTypeBecome Efficient or Die: The Story of BackType
Become Efficient or Die: The Story of BackType
 
DevOps - Successful Patterns
DevOps - Successful PatternsDevOps - Successful Patterns
DevOps - Successful Patterns
 
Management, Multitasking, Efficiency
Management, Multitasking, EfficiencyManagement, Multitasking, Efficiency
Management, Multitasking, Efficiency
 
Being agile while standing in a waterfall
Being agile while standing in a waterfallBeing agile while standing in a waterfall
Being agile while standing in a waterfall
 

Ähnlich wie Software Development is Upside Down

How I Learned to Stop Worrying and Love Legacy Code - Ox:Agile 2018
How I Learned to Stop Worrying and Love Legacy Code - Ox:Agile 2018How I Learned to Stop Worrying and Love Legacy Code - Ox:Agile 2018
How I Learned to Stop Worrying and Love Legacy Code - Ox:Agile 2018
Mike Harris
 
Software Carpentry and the Hydrological Sciences @ AGU 2013
Software Carpentry and the Hydrological Sciences @ AGU 2013Software Carpentry and the Hydrological Sciences @ AGU 2013
Software Carpentry and the Hydrological Sciences @ AGU 2013
Aron Ahmadia
 
Embracing the Monolith in Small Teams: Doubling down on python to move fast w...
Embracing the Monolith in Small Teams: Doubling down on python to move fast w...Embracing the Monolith in Small Teams: Doubling down on python to move fast w...
Embracing the Monolith in Small Teams: Doubling down on python to move fast w...
PyData
 

Ähnlich wie Software Development is Upside Down (20)

Start small, stay small!
Start small, stay small!Start small, stay small!
Start small, stay small!
 
Binary crosswords
Binary crosswordsBinary crosswords
Binary crosswords
 
Large Components in the Rearview Mirror
Large Components in the Rearview MirrorLarge Components in the Rearview Mirror
Large Components in the Rearview Mirror
 
"Startups, comment gĂŠrer une ĂŠquipe de dĂŠveloppeurs" par Laurent Cerveau
"Startups, comment gĂŠrer une ĂŠquipe de dĂŠveloppeurs" par Laurent Cerveau"Startups, comment gĂŠrer une ĂŠquipe de dĂŠveloppeurs" par Laurent Cerveau
"Startups, comment gĂŠrer une ĂŠquipe de dĂŠveloppeurs" par Laurent Cerveau
 
The Lost Tales of Platform Design (February 2017)
The Lost Tales of Platform Design (February 2017)The Lost Tales of Platform Design (February 2017)
The Lost Tales of Platform Design (February 2017)
 
40 Agile Methods In 40 Minutes
40 Agile Methods In 40 Minutes40 Agile Methods In 40 Minutes
40 Agile Methods In 40 Minutes
 
Coaching teams in creative problem solving
Coaching teams in creative problem solvingCoaching teams in creative problem solving
Coaching teams in creative problem solving
 
Community building lessons from Ansible
Community building lessons from AnsibleCommunity building lessons from Ansible
Community building lessons from Ansible
 
How to Teach Yourself to Code
How to Teach Yourself to CodeHow to Teach Yourself to Code
How to Teach Yourself to Code
 
Scrum and-xp-from-the-trenches 03 sprint backlog & daily scrum
Scrum and-xp-from-the-trenches 03 sprint backlog & daily scrumScrum and-xp-from-the-trenches 03 sprint backlog & daily scrum
Scrum and-xp-from-the-trenches 03 sprint backlog & daily scrum
 
Software Craftsmanship and Agile Code Games
Software Craftsmanship and Agile Code GamesSoftware Craftsmanship and Agile Code Games
Software Craftsmanship and Agile Code Games
 
40 Agile Methods in 40 Minutes
40 Agile Methods in 40 Minutes40 Agile Methods in 40 Minutes
40 Agile Methods in 40 Minutes
 
Scale-Free Organizations: A Sober View, Some History, and How to Make One
Scale-Free Organizations: A Sober View, Some History, and How to Make OneScale-Free Organizations: A Sober View, Some History, and How to Make One
Scale-Free Organizations: A Sober View, Some History, and How to Make One
 
Redesigning everything ITARC Stockholm 2021
Redesigning everything ITARC Stockholm 2021Redesigning everything ITARC Stockholm 2021
Redesigning everything ITARC Stockholm 2021
 
How I Learned to Stop Worrying and Love Legacy Code - Ox:Agile 2018
How I Learned to Stop Worrying and Love Legacy Code - Ox:Agile 2018How I Learned to Stop Worrying and Love Legacy Code - Ox:Agile 2018
How I Learned to Stop Worrying and Love Legacy Code - Ox:Agile 2018
 
An Introduction to Machine Learning
An Introduction to Machine LearningAn Introduction to Machine Learning
An Introduction to Machine Learning
 
Software Carpentry and the Hydrological Sciences @ AGU 2013
Software Carpentry and the Hydrological Sciences @ AGU 2013Software Carpentry and the Hydrological Sciences @ AGU 2013
Software Carpentry and the Hydrological Sciences @ AGU 2013
 
Embracing the Monolith
Embracing the MonolithEmbracing the Monolith
Embracing the Monolith
 
Embracing the Monolith in Small Teams: Doubling down on python to move fast w...
Embracing the Monolith in Small Teams: Doubling down on python to move fast w...Embracing the Monolith in Small Teams: Doubling down on python to move fast w...
Embracing the Monolith in Small Teams: Doubling down on python to move fast w...
 
40 Agile Methods in 40 Minutes
40 Agile Methods in 40 Minutes40 Agile Methods in 40 Minutes
40 Agile Methods in 40 Minutes
 

Mehr von allan kelly

Mehr von allan kelly (20)

Planning for Value: How much? When?
Planning for Value: How much? When?Planning for Value: How much? When?
Planning for Value: How much? When?
 
Planning for Value: how much? when?
Planning for Value: how much? when?Planning for Value: how much? when?
Planning for Value: how much? when?
 
Planning for Value
Planning for ValuePlanning for Value
Planning for Value
 
#NoProjects - Teams over Projects
#NoProjects - Teams over Projects#NoProjects - Teams over Projects
#NoProjects - Teams over Projects
 
Every business a software business
Every business a software businessEvery business a software business
Every business a software business
 
No Projects - Beyond Projects (Refreshed version)
No Projects - Beyond Projects (Refreshed version)No Projects - Beyond Projects (Refreshed version)
No Projects - Beyond Projects (Refreshed version)
 
Agile Contracts
Agile ContractsAgile Contracts
Agile Contracts
 
No Projects / Beyond Projects (short version)
No Projects / Beyond Projects (short version)No Projects / Beyond Projects (short version)
No Projects / Beyond Projects (short version)
 
Agile Outside Software
Agile Outside SoftwareAgile Outside Software
Agile Outside Software
 
Agile basics
Agile basicsAgile basics
Agile basics
 
Do It Right, Then Do The Right Thing (Riga)
Do It Right, Then Do The Right Thing (Riga)Do It Right, Then Do The Right Thing (Riga)
Do It Right, Then Do The Right Thing (Riga)
 
Dialogue Sheets for Retrospectives (Riga)
Dialogue Sheets for Retrospectives (Riga)Dialogue Sheets for Retrospectives (Riga)
Dialogue Sheets for Retrospectives (Riga)
 
Conways Law & Continuous Delivery
Conways Law & Continuous DeliveryConways Law & Continuous Delivery
Conways Law & Continuous Delivery
 
Xanpan extended presentation
Xanpan extended presentationXanpan extended presentation
Xanpan extended presentation
 
Beyond projects
Beyond projectsBeyond projects
Beyond projects
 
The End of Projects & what to do about it
The End of Projects & what to do about itThe End of Projects & what to do about it
The End of Projects & what to do about it
 
Conway's Law & Continious Delivery
Conway's Law & Continious DeliveryConway's Law & Continious Delivery
Conway's Law & Continious Delivery
 
Requirements: Whose job are they anyway?
Requirements: Whose job are they anyway?Requirements: Whose job are they anyway?
Requirements: Whose job are they anyway?
 
Requirements: Whose job are they anyway?
Requirements: Whose job are they anyway?Requirements: Whose job are they anyway?
Requirements: Whose job are they anyway?
 
Patterns and Pattern Thinking for Analysis and Innovation
Patterns and Pattern Thinking for Analysis and InnovationPatterns and Pattern Thinking for Analysis and Innovation
Patterns and Pattern Thinking for Analysis and Innovation
 

KĂźrzlich hochgeladen

internship thesis pakistan aeronautical complex kamra
internship thesis pakistan aeronautical complex kamrainternship thesis pakistan aeronautical complex kamra
internship thesis pakistan aeronautical complex kamra
AllTops
 
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)

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
 
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
 
digital Human resource management presentation.pdf
digital Human resource management presentation.pdfdigital Human resource management presentation.pdf
digital Human resource management presentation.pdf
 
Information Technology Project Management, Revised 7th edition test bank.docx
Information Technology Project Management, Revised 7th edition test bank.docxInformation Technology Project Management, Revised 7th edition test bank.docx
Information Technology Project Management, Revised 7th edition test bank.docx
 
Group work -meaning and definitions- Characteristics and Importance
Group work -meaning and definitions- Characteristics and ImportanceGroup work -meaning and definitions- Characteristics and Importance
Group work -meaning and definitions- Characteristics and Importance
 
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
 
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
 
internship thesis pakistan aeronautical complex kamra
internship thesis pakistan aeronautical complex kamrainternship thesis pakistan aeronautical complex kamra
internship thesis pakistan aeronautical complex kamra
 
International Ocean Transportation p.pdf
International Ocean Transportation p.pdfInternational Ocean Transportation p.pdf
International Ocean Transportation p.pdf
 
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
 
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
 
thesis-and-viva-voce preparation for research scholars
thesis-and-viva-voce preparation for research scholarsthesis-and-viva-voce preparation for research scholars
thesis-and-viva-voce preparation for research scholars
 
Spring-2024-Priesthoods of Augustus Yale Historical Review
Spring-2024-Priesthoods of Augustus Yale Historical ReviewSpring-2024-Priesthoods of Augustus Yale Historical Review
Spring-2024-Priesthoods of Augustus Yale Historical Review
 
Persuasive and Communication is the art of negotiation.
Persuasive and Communication is the art of negotiation.Persuasive and Communication is the art of negotiation.
Persuasive and Communication is the art of negotiation.
 
The Psychology Of Motivation - Richard Brown
The Psychology Of Motivation - Richard BrownThe Psychology Of Motivation - Richard Brown
The Psychology Of Motivation - Richard Brown
 
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
 

Software Development is Upside Down

  • 4. “Agile Allan” Kelly… Agile Training & Consulting for Agile, adopting Agile, getting better Organizing teams Author – Little Book of Requirements & User Stories https://leanpub.com/userstories – Xanpan: Team Centric Agile Software Development https://leanpub.com/xanpan – Business Patterns for Software Developers – Changing Software Development: Learning to be Agile allan@allankelly.net http://www.allankelly.net @allankellynet (Twitter)
  • 5. Upsidedown 1. Diseconomies of Scale 2. Higher quality is faster 3. Quickest way to learn is to do 4. Do it right, then do the right thing 5. Worse is better
  • 7. Software development… • Does NOT have economies of Scale • Development has DISECONOMIES of scale
  • 8. Milk is cheapest in BIG cartons Software is cheapest in lots of small cartons And small cartons of software reduce risk
  • 9. Consider a large project Against several small projects Project A: Risk = 30% Value at risk = ÂŁ1m Therefore risk weighted value = ÂŁ300,000 Prj B: Risk = 15% Value @ risk = £½m Therefore … = ÂŁ75,000 Prj C: Risk = 15% Value @risk = £½m Therefore … = ÂŁ75,000 E: Risk = 6% @risk = ÂŁ200k Therefore = ÂŁ12k F: Risk = 6% @risk = ÂŁ200k Therefore = ÂŁ12k G: Risk = 6% @risk = ÂŁ200k Therefore = ÂŁ12k H: Risk = 6% @risk = ÂŁ200k Therefore = ÂŁ12k I: Risk = 6% @risk = ÂŁ200k Therefore = ÂŁ12k
  • 10. Software development… • Does NOT have economies of Scale • Development has DISECONOMIES of scale Therefore • Stop thinking BIG • Start thinking SMALL
  • 12. Quality… makes all things possible Philip Crosby "Quality has much in common with sex. • Everyone is for it. (Under certain conditions of, course) • Everyone feels they understand it. (Even though they wouldn't want to explain it) • Everyone thinks execution is only a matter of following natural inclinations. (After all, we do get along somehow) And, of course, most people feel that all problems in these areas are caused by other people."
  • 13. public class RecentlyUsedList { private List<string> list; public RecentlyUsedList() { list = new List<string>(); } public string this[int index] { get { int position = 0; foreach (string value in list) { if (position == index) return value; ++position; } throw new ArgOutOfRngExcpt(); } public int Count { get { int size = list.Count; return size; } } public void Add(string newItem) { if (list.Contains(newItem)) { int position = list.IndexOf(newItem); string existingItem = list[position]; list.RemoveAt(position); list.Insert(0, existingItem); } else { list.Insert(0, newItem); } } } }
  • 14. public class RecentlyUsedList { private List<string> list = new List<string>(); public void Add(string newItem) { list.Remove(newItem); list.Add(newItem); } public int Count { get { return list.Count; } } public string this[int index] { get { return list[Count - index - 1]; } } } Code & refactoring from Kevlin Henney – www.curbralan.com
  • 15. Quality -> Quicker Capers Jones, 2008 Applied Software Measurement Projects with low defect potentials and high defect removal efficiency also have the shortest schedules, lowest costs and best customer satisfaction levels
  • 16. Low Quality High Quality Faster!
  • 17. Low Quality High Quality Faster!
  • 18. How do you improve quality? T D D A T D D B D D
  • 19. John Cage Defects are not free. Somebody makes them, and gets paid for making them
  • 20. Quickest way to learn is to do "The world you perceive is drastically simplified model of the real world. ” Herbert A. Simon
  • 21. Planning is learning Planning is valuable But…
  • 22. Time to estimate & plan 2 minutes of work? Average time to estimate: 6⅓ minutes Average planning (inc. estimates): 11 minutes (total) Mean average (median slightly less) Data from 31 teams over 2 years
  • 23. IBM 360 IBM 360 at Computer History Museum Dave Ross: CCL license via WikiMedia
  • 24. 46 years … 1970 OS/360 model 195 • 10,000 KIPS (10 MIPS) • 4096kb (4Mb) • COBOL on OS/360 • IMS database • Monthly rental $250,000 (Approx. $1.25m in 2016 prices) 2016 Raspberry Pi 2 • 4,744 MIPS • 1 Gb • Linux • Python, Scala, Ruby, … • SQL, NoSQL • Buy $35 CPU cycles €€€-> Planning is cheap CPU cycles €€€ -> Planning is expensive
  • 26. Planning is learning Planning is valuable But… Planning has rapidly diminishing returns
  • 27. If you want to finish sooner Then Start building sooner
  • 28. Do it right, then do the right thing
  • 29. Humphrey's Law “Users do not know what they want until they see working software” Watts Humphrey
  • 30. The Alignment Trap Less Effective More Effective Highly aligned Less aligned ‘Alignment trap’ 11% companies +13% IT spending -14% 3 year sales growth ‘Maintenance zone’ 74% companies Avg IT spending -2% 3 year sales growth ‘IT Enabled growth’ 7% companies -6% IT spending +35% 3 year sales growth ‘Well-oiled IT’ 8% companies -15% IT spending +11% 3 year sales growth Source:Shpilberg,Berez,Puryear,Shah: MITSloanReview,Fall2007 1 2 Doingtherightthings Doing things right
  • 31. He who learns fastest wins “We understand that the only competitive advantage the company of the future will have is its managers’ ability to learn faster than then their competitors.” Arie de Geus, The Living Company 1988
  • 32. 1) Do it right Build a machine which can iterate A learning machine 2) Do the right thing Iterate your way to the right thing
  • 34. Worse is better in software making (and perhaps in other arenas as well) it is better to start with a minimal creation and grow it as needed Richard “Dick” Gabriel, 1989 https://www.dreamsongs.com/WorseIsBetter.html Piecemeal growth
  • 36. A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over with a working simple system. Gall’s law John Gall 1975 As a rule, software systems do not work well until they have been used, and have failed repeatedly, in real applications. Dave Parnas
  • 37. Start small, grow… • Software • Teams • Processes • Organization (Don’t forget Conway’s Law!)
  • 38. Worse is better mode #2 Sometimestheupsidedownis upsidedown Sometimes the upside down is upside down
  • 40. In software development we are constantly battling complexity
  • 42. Upside down thinking makes it all more complicated
  • 43. Today’s lesson: Think the other way around to make the world simpler 1. Diseconomies of Scale 2. Higher quality is faster 3. Quickest way to learn is to do 4. Do it right, then do the right thing 5. Worse is better
  • 44. Questions? allan kelly allan@allankelly.net www.softwarestrategy.co.uk Twitter: @allankellynet Xanpan - Amazon or LeanPub https://leanpub.com/xanpan ½ price discount code: Lille Little Book https://leanpub.com/userstories