Data best practices

CloudBees Engineering Efficiency aggregates data across the software development lifecycle. Being able to connect data and build relationships across tooling provides more complete insights into the flow of work and enriches context for the analysis.

You must have at least one integration with Jira Cloud, Jira Server, CloudBees CI or Jenkins, and GitHub or Bitbucket configured to provide the data that CloudBees Engineering Efficiency uses for analytics.

Best practices for associating issues with code changes

You can filter views and graphs by issues that are connected to development work and remove all issues that didn’t require code changes. For example, you can view cycle time for all issues, or choose to only take issues into account that have related pull requests, making it possible to get cycle time for only issues that required code changes while exluding all other issues, like design tasks.

To link issues to actual code changes, CloudBees Engineering Efficiency requires the issue ID, like EXAMPLE-12345, be included in the pull request title. For example, a pull request titled [EXAMPLE-12345] This pull request is linked to issue EXAMPLE-12345 establishes a relationship between the pull request and the issue with the ID EXAMPLE-12345.

The more issues that are linked to the actual development work, the more complete and accurate insights can be derived.

Best practices for classifying work using work categories

Work done by an engineering team is often not well organized and categorized for reporting. In the end, a task is a task no matter if it is addressing technical debt, maintenance, research, or refactoring some tests. To better understand how effort is spent, it is important to classify work without interrupting how the teams work.

Using work categories, you can classify the items and tasks done by the product team. This lets you quantify things like how much time is spent driving the product or engineering roadmap forward versus other non-roadmap tasks like rework and defects.

Work categories represent tasks that are always present regardless of current initiatives and project goals, for example, feature work, enhancements, bug fixes, security patches, or technical debt.

Work categories are derived from Jira labels. When issues are grouped into epics, the Jira issues inherit the labels from the epic for the work category mapping. You can use this inheritance to streamline adding work categories by using labels assocaited with work categories consistently on epics.

Refer to the work categories section for best practices when using work categories.