June 22, 2015
Mitigating Risk With Small Deliverables
by Joe Estes
Providing batches of small deliverables decreases development time, increases the frequency of feedback and cuts costs.
For far too long, products have failed to make it to market. Or, if they finally do, they are over budget and grossly unpopular because of poor implementation of product development principles. Product development as a discipline has exploded with the ascendancy of the tech industry, because of the emphasis on innovation and product releases. This has created a paradigm shift in how risk is mitigated relative to bringing new products to market.
Of all the variables involved in getting a successful product to market, batch size is of paramount importance. The emphasis on small deliverables is the key to mitigating risk in modern product development.
What Is Batch Size?
According to Eric Ries, author of The Lean Startup, “Batch size is the unit at which work-products move between stages in a development process.” An example of a batch in the context of a software project is the set of code written in the development phase to implement a single, complete new feature of a product.
There are three key advantages to delivering features in small batch sizes: a decrease in development time decrease, an increase in feedback and a drop in cost.
Development Time Is Decreased
The ability to reduce the time from development to launch is not only a competitive advantage, but is also a risk mitigator. The ability to deliver a unit of work to your users quickly is a key benefit of delivering in small batch sizes. It is far better to have your new feature in your user’s hand sooner rather than later so you can test the assumptions that are the basis for future iterations.
Reduced development time also reduces the risk of obsolescence. In the past, I worked with a company to develop a technology that was first to market in its product category. The problem was that the product was delivered in large batch sizes. By the time the product was ready for market, the underlying technology had moved to another medium. Had the product been delivered in small increments, it would have been possible to integrate technology consistent with the pace of the industry.
The Feedback Loop Is Increased
Delivering on iterations of your product in small batch sizes increases the frequency of feedback from your user base, so you can be sure your product development is consistent with the expectations of your customers.
If you deliver a large batch of features to your user base, there is a likelihood that one or more features will be ill-received. This means the other delivered features were predicated on a false assumption. Engineers will make assumptions all through the construction process based on the most current information. This situation adds an inordinate amount of risk to a rollout that could have been mitigated with correct assumptions established from the outset.
Cost Is Decreased
When development of a software feature is finished, there are still activities that need to occur before a feature goes live. These include code testing, project meetings and process reviews. It is a common misconception by project managers that transaction costs associated with development cycles are fixed. In fact, these activities exponentially grow as the batch size grows and as a result are extremely costly. For example, troubleshooting a bug in code that relates to one feature is relatively straightforward. Troubleshooting a bug where code affects several related features is exponentially more complex and time-consuming.
Large batches increase risk in product development by causing schedule slippage, which in turn costs money. According to analysis by Donald Reinertsen, project schedules slip exponentially as time to delivery drifts. See figure 1 below:
In conclusion, small deliverables reduce risks associated with product development. A major advantage of reduced batch size is that the time in development decreases. This allows your deliverable to get into your user’s hands more rapidly and creates a feedback loop. Smaller batches ensure your project stays on budget and increases the likelihood of your ultimate goal of getting to market.