Prioritize Improvements Guided by Data

In a large system improvements rarely happen at the required rate, mainly because improvements to complex code are high risk and the payoff is uncertain at best. To improve we need to prioritize based on how we actually work with the code, and we just saw that prioritizing technical debt requires a time dimension in our codebase.

Organizational factors also have a considerable impact on our ability to maintain a codebase. Not only will we fail to identify the disease if we mistake organizational problems for technical issues; we also won’t be able to apply the proper remedies. Our coding freedom is severely restricted if we attempt to refactor a module that’s under constant development by a crowd of programmers ...

Get Software Design X-Rays now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.