Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

Forget efficiency – Become more productive with...

Forget efficiency – Become more productive without the stress

This slide deck discusses why the widespread focus on efficiency improvements in software development (and beyond) very often is counterproductive.

It starts with a quick introduction what efficiency is and why it is desirable. Then it moves on to the observation that cost reductions which are the ultimate goal of efficiency improvements are only half the picture. The other side is the revenue which – as we see – usually has become unpredictable in today's post-industrial markets. As a consequence, efficiency improvements are pointless (or worse) unless we make sure that the thing we do actually creates value and based on this revenue.

This leads to effectiveness. While often confused with efficiency, effectiveness is something completely different. The slide deck defines effectiveness and discusses why it actually is much more important than efficiency and why it is (still) neglected so often.

A way to foster effectiveness in software development is presented and it is discussed how it helps to address the underlying issues that typically lead to (pointless) efficiency improvement pressure in a much better and healthier way.

Finally, some more sources of waste based on the relentless pursuit of more efficiency are briefly discussed and what an "average" person in software development (not being in higher management) can do to nudge a company's software development process towards more effectiveness.

As always, the voice track is missing but I hope the slide deck still contains a few useful ideas for you.

Uwe Friedrichsen

November 04, 2024
Tweet

More Decks by Uwe Friedrichsen

Other Decks in Technology

