Make sustainability targets configurable at cell and company level
Story
“As a sustainability manager, I want to be able to set a sustainability target that is specific to my cell and see it reflected on the sustainability dashboard, so that I can track more easily how my cell is doing in terms of sustainability.”
“As a sustainability manager, I want SprintCraft to treat all non-billable hours the same when calculating my cell's sustainability ratio, so that I don't have to calculate the actual percentage of non-billable hours manually.”
Full description
Cell-specific sustainability ratios
As was confirmed in the context of STAR-2602, realistic sustainability targets for individual cells depend on their type (project vs. generalist vs. support), focus area(s), and current set of clients and projects.
So we decided to move from the rigid approach of having all cells target the same sustainability ratio to a more flexible approach of allowing for cell-specific sustainability targets that take into account the amount of billable hours that individual cells are realistically able to produce.
SprintCraft currently only supports distinguishing between company-level and cell-level sustainability targets. Furthermore, these targets must be specified via SprintCraft's configuration; there is no UI for setting them.
Going forward, we want SprintCraft to:
- Allow sustainability managers to set cell-specific sustainability targets (as well as a global, company-level sustainability target) via the Django admin.
- Take these targets into account when calculating the sustainability ratio of specific cells (or the company as a whole).
- Show the correct target on each cell's (or the company's) sustainability dashboard.
- Highlight sustainability ratios that are less than or equal to a cell's (or the company's) current target in green, and in red otherwise. (This is existing behavior.)
Treating all non-billable hours the same
Prior to STAR-2602, our approach to tracking sustainability at the cell level did not take into account non-billable hours logged against non-billable non-cell accounts.
This turned out to be problematic: If non-billable non-cell hours aren't included in SprintCraft's sustainability calculations, the resulting sustainability ratios end up being lower than they actually are. And that, in turn, makes it easy to miss potential sustainability issues that are being caused by large volumes of non-billable non-cell hours produced by individual cells each month.
Going forward, irrespective of whether we continue to label some non-billable accounts differently in JIRA/Tempo, we want SprintCraft to treat all non-billable hours the same when calculating sustainability ratios for individual cells. I.e., instead of calculating sustainability as:
non-billable cell hours / (non-billable cell hours + billable cell hours)
SprintCraft should calculate it as:
(non-billable cell hours + non-billable non-cell hours) / (non-billable cell hours + non-billable non-cell hours + billable cell hours)
Completion criteria
- Sustainability managers are able to set custom sustainability targets for cells and the company as a whole.
- SprintCraft no longer distinguishes between non-billable cell and non-billable non-cell hours when calculating sustainability ratios.
- Update SprintCraft's documentation to describe the new functionality.
- Create PRs as necessary.
- Deploy changes.
- Create a follow-up ticket (in STAR) for updating the handbook with information on how to set cell-specific (and company-wide) sustainability targets.
Documentation updates & improvements criteria
- See above. SprintCraft's documentation should describe the new functionality.
Review timeline
- PR to be sent for review by
- First PR review to be completed by
- [Optional] Draft/WIP PR sent for review by
Other potential assignees / reviewers
- <@name1>
- <@name2>
- …