Humans love to think in terms of absolutes. We like to set a target, work really hard toward it and have the illusion that when we reach it all our troubles will be gone and we’ll be in a state of permanent bliss. For instance, sports competitions have a very clear target and those of us who have run marathons have all experienced the suffering (especially between 27K and 32K in my case) and the longing for the finish line.
Similarly, many contracts between customers and suppliers tend to be described in targets and goals to be reached. In construction, erecting and completing the building is the typical goal of the contract. In the defense industry, companies often manage a list of thousands of items required by the government purchasing from them and the contract stipulates that the project is complete when all these requirements have been satisfied.
Product development in many companies is organized similarly. A list of requirements is specified, a cost estimation and a revenue prediction are performed and an investment decision is taken to develop the product. The basic notion is that everything is now frozen and cast in stone and it’s just a matter of executing properly.
When describing the process as I just did, it’s obvious to everyone that this viewpoint is a fallacy. Life doesn’t stop after crossing the finish line of a marathon (at least mine didn’t). Buildings still need to be maintained and evolved after initial delivery. Product requirements tend to change at a rate of 1 percent per month. The world isn’t static but evolves continuously and so do we and the products we’re involved in building.
The desire to establish concrete and tangible “anchoring points” is because people seek to avoid having to deal with continuous change. Creating the illusion of an immutable target gives a sense of certainty that allows the alignment of large groups of people without having to deal with the constant overhead of perpetual change.
This approach may have worked in the traditional transactional world where people would buy a product, use it up and buy the next one. In a digital world, however, customers expect continuous value delivery. I expect the product that I got from you to get better every day I use it and I don’t want to wait until I have to buy the next generation.
In practice, it isn’t just customers who desire continuous improvements. Products evolve continuously in response to a variety of causes. Cost-down initiatives in mechanics are a typical example in many embedded-systems companies. Obsolescence and lack of availability of electronic components is a key challenge in many companies, requiring updates to products. And product management and sales also demand a continuous flow of new software features to drive engagement.
Rather than a focus on a one-time, far-in-the-future target, the view that many in product development would benefit from is one of continuous evolution. This view has several benefits. The first is that continuous evolution allows for less risk in each iteration as not everything that product management or sales can think of needs to be crammed into this release. We can take the releases step by step and manage the risk and new content with each generation.
Second, a stronger focus on preparing for evolution can significantly reduce the cost of evolving a product (or platform) over time. When focusing on the one-time target, we tend to make many decisions that sacrifice the long term over the short term. When we know we’ll be continuously evolving the product, we tend to take design decisions that balance short and long-term consequences more optimally.
Third, it allows us to move away from a project mindset that many companies experience where a project with limited resources, time and budget needs to hit a particular goal at some point in the (distant) future, and rather focus on a product or platform mindset where we invest continuously but carefully track the value generated by these investments.
Like everything else in life, products also aren’t static. However, many companies aim to create an illusion of stability by stating immutable targets to be pursued by product development. In practice, requirements change continuously, our customers expect continuous improvements, suppliers require us to update to the next generation of parts and economic realities force us to engage in cost-down initiatives. Rather than pretending that everything is static and grudgingly accepting the inevitable changes, we’re much better off accepting that change is continuous and working in short iterations on a continuously improving product. As Winston Churchill said: “To improve is to change. To be perfect is to change often.”