I’ve previously advised that a hyper-vigilant emphasis on model quality is the only viable path to a good model approaching the scope you hope for. That’s the green path.
However, it’s likely you will be captured by the red path at times. Client appetite for scope, desire for rapid perceived progress, the apparent ease of adding features, and existing models that aren’t as good as they box they came in advertised are all seductive.
Once you’ve overextended on scope, the standard vicious cycles in project models kick in:
- errors beget errors
- large models are slow and hard to test
- errors mask other errors, making rework discovery more difficult
- time pressure -> fatigue -> morale -> errors
So how do you get back on the righteous path? I think there are three options, but only 1.5 work.
The red path is tempting, because you can preserve the illusion of progress on scope. It will seldom work though. You’re unlikely to be able to inspect quality into an enlarged model later. You might progress to the right, but you won’t progress up. The orange path, a compromise of mild simplification and aggressive improvement, might work, but it’s going to hurt.
You’re better off to pursue the blue path, which essentially means reconstructing a better, simpler model, even at the expense of perceived functionality. Step 1: you’re in a hole, so stop digging. Productive things you might do include:
- Suspend feature enhancements
- Do extreme conditions tests – LOTS of them
- Calibrate to data or run policy optimizations, as another kind of test (the algorithm will exploit weakenesses)
- Dismantle sectors into standalone submodels that are easier to test and redesign
- Aggressively clean up diagrams
- Have a zero-tolerance policy for unit errors and runtime warnings
- Document equations
- Conduct team design reviews
- Keep a trail of your model versions and components, so you can backtrack and later restore things you have to rip out
Once you’re back in shape, continue these disciplines. They’ll keep you on a path that stays far from the vortex.