On this page

People insights

In a medium to large software development organization, development teams often face challenges when it comes to monitoring and measuring developer productivity.

DevRev's people insights functionality provides a deep understanding of the inner workings of a development team, providing an objective and data-driven perspective on individual and team contributions. For all dev users within a dev org, it provides the following data and insights into the development process:

  • Who worked on what: Get a clear picture of individual and team contributions to specific parts, tickets, and customers.

  • How much time and effort was spent: Gain insights into the focus and intensity of work done in different areas by a dev user.

  • What types of activities were performed: Understand the distribution of effort between development, code review, communication, and other tasks.

  • The impact of their work: See how individual and team contributions translate into concrete outcomes like linked issues and tickets resolved.

Spacebar

Spacebar allows you to derive developer insights with simple natural language queries. Learn what a team or an individual has worked on over the last week/month in the context of a part of the product and customer tickets. By default, insights are based on one week’s data. Custom durations can be provided as part of the query.

You can input queries like the following in the spacebar:

  • Show me the contributions of @JohnD for last week.
  • What did @JaneS work on?
  • Who worked on #CAPL-67 in the last month?
  • What did @JohnD do on #FEAT-678 in the last month?
  • What did the "UI" Team do in the last month?
  • What did "support" team do?
icon

When tagging individuals with @mentions or referring to specific #parts, ensure you select the names from the drop-down list that appears.

In the above examples:

  • @JaneS and @JohnD represent dev users.
  • #CAPL-67 and #FEAT-678 serve as part IDs. The drop-down list facilitates searching for parts by their name or ID number.
  • UI team and support team are groups created using the groups page in the DevRev app.

Optional settings to fetch GitHub activity

Install the GitHub snap-in to extract details of development activity such as push branch and pull request actions and incorporate them into the corresponding issue’s timeline. This functionality ensures that code contributions are visible in the people insights query output. For detailed information, refer to the Snap-in documentation.

All dev users must link their GitHub accounts to DevRev as per the provided documentation to automatically monitor coding activities. Failure to complete this step means the user's work on GitHub won't be reflected in DevRev's people insights analytics. Without this linking, DevRev won't associate a GitHub user with the corresponding DevRev user ID.

Source of information

Issues timeline

The foundation of people insights information is the events data found in the issue timeline. All output in people insights queries is derived through calculations and inferences made by analyzing the relationships between users, events, and issues in the timeline.

Data inferences

Based on the links and object fields set in DevRev, people insights analytics data is generated as follows:

  • Part is derived from the part the issue is assigned to at calculation time.
  • Tickets affected are either:
    • Tickets that are linked directly to the issue being worked on.
    • The Issue being worked on is assigned to a part of type enhancement, and tickets are linked to that enhancement.
  • Customers impacted are derived from the workspace that tickets are assigned to.
  • User actions on DevRev issues, such as creating or updating an issue or adding comments, directly show up as contributions by the user. However, for GitHub events captured by the GitHub snap-in, linking the dev user to the GitHub user is necessary to determine the corresponding DevRev user from the GitHub actor.

Data from the timeline of all the issues is currently gathered once a day for analytics purposes by the DevRev automatic jobs in the background. Therefore, any changes in work/contributions made will always be reflected the next day.

Weight and category

Every type of timeline event is assigned a weight and a category. Default values are provided for both weight and category.

The following are the supported categories:

  • Development activity: Includes events like GitHub branch creation, PR commits, and the merging of PRs.
  • Code review: Includes events like PR approvals or requesting reviews or changes in a PR review.
  • Work management: Includes issue updates, stage changes, etc.
  • Communication: Includes comments posted on issue timelines or PR reviews.
  • Miscellaneous: Any new events generated but not specifically categorized. Once customizable weight and category options are provided, users can allocate them as they find appropriate.

The weight assigned to each event signifies its relative magnitude, referred to as units of work. These weights play a crucial role in calculating the focus percentage and contribution on part percentage. This involves multiplying events by their respective weights before aggregating them to determine ratios.

Aggregations

Rollup

Rollup aggregates data based on a parts hierarchy defined by is part of links. Dev parts (runnables and linkables) remain separate in the rollup view because their hierarchy isn't defined by is part of links. When viewing information about a part in a row during rollup, details about its children's parts, their children, and so forth are included. This hierarchical breakdown can be seen in the table view by expanding the chevron next to the part name.

Group by team

This can be only applied when a group is selected as a filter. When applying this aggregation, all users of the group are shown in a single row, and all their information is added together. However, in the user column, for each row, it will show, out of the entire group, only the users that contributed to the part specified in the row.

Details of the people insights output table on spacebar

If the user works in the specified duration, contribution details will be output in a table format.

Filters and buttons

At the top of the table, on the left, there will be a set of filters, similar to other filters in DevRev. These filters are:

  • Group: The group is inferred from the name enclosed in quotes in a team spacebar query, so it's disabled as a filter. When this filter is activated, the Grouped toggle button appears on the right, and the user filter is populated with all users inferred as part of the group.
  • User/Part/Date: The user/part/date will be inferred from the spacebar query, therefore they are disabled as a filter.
  • Contribution Type: It is a filter that lets you pick between categories. This filter is enabled for users to change within the spacebar. When this filter is set, the table will only show the information relevant to these categories.

At the top right of the table, toggle buttons are located, which are:

  • Rollup: Set to disabled by default to initially show only direct work done on a part. When enabled, it will rollup all rows according to the part hierarchy.
  • Grouped: Only appears when a group is inferred from a spacebar query. Set to true by default. When this toggle is set to false, the table will show the information where each individual person is in their own set of rows.

Columns

Part

It will show the display ID of the part. On hover, you can see more information about the part including its name, etc. In the case of a Rollup view, there may be a chevron to the left that can drop-down and expand to show further drill-down.

User

This column will display the user’s name. In a grouped view with multiple users, it will display them as an avatar stack that you can hover over to see the full list.

Focus percentage

Shows the distribution of the user’s attention on all parts they worked on in the given duration. All contributions by a user to that part (with its children, if rolled up) are multiplied by their respective weights and added. This total is divided by the weighted contributions of the user on all parts to give the total focus percentage.

In a grouped view, the sum of all contributions by all users of that group (displayed in the column) will be divided by the total of all users in the group.

On hover, you can see a breakdown of the contributions based on their categories. There will be two numbers, the left one is the count of all events matching that category made by the relevant users on this specific part (with its children, if rolled up), and the second number is simply the total number of these events made by the same users on any part.

Contribution on part percentage

Shows out of all the work done on a part (with its children, if rolled up), what portion the users in the query contributed. This will work in the same way as the focus percentage but it uses the entirety of contributions to these parts by all the users as the denominator when getting the percentage.

Issues & tickets

Both will show a number of distinct issues and tickets and on hover will show a list of up to 15 of them.

Customers

Customers will be displayed as an avatar stack, and if multiple of them are present, a complete list will be shown on hover.