Dev weeks

Tags: Flow

Dev weeks is the sum of employees’ effort distribution per week during the selected time period. 

Important: Dev week calculations require a Jira integration. While dev weeks includes coding activity signals in addition to ticket activity signals, Flow requires tickets from a Jira integration for the algorithm to calculate correctly.

Who can use this?


What does dev weeks measure?

Dev weeks measures users’ effort distribution across tickets during a week, across a variety of activity signals. 

Learn more about best practices and tips for dev weeks.

back to top

How do you view dev weeks?

View dev weeks in Investment profile. See the dev week breakdown for both Work types and Investment layers to see how many dev weeks are being spent across those categories.

Note: Use the Investment profile dev week export if you want to complete cost calculations for your organization.

First, choose which data to view:

  • Display Investment layers to see how dev weeks are distributed across your organization's priorities.

  • Display Work types to see how dev weeks are distributed across features, defects, and maintenance.

Next, click View by: Dev weeks.

Once you have dev weeks selected, choose which data view is most relevant for you:

  • Use the pie chart at the top of the report to see how many dev weeks are spent on each of the work types or investment layers.

  • Use the Teams tab to see dev weeks broken down by work type or investment layer per team or contributor.

  • Use the Epics tab to see dev weeks broken down by Epics associated with the selected team.

  • Use the History tab to see comparisons of dev weeks across various historical periods.

Tip: When you click the dev weeks for individuals or teams, you will see the Ticket log. This is a unique ticket log view that includes tickets users have contributed to through activity signals dev weeks tracks. This means you will likely see more tickets shown for a user than if you go to Ticket log directly. If you visit Ticket log outside of Investment profile, you will only see tickets assigned to the selected users.

back to top

How is dev weeks calculated?

Dev weeks is calculated using a probabilistic algorithm that combines user activity signals including rework, legacy refactor, commit count, comment count, comment length, and the active time of a ticket. It takes into account not only the activity, but also how long since there’s been activity associated with a ticket to represent where engineers are spending their effort. These signals are then weighted and processed through the dev weeks algorithm to most accurately represent the proportional distribution of where an engineer is spending effort through the week.

Tip: Active time is cycle time minus queue time.

In a full week, a developer has the potential for work to add up to one dev week. To create this dev week, Flow assigns percentages of effort spent on each ticket the developer worked on, based on the above activity signals. If a developer has no activity signals during a given week because they’re on PTO or doing other work, they will have zero dev weeks for the week.

If you select partial weeks, Flow gives credit for partial weeks to developers. If a developer only has activity signals during part of a week, they will only get credit for a partial dev week.

  • If you select a partial week in your date selection, each day can represent up to .14 dev weeks for a single engineer. This is calculated by dividing one dev week by the seven days of the week. The proportions of each work type or investment layer are determined by proportions from the full Sunday to Saturday week of the selected days.

  • If Flow only sees activity signals for part of a full week, it displays a fractional dev week for the whole week to represent that partial week’s work.

Note: A developer can get credit for a maximum of one dev week in a calendar week. You cannot use dev weeks to compare engineers or teams based on who has done more work. Dev weeks allows you to compare effort distribution across teams, engineers, and Epics.

When determining effort distribution across tickets, Flow uses an exponential decay function considering the days since the last activity in a ticket to decide how much weight to assign to metrics like active time. This means that tickets in an active state will have less effort included toward dev weeks if no activity is recorded in the ticket. The longer since the last activity, the less effort is attributed to the ticket in a week.

When viewing a team or user, Flow shows dev weeks based on all activity signals for the user, regardless of whether those activity signals are associated with a ticket the user is assigned to or a PR the user authored. Flow uses other signals like authors of PR comments and commits to associate work with Jira issues, regardless of who is assigned to the ticket.

Tip: Because of this wide use of activity signals, dev weeks can be a better approximation of how a user is spending the totality of their time than story points or completed tickets, which require the user to be the assignee of the ticket.

Dev weeks is exclusively found on the Investment profile. Dev weeks also allows better comparison between teams who may implement tickets or story points differently.

back to top

What data is included in dev weeks?

Dev weeks includes data from commits, PRs, and tickets that users have activity on. They do not need to be assigned to the ticket or be the author on the PR to get dev weeks credit for their contributions.

Dev weeks includes tickets in all states, including currently in-progress tickets. It also includes canceled tickets.

All inputs to the algorithm are considered in a weekly Sunday to Saturday period. The inputs are converted to percentages before being entered into the algorithm. All inputs are tied to a specific user, and percentages are the percentages of the total for that user during the time period.

Activity signals include:

  • Files: The number of files associated with a ticket divided by the total number of files for all tickets during the period.

  • Hunks: The number of hunks associated with a ticket divided by the total number of hunks for all tickets during the period.

  • HALOC: The total HALOC for a ticket divided by the total HALOC for all tickets during the period.

  • Commits: The number of commits associated with a ticket divided by the total number of commits for all tickets during the period.

  • Comments: The number of PR and ticket comments associated with a ticket divided by the total number of comments for all tickets during the time period.

  • Comment words: The total number of words in PR and ticket comments associated with a ticket divided by the total number of words in comments for all tickets during the time period.

  • Active time: Active time for a ticket divided by total active time for all tickets during the period.

  • Days since last activity: Number of days before the period started since activity was associated with a ticket. If this is zero, then there is activity during the period. If it is greater than zero, there is no activity on the ticket during the period. This signal is used in the decay function.

back to top

If you need help, please contact Pluralsight Support.