Kent Beck’s Product Development Triathlon
“Pretty much everything I do, I see in Explore/Expand/Extract terms now,” says Kent Beck.
The creator of extreme programming and one of the original signatories of the Agile Manifesto, Kent coaches developers at Facebook and has been a programmer for more than four decades.
Yet earlier this year, he discovered a new approach to software development. He calls it the Product Development Triathlon, or 3X, after the three phases of the Triathlon: Explore/Expand/Extract.
Kent recently spent two weeks at Andela — one in Lagos, one in Nairobi — where he shared thoughts on the Triathlon with our developers. In the few short months since he started thinking in 3X, a lot has changed: “the way I look at software development, product development, parts of my life, blogging,” among other things. So how does 3X work?
The initial phase of product development — Explore — is highly experimental. “When I’m looking for a product-market fit, for that positive feedback loop,” Kent says, “the behavior is very particular.” You can’t predict success, so your goal is to run as many experiments as possible to arrive at something that works. Quality is irrelevant, as the half-life of your software is just a few hours.
The goal of this phase is rapid expansion. With the focus on growth, there’s a tradeoff in the form of losing customers — but the alternative is losing momentum. “Expansion is the most valuable part of this curve, by far,” Kent says. This isn’t the time to jeopardize growth by adding features. Invest money in fixing the problems you need to address now, but wait until the third phase — Extract — to add features to your product.
In the Extract phase, when you have a successful product and you’re making a profit, the rules change again. This phase is much more predictable than Explore, and the quality of your output matters a lot more because you’re building software you’ll need to live with for a few years. Extract is about optimization and economies of scale. You’ll be able to predict revenue increases, cost reductions, and how long things will take with reasonable accuracy.
Why 3X Matters
Organizations act like explorations are as risky as extractions, pouring resources into every new product and trying to maximize its success. The problem is that putting more money into exploration won’t increase your chances of success. You simply can’t predict what’s going to blow up vs. what’s going to fail.
This is true not only of software development, but of other disciplines as well. For example, if you’re trying to create a successful blog, you should write as many posts across as many topics as possible. Instead of making each post as good as it possibly can be, aim for breadth and quantity. Then wait and see what resonates with your audience before choosing what to focus extra time on.
Thinking in 3X means knowing when to experiment, when to focus on growth, and when to slow down and invest time and money in products and features. It means understanding that asking, “What are the fundamental rules of software development?” is like asking “What are the rules for chess, checkers, and Go?” They’re entirely different games, Kent says, and “the rules for how you expand at maximum speed are very different from the rules for exploration or the rules for extraction.”