SlideShare a Scribd company logo
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

More Related Content

PPTX
Creating a culture of continuous delivery & value
PPTX
Beyond Projects/#NoProjects
PDF
Agile Digital and the new management paradigms
PPTX
#NoProjects - Beyond Projects
PDF
Architecture, what does it even mean?
PDF
Why I Built my Career with Atlassian Tools and You Should Too!
PPTX
Beyond Projects: why projects are wrong and what to do instead
PPTX
Agile Outside Software: Does Agile work outside of sofware? #AOSW
Creating a culture of continuous delivery & value
Beyond Projects/#NoProjects
Agile Digital and the new management paradigms
#NoProjects - Beyond Projects
Architecture, what does it even mean?
Why I Built my Career with Atlassian Tools and You Should Too!
Beyond Projects: why projects are wrong and what to do instead
Agile Outside Software: Does Agile work outside of sofware? #AOSW

What's hot (20)

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

Similar to Software Development is Upside Down (20)

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

More from allan kelly (20)

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

Recently uploaded (20)

PPTX
Basics of Project Management for development of leadership skills in practice
PDF
Certified Information Systems Security Professional (CISSP) Specialization Ce...
PDF
Eugene Orlovsky CEO & Founder of Perfsys
PPTX
Time Management 2 power point presentation
PPTX
_ISO_Presentation_ISO 9001 and 45001.pptx
PDF
ANIn Mumbai 2025 | Measuring Business Value during Agile Transformation by Pr...
PDF
ORGANIZATIONAL communication -concepts and importance._20250806_112132_0000.pdf
PPTX
BASIC H2S TRAINING for oil and gas industries
PPTX
International trading agreements in world.pptx
PPT
Introduction to Operations And Supply Management
PDF
Maintaining a Quality Culture - Performance Metrics, Best Practices and QMS E...
PPTX
Principles & Theories of Mgt-Master in PM.pptx
PDF
Boost the power of design | Design Impulse
PPTX
Presentation on Housekeeping Issue @RP.pptx
PDF
TED Talk on how to make TED Talk slides.pdf
PPTX
Ryan Daly Gallardo Prod Management PPT .pptx
PPTX
TCoE_IT_Concrete industry.why is it required
PPTX
Management and Leadership across culture at McDonald's
PDF
The Untold Story of Swami Vijay Kumar Durai: Building PRS International
PPT
Operations Management Supply-Chain Management
Basics of Project Management for development of leadership skills in practice
Certified Information Systems Security Professional (CISSP) Specialization Ce...
Eugene Orlovsky CEO & Founder of Perfsys
Time Management 2 power point presentation
_ISO_Presentation_ISO 9001 and 45001.pptx
ANIn Mumbai 2025 | Measuring Business Value during Agile Transformation by Pr...
ORGANIZATIONAL communication -concepts and importance._20250806_112132_0000.pdf
BASIC H2S TRAINING for oil and gas industries
International trading agreements in world.pptx
Introduction to Operations And Supply Management
Maintaining a Quality Culture - Performance Metrics, Best Practices and QMS E...
Principles & Theories of Mgt-Master in PM.pptx
Boost the power of design | Design Impulse
Presentation on Housekeeping Issue @RP.pptx
TED Talk on how to make TED Talk slides.pdf
Ryan Daly Gallardo Prod Management PPT .pptx
TCoE_IT_Concrete industry.why is it required
Management and Leadership across culture at McDonald's
The Untold Story of Swami Vijay Kumar Durai: Building PRS International
Operations Management Supply-Chain Management

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