Chapter 2: Managing the Breakfast factory
Leaders need to define key indicators that reveal problems before they become monstrosities.
The five dimensions to consider are listed below with some examples.
- Forecasts e.g. output, purchases etc.
- Raw materials e.g. feature specs for developers, customer requests
- Equipment e.g. manufacturing machines, laptops etc.
- Manpower e.g. employees
- Quality e.g. defect rates
It is important to measure and the best indicators reveal progress towards the desired output and not the activity required. This way you can separate the diamonds of productivity from the dirt of busyness.
Having quantitative and qualitative indicators in each dimension provides a countervailing effect that exposes shortcomings early in the production process. The trick is to pair quantitative and qualitative measures for a holistic view. E.g. shipping 10 features (quantitative) with a 1% defect rate (qualitative).
Production processes can be represented as black boxes with raw materials and labour as input and the output as the result.
Indicators
- Leading indicators rely on internal workings of the system to predict future output
- Trending indicators show output over time.
You want to reject input into the production system at the earliest stage so you do not spend a lot of time polishing features with fundamental flaws. An ill-thought-out software feature might not be used by customers regardless of how much engineering work is invested.
Look before you leap: It’s cheaper to ask for clarity than to retrofit
Rejecting poor raw materials might necessitate an expensive factory shut down. A short-term view might recoil against this however producing flawed products from such poor input might be more expensive in the long run: higher return rates, overstocked inventory and increased defect rates.
Keeping a factory running on low-quality input can lead to more rejected products.
Quality Gates
Should quality checks be variable? If a factory consistently produces high-quality output, reducing the amount of testing should be acceptable. The inverse also applies.
Humans are creatures of habit and routines are difficult to change. Review the testing portfolio regularly to remove cruft and identify gaps.
Leverage
Leverage is the ratio of output to activity; i.e. output/activity. For example, compilers improve leverage by making it easy to write complex software; compare writing in C# to using assembly.
Andrew suggests arranging workflow to achieve high leverage. One easy way is via simplification. Some tips:
- List every single step of the production process
- Count the number of steps in the flow chart
- Set a rough target for reduction
- Question why each step exists and try to eliminate it (e.g. tradition, formal procedure etc.)