Similarity feeds predictability

From Pearl Language
Revision as of 10:17, 7 March 2013 by Martien (talk | contribs) (Typos.)
Jump to navigation Jump to search

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;
  • 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.

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.