Similarity feeds predictability
Attack Sources of Variability to Improve Predictability
Processing similar-sized items:
- reduces:
- resource requirements;
- opportunities for errors;
- the chance that unexpected an upstream step becomes a temporary bottleneck due to unanticipated variability;
- the costs of running a value stream;
- and requires the need for speed slack in non-bottleneck resources in order to cope with the ebb and flow of work;
- work in progress limits;
- the need for kanban tokens;
- average lead times;
- wide variety in lead times;
- enables:
- smaller iterations, tightening up the feedback loop;
- better resource balancing, and, potentially, a reduction in headcount;
- increases:
- throughput of a process;
- predictability;
- customer delight; and
- competitive advantage;
- requires:
- knowledge workers to learn new techniques and to change their personal behavior, thus is hard to achieve;
- mature organizations.
Processing variable-sized items invoke the opposite effect.
To deal with variability in size:
- apply the story splitter (a.k.a. split, slice, and sliver;
- buffer;
- set up a swim plane per size (p155);
Both the effects of variability and how to reduce it within a process are advanced topics. Reducing variability in software development requires knowledge workers to change the way they work—to learn new techniques and to change their per- sonal behavior. All of this is hard. It is therefore not for beginners or for immature organizations.
Variability results in more work-in-progress and longer lead times. This is ex- plained more fully in chapter 19. Variability creates a greater need for slack in non- bottleneck resources in order to cope with the ebb and flow of work as its effects manifest on the flow of work through the value stream.
A full understanding of why this is true requires some background in statistical process control and queuing theory (see Donald Reinertsen and Donald Wheeler on variability and queuing).
Similarity in the size of requirements reduces the amount of effort expended on analysis, design, coding, testing, build integration, and delivery
Good explicit policy choices prune variability. explicit policy is designed by humans and thus can be changed. Simply changing an existing explicit policy can dramatically increase sources of similarity that affect predictability.
Sources
- Kanban—Successful Evolutionary Change for Your Technology Business, David Anderson.