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

More Related Content

What's hot

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 IntuitAtlassian
 
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...Ron Lichty
 
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 LeadersPeter Stevens
 
Chop Wood, Carry Water
Chop Wood, Carry WaterChop Wood, Carry Water
Chop Wood, Carry WaterAndrew Shafer
 
IAM - One Year Later
IAM - One Year LaterIAM - One Year Later
IAM - One Year LaterDave Shields
 
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 050113MWMantle
 
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 LeadersPeter Stevens
 
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 PrinciplesAtlassian
 
I build the future - Agile 2014
I build the future - Agile 2014I build the future - Agile 2014
I build the future - Agile 2014Andrew Shafer
 
Three Secrets of Agile Leadership
Three Secrets of Agile LeadershipThree Secrets of Agile Leadership
Three Secrets of Agile LeadershipPeter Stevens
 
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)Ron Lichty
 
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 OthersAtlassian
 
Tailoring Confluence for Team Productivity
Tailoring Confluence for Team ProductivityTailoring Confluence for Team Productivity
Tailoring Confluence for Team ProductivityAtlassian
 
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 BurrowsLean Kanban Central Europe
 
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 BackTypenathanmarz
 
DevOps - Successful Patterns
DevOps - Successful PatternsDevOps - Successful Patterns
DevOps - Successful PatternsCreationline,inc.
 
Management, Multitasking, Efficiency
Management, Multitasking, EfficiencyManagement, Multitasking, Efficiency
Management, Multitasking, EfficiencyPeter Stevens
 
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 waterfallMike Edwards
 

What's hot (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
 

Similar to Software Development is Upside Down

Start small, stay small!
Start small, stay small!Start small, stay small!
Start small, stay small!Marcin Czenko
 
Large Components in the Rearview Mirror
Large Components in the Rearview MirrorLarge Components in the Rearview Mirror
Large Components in the Rearview MirrorMichelle Brush
 
"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 CerveauTheFamily
 
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)Julien SIMON
 
40 Agile Methods In 40 Minutes
40 Agile Methods In 40 Minutes40 Agile Methods In 40 Minutes
40 Agile Methods In 40 MinutesCraig Smith
 
Coaching teams in creative problem solving
Coaching teams in creative problem solvingCoaching teams in creative problem solving
Coaching teams in creative problem solvingFlowa Oy
 
Community building lessons from Ansible
Community building lessons from AnsibleCommunity building lessons from Ansible
Community building lessons from AnsibleGreg DeKoenigsberg
 
How to Teach Yourself to Code
How to Teach Yourself to CodeHow to Teach Yourself to Code
How to Teach Yourself to CodeMattan Griffel
 
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 scrumHossam Hassan
 
Software Craftsmanship and Agile Code Games
Software Craftsmanship and Agile Code GamesSoftware Craftsmanship and Agile Code Games
Software Craftsmanship and Agile Code GamesMike Clement
 
40 Agile Methods in 40 Minutes
40 Agile Methods in 40 Minutes40 Agile Methods in 40 Minutes
40 Agile Methods in 40 MinutesCraig Smith
 
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 OneJames Coplien
 
Redesigning everything ITARC Stockholm 2021
Redesigning everything ITARC Stockholm 2021Redesigning everything ITARC Stockholm 2021
Redesigning everything ITARC Stockholm 2021Alberto Brandolini
 
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 2018Mike Harris
 
An Introduction to Machine Learning
An Introduction to Machine LearningAn Introduction to Machine Learning
An Introduction to Machine LearningAngelo Simone Scotto
 
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 2013Aron Ahmadia
 
Embracing the Monolith
Embracing the MonolithEmbracing the Monolith
Embracing the MonolithLeon Sasson
 
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
 
40 Agile Methods in 40 Minutes
40 Agile Methods in 40 Minutes40 Agile Methods in 40 Minutes
40 Agile Methods in 40 MinutesCraig Smith
 

Similar to 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
 

More from allan kelly

Planning for Value: How much? When?
Planning for Value: How much? When?Planning for Value: How much? When?
Planning for Value: How much? When?allan kelly
 
Planning for Value: how much? when?
Planning for Value: how much? when?Planning for Value: how much? when?
Planning for Value: how much? when?allan kelly
 
