Article development led by
Reducing waste, encouraging experimentation,
and making everyone happy.
BY THOMAS A. LIMONCELLI
Q: WHAT DO DevOps people mean when they talk about
A: To answer that, let’s take a look at a chapter from
the upcoming book The Practice of System and Network
Administration due out later this year.
One of the themes the book explores is the small
batches principle: it is better to do work in small batches
than big leaps. Small batches permit us to deliver
results faster, with higher quality and less stress.
I begin with an example that has nothing to do
with system administration in order to demonstrate
the general idea. Then focus on three IT-specific
examples to show how the method applies and
the benefits that follow.
The small batches principle is part
of the DevOps methodology. It comes
from the lean manufacturing movement, which is often called just-in-time
(JIT) manufacturing. It can be applied
to just about any kind of process, you
do frequently. It also enables the MVP
(minimum viable product) methodology, which involves launching a small
version of a service to get early feedback that informs the decisions made
later in the project.
Imagine a carpenter who needs 50
pieces of two-by-four lumber, all the
same length. One could imagine cutting all 50 pieces then measuring them
to verify they are all the correct size.
It would be very disappointing to discover the blade shifted while making
piece 10, and pieces 11 through 50 are
unusable. The carpenter would have to
remake 40 pieces.
A better method would be to verify the
length after each piece is cut. If the blade
had shifted, the carpenter would detect
the problem soon after it happened, and
there would be less waste.
These two approaches demonstrate
big batches versus small batches. In
the big-batch world the work is done
in two large batches: the carpenter cut
all the boards, then inspected all the
boards. In the small-batch world, there
are many iterations of the entire process: cut and inspect, cut and inspect,
cut and inspect, and so on.
One benefit of the small-batch approach is less waste. Because an error
or defect is caught immediately, the
problem can be fixed before it affects
A less obvious benefit is latency. At
the construction site there is a second
team of carpenters who use the pieces
to build a house. The pieces cannot be
used until they are inspected. Using the
first method, the second team cannot
begin its work until all the pieces are
cut and at least one piece is inspected.
The chances are high the pieces will be
delivered in a big batch after they have
all been inspected. In the small-batch
example the new pieces are delivered
without this delay.