Tips and best practices to get a more complete picture of your organization's investments in Time Allocation
Uplevel's Time Allocation metric combines signals from calendar, chat, project tracking (Jira) and version control systems (git) to estimate how your team invested their time. This work is captured following the rules of the selected Allocation Scheme. However, there are times where Uplevel is not able to allocate time against the allocation scheme selected: PRs not linked to an issue, Issues not in an Epic, and Other efforts.
PRs not linked to an issue
Most allocation schemes in Uplevel are based on properties found in project tracking systems like Jira and Azure DevOps Issues. When Uplevel is able to link PRs to specific issues, work time against the PR itself can be allocated using the properties of the linked issue.
💡 Examples of activity on a PR include: commits, opening a PR, commenting on the PR, requesting changes, approving, and merging
Uplevel is able to link PRs to an issue if the Jira Key or ADO issue number is in the PR title, branch name, or description, and Uplevel has that issue in the dataset.
For teams with large numbers of PRs that aren't linked, Uplevel recommends the following tips and best practices that are a low-lift for developers and are easy to incorporate into their workflow.
- First, ensure that any code change has an issue to track the work before starting on the code work. Not only does this keep the work bounded, but it also helps colleagues have easy visibility to what you're working on.
- When starting to develop locally, reference that ticket when creating your development branch for easy tracking. Developers Uplevel work with commonly use the following pattern when creating a branch:
abc-123_new_feature
.- 💡Even better, create a branch, and then make a minimal first commit to have the most accurate picture of the first phase in Cycle Time!
- Utilize a template for pull requests that includes a section to reference any linked Jira/ADO issues. These can come of the form of
ABC-123
or even better, just copy and paste a link to the ticket for easy reference.- 💡If a code change is related to multiple issues, Uplevel is able to find any number of keys and associate the PR to the work item.
Issues not in a Epic
Across many organizations, an appropriate place to utilize custom fields and have larger bodies of work is at the Epic level. For example, one Epic may be generally New Feature work, while another may be Epic primarily reducing Tech Debt. Some organizations have established rules that any newly created epics in company-managed projects have required custom fields to be populated.
💡 This practice of requiring custom fields on Epics can make end-of-quarter reporting more consistent and systematic without randomizing developers and tracking individual tickets.
The Not Linked to an Epic category of Time Allocation shows work against issues that don't have an epic as a parent, and the specific issue doesn't have a custom field populated. It also means that the issue may not link appropriately all the way through a hierarchy (e.g., Epics, Initiatives, Objectives).
To reduce the size of this allocation category, work with your team to make sure that work is linked up to Epics. Uplevel makes this easy - clicking the "Issues not in an Epic" takes you a list of issues that do not have an epic (but do have time allocated to them in the time period selected).
One tactic for teams not linking work to epics, is to quickly review recent issues not in an Epic as part of the beginning of sprint planning.
Other efforts
This Time Allocation category captures the time where an individual appears to have time available for work, however, Uplevel does not have enough signal to make a determination of how that time was spent. This tends to come about for individuals who don't capture their work in a project tracking system.
This category is often higher on individuals who don't write code or plan their work in tickets, such as Product or Sales, or other supporting roles.
To reduce the size of this category, Uplevel recommends that individual contributors (regardless of role) create tickets and update them on days that they are working on that item. This update can come in the form of a comment, changing the status, or even editing the description. This practice additionally benefits the team to have asynchronous visibility on the status of work that they may have dependencies on, which can help communication within teams and between teams, without interrupting them on Slack.
To learn more about which teams and roles have high levels time time spent in Other efforts, click the category to drill into the details. This will provide a breakdown by teams, role, job title, etc to better understand this category.