We develop a product to solve a problem, fulfill a need, or seize an opportunity. We do that incrementally, from one short part to the next one. From increment to increment. And each increment is meant to be simple. Simplicity, by the way, is one of the key ingredients of today’s product development.
So each increment is a thin, usable set of features added or changed on our product. It is implemented in a relatively short period of time, and is intended to increase the value of our product.
In that sense, an increment is necessarily a a hypothesis for creating value. For that reason, structures, layers, components, or other parts that do not add value to the product directly are not considered an increment to the product. And neither is the execution of tasks.
By creating our product increment after increment, we are playing safe by taking baby steps of value. A bigger plan or block of work needs to be completed so it can converge to value on a later date in the future. Instead, on each of these steps we increment our product, keeping it fully functional. And, as such, deliverable. This way, the choice of when to deliver to our clients is every time in our hands, which makes working this way a much safer choice.
Because we are able to deliver earlier and often, we will generate more value and sooner, which also brings us frequent opportunities to obtain feedback from use and adjust accordingly towards what generates more value. This allows us to be more efficient and effective, by delivering the right things earlier and frequently.
At the same time, by seeing value often and by having frequent opportunities for adjustments, people who are expecting or need the outcomes feel less anxious, which makes them easier to deal with and gets them more on the collaborative side.
Moreover, each small, simple, and valuable increment requires less energy and less stress to be defined and digested than larger blocks of work. This allows for faster and better understanding and alignment, both by customers and the people creating them.
But embracing simplicity doesn’t mean that what we create needs to be simple. It can be, but the idea is that the results of our work will be only as complex as necessary, no more no less. By intentionally keeping every increment simple, complexity is gradually added to the product and we can choose the desired level of complexity we will end up with.
I created a statement for incremental product development that I use with my clients and students, which tries to translate that thought:
From simple to simple, we can build the complex. But only the sufficient and necessary.