This brings me back to the topic of defining and documenting processes. Good code starts with good planning, design, and management, and is maintained by good processes. Many of the problems outlined previously can be mitigated if there are clear guidelines outlining the following issues:
- Situations where incurring technical debt is appropriate, for example, to meet a legal requirement such as GDPR compliance.
- Occasions when developers can expect to receive time to repay these debts, for example, before the next feature is started, or two weeks at the end of each quarter.
- The distribution of work on greenfield/brownfield projects within the team, for example, with a rotation system.
- The Definition of Done – a list of criteria ...