Work in small batches
Working in small batches is part of lean product management
The batch size is the unit at which work-products move between stages in a development process. For software, the easiest batch to see is code.
Every time an engineer checks in code, they are batching up a certain amount of work. There are many techniques for controlling these batches, ranging from the tiny batches needed for continuous deployment to more traditional branch-based development, where all of the code from multiple developers working for weeks or months is batched up and integrated together.
It turns out that there are tremendous benefits from working with a batch size radically smaller than traditional practice suggests.
This is actually a hard case to make, because most of the benefits of small batches are counter-intuitive.
Small batches mean problems are instantly localized. This is easiest to see in deployment. When something goes wrong with production software, it's almost always because of an unintended side-effect of some piece of code. Think about the last time you were called upon to debug a problem like that. How much of the time you spent debugging was actually dedicated to fixing the problem, compared to the time it took to track down where the bug originated?
Small batches reduce risk. An example of this is integration risk, which we use continuous integration to mitigate. Integration problems happen when two people make incompatible changes to some part of the system.
Small batches reduce overhead Most organizations have their batch size tuned so as to reduce their overhead. For example, if QA takes a week to certify a release, it's likely that the company does release no more than once every 30 or 60 days. Telling a company that they should work in a two-week batch size will sound absurd - they'd spend 50% of their time waiting for QA to certify the release! But this argument is not quite right.
Working in small batches is an essential principle in any discipline where feedback loops are important, or you want to learn quickly from your decisions. Working in small batches allows you to rapidly test hypotheses about whether a particular improvement is likely to have the effect you want, and if not, lets you course correct or revisit assumptions.
Thank you for reading, HeyPM Team
Tell us how we're doing.
We're working on improving HeyPM every day and we want to hear from you. What do you love? How could we do better? All feedback is helpful.