Essentially the benefits are:
- Faster feedback
- Problems are instantly localised
- Reduce risk
- Reduced overhead
How small is small?
One thing that I don’t often see articulated in too much detail is what a small batch size actually looks like or means.Its Relative..
That’s right, its really relative to your current state. Small batch sizing is about continually optimising your manageable workload until you get to the point when the benefits described are realised.
A small batch could be any of the following:
- Enough lines of code to enable a particular method call
- A feature branch
- A service
- An individual component
- A change or changes that take days or short amount of time to produce
As a rule of thumb, small batch sizes are not typically associated with:
- Making changes to multiple parts of a system
- Delivering big feature sets that typically move you to a major version release
- Delivering multiple components
- Multiple changes to a database
- Changes that take many iterations