Managing workarounds in complex situations is tricky. If an engineer negotiates about building a workaround (to avoid it), you’ll always have to pay the price sooner or later. As a manager (and also a software engineer), focus on how you can contain this workaround’s impact on the project and product. Try not to spread the workaround into the whole codebase and aim to contain it. Not only contain it, but make it obvious to the next developer (and your future self) that it’s a workaround that you shouldn’t overlook.
- Related Note(s):
- ADRs are a good way to record the decision about a workaround.
- Open cultures help people surface the actual cost of workarounds.
- Workarounds create accidental complexity.
- Focus on conceptual integrity to contain a workaround.