Code Health

How to keep the code and systems up-to-date

The Code Health process is intended to ensure we are being responsible about keeping our code and system up-to-date and “healthy” while we focus on work via OKRs.

Work on code health is done via tickets in GitHub. There are plenty of times when engineers can fix or improve code before getting back to other tasks. That works great for minor fixes but may lead to postponing complex tasks. To ensure we don’t neglect important, but more complex, code health tasks these will be scheduled by each PM/PO on each Focused Working Group. This allows the Focused Working Group to stay on track with their regular work, but then take on code health tasks when the time is right. It is important for each PM/PO to work with leadership to make time for this to happen.

An example of how this works in practice

A Focused Working Group is building a feature aligned with a quarterly OKR. When the feature is shipped, you may need to wait a week to see results from CHWs. The PM/PO goes through a list of tickets for code health and reviews them with the team. After aligning with the PM/PO, software developers and QA engineers start working on those tickets, tracking progress on the GitHub board.

During this time almost all attention, from all engineers in the Focused Working Group, is on heads-down coding on code health tasks. There may still be some other tasks going on like user interviews or initial measurements of the newly deployed feature.

At the end of the week, the team realigns around work towards the chosen outcome. Code health work should be merged and the full focus of the team is together with the PM/PO on delivering improvements for users. It may be the case that a code health task cannot yet be merged. If that is the case, other developers on the Focused Working Group should assist to get it complete so everyone can stay together in what is being worked on.