Transcript

  1. "Efficiency is the ability to do things well, successfully, and

    without waste.” — https://en.wikipedia.org/wiki/Efficiency
  2. Profit = Revenue - Expenses Revenue Expenses Profit Money Focus

    solely on expenses Revenue assumed “given” and fixed
  3. Profit = Revenue - Expenses Revenue Expenses Profit Money Controllable

    (controlled internally) Outside of control (controlled by the market)
  4. Formal part of value creation Solution: machine Dynamic part of

    value creation Solution: man sluggishness/low dynamic high dynamic high dynamic The historical course of market dynamics and the recent rise of highly dynamic and complex markets The dominance of high dynamics and complexity is neither good nor bad. It‘s a historical fact. t 1970/80 today Age of crafts manu- facturing Age of tayloristic industry Age of global markets 1850/1900 Spacious markets, little competition Local markets, high customi- zation Outperformers exercise market pressure over conventional companies We call the graph shown here the “Taylor Bathtub”. The “bathtub” curve Source: BetaCodex Network Associates, “Organize for complexity”, BetaCodex Network White Paper 12 & 13
  5. Formal part of value creation Solution: machine Dynamic part of

    value creation Solution: man sluggishness/low dynamic high dynamic high dynamic The historical course of market dynamics and the recent rise of highly dynamic and complex markets The dominance of high dynamics and complexity is neither good nor bad. It‘s a historical fact. t 1970/80 today Age of crafts manu- facturing Age of tayloristic industry Age of global markets 1850/1900 Spacious markets, little competition Local markets, high customi- zation Outperformers exercise market pressure over conventional companies We call the graph shown here the “Taylor Bathtub”. Pre-industrial era Source: BetaCodex Network Associates, “Organize for complexity”, BetaCodex Network White Paper 12 & 13 Tailor-made solutions Mastery is key to success
  6. Formal part of value creation Solution: machine Dynamic part of

    value creation Solution: man sluggishness/low dynamic high dynamic high dynamic The historical course of market dynamics and the recent rise of highly dynamic and complex markets The dominance of high dynamics and complexity is neither good nor bad. It‘s a historical fact. t 1970/80 today Age of crafts manu- facturing Age of tayloristic industry Age of global markets 1850/1900 Spacious markets, little competition Local markets, high customi- zation Outperformers exercise market pressure over conventional companies We call the graph shown here the “Taylor Bathtub”. Industrial era Source: BetaCodex Network Associates, “Organize for complexity”, BetaCodex Network White Paper 12 & 13 Cost-efficiently scale production Getting more done with less people is key to success
  7. Formal part of value creation Solution: machine Dynamic part of

    value creation Solution: man sluggishness/low dynamic high dynamic high dynamic The historical course of market dynamics and the recent rise of highly dynamic and complex markets The dominance of high dynamics and complexity is neither good nor bad. It‘s a historical fact. t 1970/80 today Age of crafts manu- facturing Age of tayloristic industry Age of global markets 1850/1900 Spacious markets, little competition Local markets, high customi- zation Outperformers exercise market pressure over conventional companies We call the graph shown here the “Taylor Bathtub”. Post-industrial era Source: BetaCodex Network Associates, “Organize for complexity”, BetaCodex Network White Paper 12 & 13 Continuously respond to changing demands Continuous market adaption is key to success
  8. Industrial Post-industrial Demand >> Supply Supply >> Demand Demand-Supply Ratio

    Driven by Consumer Low Short Narrow, fast Fast feedback & adaptability Dictated by Supplier Market development High Success certainty Long Refinancing period Market characteristics Wide, sluggish Cost-efficiency & scale Preferred strategy
  9. Industrial markets (demand >> supply – supplier-driven – high certainty)

    Sales are certain due to demand surplus Due to sales certainty, we can (mostly) neglect the market side and focus on optimizing our production processes. controlled internally Output Expenses Production controlled by market Revenue Outcome Sales
  10. Post-industrial markets (supply >> demand – consumer-driven – high uncertainty)

    controlled internally Output Expenses Production Uncertainty controlled by market Revenue Outcome Sales ?
  11. The effect of uncertainty Under uncertainty we cannot predict upfront

    which kind of performance we are going to produce. Output Uncertainty Outcome Value-adding performance Idle performance Value-reducing performance Revenue
  12. controlled internally Output Post-industrial markets (supply >> demand – consumer-driven

    – high uncertainty) Due to uncertainty, we cannot predict success anymore. Simply optimizing production processes does not guarantee success. Expenses Production Uncertainty controlled by market Revenue Outcome Sales ?
  13. A rule of thumb from the startup scene states: 1

    out of 10 features implemented is successful * * i.e., creates outcome / impact / revenue
  14. Value-adding performance Idle performance Value-reducing performance Companies continually measuring outcome

    20% 40% 40% Best in class companies 33% 33% 33% Average company ~10% ~ 50% ~ 40% ∅
  15. Expected value does not manifest Shotgun implementation We need more

    features! Implementation must become faster! (a.k.a. more efficiency)
  16. Consequences • Huge waste of money and efforts • Massive

    developer burnout rates • Exploding system complexity • Deteriorating system quality and dependability • Everyone else unsatisfied and stressed, too
  17. Optimizing for quality and cycle times will result in higher

    costs Optimizing for quality and costs will result in long cycle times Optimizing for cycle times and costs will result in reduced quality You may pick two Good Fast Cheap
  18. You may pick two Good Fast Cheap Industrial IT Deliver

    large batches at minimized costs towards slow markets Post-industrial IT Quickly adapt to ever-changing needs of dynamic, fast-moving markets Startup IT Test hypotheses and pivot as fast as possible to discover a product-market fit
  19. You may pick two Good Fast Cheap Industrial IT Deliver

    large batches at minimized costs towards slow markets Post-industrial IT Quickly adapt to ever-changing needs of dynamic, fast-moving markets Startup IT Test hypotheses and pivot as fast as possible to discover a product-market fit Efficiency-focused companies aim to improve cost-efficiency without compromising quality
  20. They work for 30+ years towards this goal. They launched

    dozens of initiatives to improve efficiency. They put massive amounts of money and effort into it.
  21. Ask them if their IT is blazingly fast. Ask them

    if their software quality is superb.
  22. "The definition of insanity is doing the same thing over

    and over again and expecting different results.” -- (Not) Albert Einstein
  23. Consequences • Huge waste of money and efforts • Massive

    developer burnout rates • Exploding system complexity • Deteriorating system quality and dependability • Everyone else unsatisfied and stressed, too
  24. controlled internally Output Post-industrial markets (supply >> demand – consumer-driven

    – high uncertainty) Due to uncertainty, we cannot predict success anymore. Simply optimizing production processes does not guarantee success. Expenses Production Uncertainty controlled by market Revenue Outcome Sales ? We want to maximize outcome/revenue per Euro invested The goal is not to maximize output (never was the goal) Problem: Outcome/revenue per Euro invested is uncertain
  25. We need to accept we do not know upfront what

    will create value * * value: short for outcome/impact/revenue
  26. Uncertainty eats effectiveness * for breakfast * a.k.a. doing the

    right thing / value predictability / outcome / impact
  27. "It is far better to do the right thing wrong

    than to do the wrong thing right.” -- Russell L. Ackoff
  28. Our biggest challenge in IT is a lack of effectiveness,

    not a lack of efficiency. Software development, especially coding is extremely efficient.
  29. Our problem is not that we do not create enough

    software. We create way more software than we need. But most software created is just waste.
  30. Value-adding performance Idle performance Value-reducing performance Best in class companies

    33% 33% 33% Companies continually measuring outcome 20% 40% 40% Average company ~10% ~ 50% ~ 40% ∅
  31. Increasing efficiency by 10% ~1% added value ~9% more waste

    & value destruction Increasing effectiveness by 10% ~100% added value ~10% less waste & value destruction
  32. Specify idea (poorly) in detail * Mind Wegner’s Lemma: "It

    is impossible to fully specify or test an interactive system designed to respond to external inputs." The traditional (industrial-minded) way Insist in complete implementation Complain about exceeding budget Blame developers Release after completed See what happens Claim the glory Successful (~10% chance) Not successful (~90% chance) Hush it up or blame someone else Increase pressure on developers Continuously adjust requirements *
  33. Revenue Expenses Expected (based on business-case) Money ∅ Revenue Expenses

    Money Actual (based on reality) The traditional (industrial-minded) way
  34. Unpredictable actual revenue Representation inspired by a presentation of Gregor

    Hohpe Money The traditional (industrial-minded) way t Implementation phase Expenses without revenue Expected revenue Average actual revenue
  35. Imagine you have 10 ideas and EUR 10 million budget

    Where do you end up following the traditional way?
  36. Effects of the traditional way • > EUR 10 Mio

    spent (plus lots of time and well-being) • 1 valuable feature • Added accidental complexity from 9 worthless features • Future implementations will be • Slower • More expensive • More error-prone
  37. Let us split up the idea in a series of

    small questions (hypotheses) … … and validate the users’ feedback for each hypothesis before moving on …
  38. The alternative (post-industrial-minded) way Hypothesis confirmed? Implement and deploy with

    minimal effort No Pivot? Choose next most significant hypothesis Measure users’ feedback Adjust idea and hypotheses Yes Done? Yes No Break idea down in small hypotheses Remaining * No Remaining Yes * Usually, you already start making revenue while still validating the idea
  39. Money The alternative (post-industrial-minded) way t Much less money at

    stake at once Prior feature release date Break-even line Value creation (revenue) starts a lot earlier Idle and value-reducing performances Immediately detected and cut off Break-even before original release date Done before budget is spent Expenses Revenue Successful feature
  40. Money The alternative (post-industrial-minded) way t Early stop decision –

    Much budget saved Prior feature release date Break-even line No positive feedback even after pivot Expenses Revenue Non-successful feature
  41. Imagine you have 10 ideas and EUR 10 million budget

    Where do you end up following the alternative way?
  42. Assumptions • 1 out of 10 ideas is successful •

    Unsuccessful ideas discarded after spending 1/10 of budget • Revenue made while validating ideas not considered
  43. Effects of the alternative way (1/2) • < EUR 2

    Mio spent (> 80% budget saved) • 1 valuable feature (unchanged) • 80% less developer capacity needed • Massively reduced burnout rate • Invest in higher dependability and sustainability • Powerful mitigation of skills shortage problem
  44. Effects of the alternative way (2/2) • No accidental complexity

    from 9 worthless features added • Less code • Less complexity • Future implementations will be • Faster • Less expensive • Less error-prone
  45. In an uncertain world avoid requirements * and embrace hypotheses

    * because requirements provide a false sense of predictability
  46. Additional drivers of waste • Project-centric organizations • Cost-centric governance

    processes • Heavyweight software development processes • Output-based KPIs/OKRs • Die-hard belief in predictability • Politics & management power games • Technology infatuation • …
  47. Possible starting points • Ask ”Why?” • Ask for value-related

    metrics (outcome/impact) • Measure feature usage • Go DevOps / “Product” / Team topologies / UnFix Be kind, yet persistent
  48. "It is easier to ask for forgiveness than to ask

    for permission” -- Grace Hopper
  49. Wrap-up • The unproductive developer is a myth! • Developers

    are very efficient • They are just forced to be non-effective • > 80% useless work are the norm • Accept uncertainty and focus on effectiveness • Much bigger productivity lever • Reduces stress, burnout, system complexity, … • Powerful mitigation of skills shortage
  50. PS: AI does not solve any of these problems AI

    can only support you becoming more efficient, not becoming more effective