Flow helps you see the different types of work:
- New Work—Brand new code that does not replace other code.
- Legacy Refactor—Code that updates or edits old code.
- Help Others—where a developer modifies someone else’s recent work (less than 3 weeks old)
- Churn—Code that is rewritten or deleted shortly after being written (less than 3 weeks old)
New work is a measure of how much fresh, blue sky work is happening over time. The amount of attention to new work depends entirely on the phase of the product and business. It is very normal for a growing company to aim for more than 50% of their work to be New Work, which is indicative of forward progress.
Legacy Refactor—the process of paying down on “technical debt”—is traditionally very difficult to see. New feature development oftentimes implies re-working old code, so these activities are not as clear cut as they might seem in Scrum meetings. As codebases age, some percentage of developer attention is required to maintain the code and keep things current.
The challenge is that team leads need to properly balance this kind of work with creating new features: it’s bad to have high technical debt, but it’s even worse to have a stagnant product. This balancing act is not something that should be done in the dark, particularly when it’s vital to the success of the whole company.
Objectively tracking the percentage of time engineers spend on new features vs. application maintenance helps maintain a proper balance of forward progress with long-term codebase stability.
In the Project timeline report, you'll find a leaderboard for the top contributors to Legacy Refactoring, and for the other types of work:
Help Others describes how much an engineer is replacing another engineer's recent code—less than 3 weeks old.
If you need help, please email firstname.lastname@example.org for 24/7 assistance.