Imagine a small craft brewery that produces award-winning India Pale Ales (IPAs) and stouts. The brewery is acquired by a national brand determined to make the beer available countrywide.
Somehow, whatever gave the beer its uniqueness in small batches cannot be replicated on a large scale, and it doesn’t taste as good as before.
It may be a matter of micromanaging small-batch brewing along the way. For example, the brewmaster may taste an interim batch and decide to make slight changes to subtly improve quality.
By improvising instead of adhering to a recipe, a small-batch brewer responds to minute differences in the hops, malt, and barley to create a unique and delicious batch each time.
These extemporaneous beer brewing changes become more difficult in large-scale production because consumers expect consistency.
With Agile, chipping away at a big feature set in short, iterative work cycles is akin to small-batch brewing. The brew master’s quick modifications to improve quality are conceptually identical to a team changing direction after a sprint.
Small-batch software promotes easier quality control than large-batch software because short delivery cycles enable developers to incorporate customer feedback and make small modifications.
A multi-month Waterfall software development effort is like large-batch brewing. Testing large-batch software is more difficult than small-batch testing because of the sheer size and greater number of features and the lack of small-batch checks and balances along the way.
Small-batch software is easier to test and fix than large-batch software for two reasons:
- Small-batch testing goes faster because there are fewer conditions to explore.
- When bugs are discovered in testing small-batch work, the code is still at the forefront of developers’ minds, making the fixes easier.
Does this intrigue you? Are you interested in learning more? If so, it’s your lucky day. My new book expounds upon this modified excerpt. Buy The Agile Enterprise: Applying Agile Principles to Drive Organizational Success in digital or print format to better understand applying the principles of Agile Programming across the board in a company.