(2016-11-13) Kelly Software Development Is Upside Down

Allan Kelly: Software Development is Upside Down. 5 management assumptions which are reversed when you develop software: 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 (Agile Product Development)

Software development… • Does NOT have Economies of Scale • Development has DISECONOMIES of scale Therefore • Stop thinking BIG • Start thinking SMALL

Quality… makes all things possible

How do you improve quality? TDD/ATDD/BDD.

Quickest way to learn is to do. "The world you perceive is drastically simplified model of the real world. ” Herbert Simon

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

He who learns fastest wins

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. (Iterative)

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 P. Gabriel

A complex system that works is invariably found to have evolved from a simple system that worked

In software development we are constantly battling complexity

Upside down thinking makes it all more complicated.


Edited:    |       |    Search Twitter for discussion