1 of 45

The Complexity Trap: Reevaluating our incentives

2 of 45

Hello there!

Edu Ferro Aldama

Head of Platform

3 of 45

Agenda:

  • Incentives
  • Concepts
    • Basal Cost
    • Essential/Accidental Complexity
    • Software ages like…
    • Value
  • Lean Software Development & Simplicity
  • Conclusions

4 of 45

Premises about Software

  • Software development is a team activity
  • Software is a means to an end
  • No trade-off between Quality and Speed
  • High degree of uncertainty
  • Less than half of ideas have a positive impact
  • Software has basal cost / is a liability
  • Options are valuable

4

5 of 45

Incentives

6 of 45

Technology Collector / Resume-Driven Development

7 of 45

Technology Collector / Resume-Driven Development

8 of 45

“We get paid to solve difficult problems, and if there aren’t any, we make them up.”

Edu Ferro

9 of 45

Yet another…

Blow your audience away with attractive visuals

Framework

Distributed DB

Scheduler

Scalable Web Server

10 of 45

Hero Culture

11 of 45

“Simplicity is a great virtue but it requires hard work to achieve it and education to appreciate it. And to make matters worse: complexity sells better.”

Edsger W. Dijkstra

12 of 45

(Wrong) Incentives

13 of 45

Concepts

14 of 45

Edsger W. Dijkstra

Building Fallacy

15 of 45

Building Fallacy: Team Capacity

16 of 45

Building Fallacy: Team Capacity

17 of 45

Edsger W. Dijkstra

Basal Cost

18 of 45

Basal Cost

KLO + Cognitive Load + Complexity

19 of 45

Essential vs Accidental Complexity

20 of 45

Essential vs Accidental Complexity

21 of 45

Essential vs Accidental Complexity

22 of 45

Essential vs Accidental Complexity

23 of 45

Essential vs Accidental Complexity

24 of 45

Edsger W. Dijkstra

Essential vs Accidental Complexity

25 of 45

Edsger W. Dijkstra

Software ages like…

26 of 45

Value:

Beyond Revenue Growth

27 of 45

I

Increase Revenue

Increasing sales to new or existing customers. Delighting or Disrupting to increase market share and size

R

Reduce Costs

Costs that we are currently incurring, that can be reduced. More efficient, improved margin or contribution

P

Protect Revenue

Improvements and incremental innovation to sustain current market share and revenue figures

A

Avoid Cost

Improvements to sustain current cost base. Costs we are not currently incurring but may do in the future

Value

28 of 45

Lean Software Development & Simplicity

29 of 45

Edsger W. Dijkstra

Lean Software Development

Reduce Waste

Amplify Learning

Decide as late as possible

Deliver as quickly as possible

Empower the team

Build with Integrity / quality

Optimize the whole

30 of 45

“The biggest cause of failure in software-intensive systems is not technical failure; it’s building the wrong thing.”

Mary Poppendieck

Mary Poppendieck

31 of 45

Game Over

32 of 45

Game Over

Waste

33 of 45

Game Over

Waste

Features to adapt or remove

34 of 45

Game Over

Waste

Features to adapt or remove

35 of 45

Lean Software Development / Small Safe Steps

  • Reduce waste
  • Decide as late as possible
  • Deliver as quickly as possible
  • Build with Integrity / Quality

+

  • Simplify proactively

36 of 45

Conclusions

37 of 45

Basal Cost

Essential vs Accidental Complexity

Software ages like milk

Value (Increase, Protect, Reduce, Avoid)

38 of 45

From:

  • Complexity only growing
  • Any “Shiny” Technology
  • The “Yet another” syndrome…
  • Being a Hero

To:

  • Proactive Simplification
  • Reduce Waste / Lean
  • Increase, Protect, Reduce, Avoid
  • Lean Software Development
  • Low drama flow

39 of 45

Right Incentives Drive Success

&

Simplify, Simplify, and Simplify

40 of 45

“Art is the elimination of the unnecessary ”

Pablo Picasso

41 of 45

Via Negativa (Nassim Taleb)

42 of 45

What will you eliminate Next Monday?

How will you Simplify?

How will you change your work approach?

43 of 45

Take Action.

Drive Simplicity.

44 of 45

https://cocomaterial.com

45 of 45

Thank You! there!

Edu Ferro Aldama

Head of Platform