- A conversation with Kent Beck at Thoughtworks.
- Accelerating Upside: Convexity in Software Development
Kent Beck with this typical dry techie brash one liner…
“Waterfall got it right, sort of.”
The room cringed.
He would later return to that statement to clarify.
For some problems, or more accurately for some levels of maturity, waterfall might actually be the right solution.
In his talk at ThoughtWorks he drew up two interesting sets of diagrams. I’d like to share those for later reflection.
And to add, it was exciting to see one of the grand fathers of software development chatting away in a bow tie. Awesome night.
1. Concave projects
This curve shows diminishing marginal returns. Each increment of success brings a smaller increment of payoff.
2. Convex projects
This curve shows a focus on moving towards a significant moment of traction after prolonged experimentation.
“The message here isn’t that ‘convex good, concave bad’. The goal is to maximize the accumulated slope of the payoff.”
3. The 3 natural phases of most living things, including technology products and teams.
This curve highlights the 3 phases of growth. A natural law.
It’s the point of change from one phase to the next that presents significant challenges.
It’s interesting to hear Kent Beck acknowledge that he finds himself most useful as an Explorer. A pathway that has limited economic potential.
With each of these phases there are different agile practices that can help.
If you’re Exploring then get used to extreme programming, taking risks, failing fast and embracing a broad skill set.
If you’re Expanding then a longer term safer more formalised strategy is required. A game of duck and dodge as each new unexpected growing pain emerges.
Extract is all about reducing risks, economies of scale and preventing failure.
Different stages. Different businesses. Different techniques. Different languages. Different cultures. Different skills. Different people. Different organisms. Different relationships. Different planets.
“The day I gave up giving a shit about what software developers thought of me and my code was the day my life got a whole lots easier.”