|
In the last post, I described a quality-of-service goal that we use to manage the performance of our development process. The underlying goal of the process is throughput, by which we mean the rate of delivery of customer-valued work into production. The two major variables that regulate throughput are work-in-process and cycle time. We manage WIP very closely using limits and visual control.
Cycle time is a bit more difficult to manage, because this is where most of the variation manifests. Here, we have a number of capabilities that we can apply to reducing variation, including:
I say we have a quality-of-service goal, but “goal” might be the wrong word. As Deming said: Eliminate slogans, exhortations, and targets asking for zero defects or new levels of productivity. Such exhortations only create adversarial relationships, as the bulk of the causes of low quality and low productivity belong to the system and thus lie beyond the power of the work force.
Eliminate numerical goals, numerical quotas, and management by objectives. Substitute leadership. So, the importance of the lead time SLA is not in its motivational value. What’s important is that its value is under control. Therefore, there are always two phases of setting a numerical limit like our SLA: 1. Bring the system into a state of control. Whatever the control limit is, does the system perform consistently with respect to that limit? If not, identify the sources of variation that cause divergence and find a way to manage them. When it does stabilize…
2. …change something about the system in order to improve its performance. This may throw the system out of control for a while, which will focus your attention back on (1). If you only randomly make your target, or consistently miss the target, then the problem is that the target is wrong, not the process. Proper management action is to identify a new target and stabilize the performance of the system around it. Process stability is a necessary condition for continuous improvement. This kind of thinking is where you begin to cross the line from software development into software engineering. |
{ 2007 09 12 }




Post a Comment