Managing technical quality in a codebase - Will Larson

This resource first appeared in issue #57 on 15 Jan 2021 and has tags Technical Leadership: Other, Technical Leadership: Software Development

Managing technical quality in a codebase - Will Larson

This article is about the steps in improving code quality over time from an initial messy code base; the idea is marching up a ladder, solving increasingly high-level issues.

This is particularly relevant for research software development. Successful research software marches up a technical readiness/maturity ladder from proof of concept to prototype to community use to production research infrastructure. As code marches up that ladder, the tradeoffs change, and the needs for code quality change with them.

The rungs on the code quality ladder for managers, in Larson’s estimation, are:

  • Hot Spots - Get the bits that are causing immediate problems fixed
  • Best Practices - Update team practices and tools to bring up to best practices, so there are fewer hot spots
  • Leverage Points - Clarify interfaces, data models, and other leverage points within the project to clarify overall design and make the code cleaner - this could be but doesn’t necessarily mean refactoring
  • Technical Vectors - Improve training and strategy to make sure the whole team is aligned on what and why they’re building
  • Measuring technical quality - Start proactively measuring code quality (by whatever metrics are important to your team and project) before it becomes a problem
<<<<<<< HEAD
======= >>>>>>> c1d069a... First pass at category pages