Planning for Value
Planning for ValuePlanning for Value
Planning for Valueallan kelly
 
#NoProjects - Teams over Projects
#NoProjects - Teams over Projects#NoProjects - Teams over Projects
#NoProjects - Teams over Projectsallan kelly
 
Every business a software business
Every business a software businessEvery business a software business
Every business a software businessallan kelly
 
No Projects - Beyond Projects (Refreshed version)
No Projects - Beyond Projects (Refreshed version)No Projects - Beyond Projects (Refreshed version)
No Projects - Beyond Projects (Refreshed version)allan kelly
 
No Projects / Beyond Projects (short version)
No Projects / Beyond Projects (short version)No Projects / Beyond Projects (short version)
No Projects / Beyond Projects (short version)allan kelly
 
Agile Outside Software
Agile Outside SoftwareAgile Outside Software
Agile Outside Softwareallan kelly
 
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)allan kelly
 
Dialogue Sheets for Retrospectives (Riga)
Dialogue Sheets for Retrospectives (Riga)Dialogue Sheets for Retrospectives (Riga)
Dialogue Sheets for Retrospectives (Riga)allan kelly
 
Conways Law & Continuous Delivery
Conways Law & Continuous DeliveryConways Law & Continuous Delivery
Conways Law & Continuous Deliveryallan kelly
 
Xanpan extended presentation
Xanpan extended presentationXanpan extended presentation
Xanpan extended presentationallan kelly
 
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 itallan kelly
 
Conway's Law & Continious Delivery
Conway's Law & Continious DeliveryConway's Law & Continious Delivery
Conway's Law & Continious Deliveryallan kelly
 
Requirements: Whose job are they anyway?
Requirements: Whose job are they anyway?Requirements: Whose job are they anyway?
Requirements: Whose job are they anyway?allan kelly
 
Requirements: Whose job are they anyway?
Requirements: Whose job are they anyway?Requirements: Whose job are they anyway?
Requirements: Whose job are they anyway?allan kelly
 
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 Innovationallan kelly
 

More from 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
 

Recently uploaded

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.pptxAaron Stannard
 
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 ArtilleryKennethSwanberg
 
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 professionalWilliam (Bill) H. Bender, FCSI
 
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.docxssuserf63bd7
 
International Ocean Transportation p.pdf
International Ocean Transportation p.pdfInternational Ocean Transportation p.pdf
International Ocean Transportation p.pdfAlejandromexEspino
 
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 Reviewyalehistoricalreview
 
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.docxssuserf63bd7
 
internship thesis pakistan aeronautical complex kamra
internship thesis pakistan aeronautical complex kamrainternship thesis pakistan aeronautical complex kamra
internship thesis pakistan aeronautical complex kamraAllTops
 
The Psychology Of Motivation - Richard Brown
The Psychology Of Motivation - Richard BrownThe Psychology Of Motivation - Richard Brown
The Psychology Of Motivation - Richard BrownSandaliGurusinghe2
 
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.aruny7087
 
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 Siligurimeghakumariji156
 
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 ModelNitya salvi
 
digital Human resource management presentation.pdf
digital Human resource management presentation.pdfdigital Human resource management presentation.pdf
digital Human resource management presentation.pdfArtiSrivastava23
 
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 Importanceajay0134
 
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 scholarsPAmudhaKumar
 
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 developmentNimot Muili
 

Recently uploaded (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
 
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
 
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
 
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
 
International Ocean Transportation p.pdf
International Ocean Transportation p.pdfInternational Ocean Transportation p.pdf
International Ocean Transportation p.pdf
 
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
 
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
 
internship thesis pakistan aeronautical complex kamra
internship thesis pakistan aeronautical complex kamrainternship thesis pakistan aeronautical complex kamra
internship thesis pakistan aeronautical complex kamra
 
The Psychology Of Motivation - Richard Brown
The Psychology Of Motivation - Richard BrownThe Psychology Of Motivation - Richard Brown
The Psychology Of Motivation - Richard Brown
 
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.
 
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
 
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
 
digital Human resource management presentation.pdf
digital Human resource management presentation.pdfdigital Human resource management presentation.pdf
digital Human resource management presentation.pdf
 
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
 
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
 
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
 

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