Hivel
Hivel
Hivel
  • πŸ‘‹Welcome to Hivel
  • πŸš€Using Hivel
    • ⭐Cockpit Pro
      • ⬇️How to download reports
      • 🀝Meetings Breakdown
    • πŸƒβ€β™€οΈActivity
    • ⛑️Work Item Breakdown
    • βž•Hivel Quadrant
    • πŸ’°Investment
      • Issue Age
      • How to set up Products & Allocation tabs in the Investment Screen?
      • How to add Custom fields for Product and Allocation Label in Jira
    • πŸ’ŽPerformance Appraisal
    • 🎯Pull Request
      • Comments Categorization
      • Review Cycles
      • How to exclude outlier commits and PRs?
    • 🐞Quality (SonarQube)
    • ♨️Coding Hotspots
    • ⚽Goals
    • πŸ‘©β€πŸ«Process
    • πŸ–₯️Coding
      • Understanding Rework, New Work, and Maintenance
    • πŸ‘¨β€πŸŽ“Dev360
    • πŸ””Slack Alerts and Notifications
  • Copilot Adoption
  • πŸ“ŠMetrics & Definitions
    • πŸš…Speed
      • Deployment Frequency
      • Coding Time
      • Review Time
      • Merge Time
      • Cycle Time
      • Pickup time
    • πŸ’―Quality
      • Change Failure Rate
      • Maintenance
      • Rework
      • Mean Time to Restore (MTTR)
      • PRs merged without review
      • PR Reviewed
      • Flashy Reviews
      • PRs > 400 LoC
    • πŸ“ˆThroughput
      • New Work%
      • How are Active Days calculated
      • PRs Open, PRs Ready to Review or Merge
  • πŸ”—Integrations
    • List of all integrations
    • GitHub
      • How do I Signup using GitHub?
      • How to integrate GitHub with Classic Token?
      • How to create Github fine-grained token for Hivel Integration?
      • How to reauthorize Github with a service account?
      • GitHub-Alternate SignUp Method Instructions
      • How to re-initiate GitHub integration with Hivel
    • Gitlab
      • Gitlab Server
      • Gitlab Cloud
      • How to ensure Gitlab token has access to required groups/repositories
    • BitBucket
      • BitBucket Integration
      • Validation at a metric level for BitBucket
    • Jira
      • How to integrate Jira Cloud with Hivel
      • How to Re-authorize Jira in Hivel?
        • Page
      • How to Integrate Jira with OAuth 2.0
      • How to Re-authorize Jira with OAuth 2.0
      • How to integrate Jira Server with Hivel
    • Azure DevOps
    • Google Calendar
      • How to integrate Google Calendar in Hivel
    • Microsoft Outlook
    • Slack
    • SonarQube
    • Okta
    • Jenkins
    • Jenkins Freestyle Integration with Ansible and Hivel Webhook
  • On-Prem Setup
    • On-Prem Installation Guide
    • Jira On-Prem
    • Gitlab On-Prem
    • SonarQube On-Prem
    • Application Setup Guide: User Sign-up and Integration
    • Creating a Bitbucket App Password
    • On-Prem Outlook Integration
  • Github Copilot Integration
  • βš’οΈSetup
    • Sign Up
      • How to sign up to Hivel?
    • Users
      • How to invite more users to use Hivel?
      • How to add or update an user's email id?
      • How to merge users?
      • How to update the name of a user?
      • Can I see the data of a user or repo that I don’t have access to on my SCM tool?
      • How to archive users?
    • Teams
      • How to create teams?
      • How to delete a team?
      • How to modify a team?
      • How to create sub-teams?
    • Role-Based Access Control (RBAC)
    • βš™οΈConfigurations Explained
      • 🌴Branch Configurations
      • 🐞Hotfix Configurations
        • Track hotfixes via patch version pattern
      • Other Configurations
      • Enabling Hivel's AI-Powered Features
  • ⏭️Upcoming Features and Enhancements
  • Release Notes
    • Release Notes
      • Release Notes - October 2024
      • Release Notes - November 2024
      • Release Notes - December 2024
      • Release Notes - January 2025
      • Release Notes - February 2025
      • Release Notes - March 2025
      • Release Notes - April 2025
  • πŸ”API Documentation
    • 🏁Tracking Releases and Incidents with Hivel
    • Deployment API
    • Create Incident API
  • 🌟Insights and Best Practices
    • Developer's Guide to Hivel
    • πŸŽ–οΈBest Practices for Software Development Efficiency
    • 🧹Jira Best Practices
    • Tips and tricks to improve performance
      • How to improve Speed
        • What to do if my Cycle Time is high?
        • What to do if my Coding Time is high?
        • What to do if my Review Time is high?
        • What to do if my Merge Time is high?
      • How to improve Quality
        • What to do if my Rework is high?
        • What happens if there are too many Flashy Reviews and how to prevent them?
        • How to address and prevent unreviewed PRs
        • Strategies to Reduce Mean Time to Restore (MTTR)
        • Best Practices for Team Ownership in Code Review
        • How to identify root cases of high change failure rates?
        • Building a feedback loop for continuous code improvement
      • How to improve planning and throughput
        • Leveraging data for more effective sprint planning
        • What metrics can I use to prevent developer burnout?
      • How to track, manage, and reduce technical debt?
      • What are the impacts of context switching on developer productivity and how to reduce it?
      • How to build a data-driven culture of Engineering?
      • How to balance speed and quality?
  • FAQs
    • Why can't I remove a user from a team?
    • How to change a team owner?
    • How do we account for weekends in the metrics?
    • Are draft PRs considered for calculation of coding/cycle time?
    • Why do some metrics like PRs reviewed or merged have more than 100%?
    • How to mark leaves & absences?
    • Where can I see average PR sizes?
    • How do I link Pull Requests to Issues
    • Why is count of PRs reviewed or merged is different across screens?
    • Why is data of some members are not visible?
    • Why is there an abnormal spike in Cycle Time?
    • Why some of the repositories are not imported or synced?
    • How to get a report of monthwise developer activity metrics?
    • How can I see the progress against my goals?
    • How to see all the metrics by sprints or releases?
    • Why are commits done today are not reflecting immediately
    • Why Product and Allocation's previous data is not reflecting?
    • Why cannot I see cycle time against developers even though they have commits?
    • Why do some Jira issues show as spillover in Hivel even though they were completed in Jira?
    • Why is pickup time not included in cycle time?
    • How can I add a template in dashboards for my org to follow?
    • Can I get a detailed report of all the activity done by developer per day?
    • How do I exclude a PR from rework/maintenance/new work calculation?
    • Why don't I see delivery accuracy for Kanban boards?
    • Why do I see "NA" in the percentage change of a metric?
    • Why do I see "No existing user found" message while login
    • Why am I not able to select more than 6 months at a time?
    • Why does the filters change when I move to dashboards but in other screen it remains same?
    • How to validate the data on Hivel?
    • How to measure impact of Copilots using Hivel?
    • Easing into Kanban: How to set your team up for success
Powered by GitBook
On this page
  • Prerequisites
  • Metrics Definitions
  • Step-by-Step Validation Process for One Developer

Was this helpful?

  1. Integrations
  2. BitBucket

Validation at a metric level for BitBucket

Purpose: To validate the accuracy of key engineering productivity metrics shown in Hivel by manually cross-checking with raw data from Bitbucket for a selected developer.


Prerequisites

  • Access to the Bitbucket repository and Bitbucket UI with permission to view pull requests, commits, and reviews.

  • Access to the Hivel.ai platform with permissions to view the developer's metrics.

  • Basic familiarity with Bitbucket's interface (Pull Requests, Commits, and Activity tabs).


Metrics Definitions

Metric Name
Definition

Cycle Time

Time from first commit to PR merged.

Coding Time

Time from first commit until PR is opened.

Review Time

Time from PR opened until PR is reviewed.

PR > 400 LoC

Number of PRs with more than 400 lines of code changed.

PRs merged without review

PRs merged that have no recorded review state.

MTTR (Mean Time to Repair)

Average cycle time for production issue fixes identified by 'hotfix' label or title.

Deployment Frequency

How often code is released β€” number of PRs merged to main/master per time period.

Active Days

Average number of days with any activity per engineer.

Flashy Reviews

PRs that have a review time under 5 minutes.


Step-by-Step Validation Process for One Developer


Identify the Developer and Time Period

  • In Bitbucket, locate the developer by username or email.

  • Filter PRs and commits to only those authored by this developer within the validation time period.

  • Ensure to select a shorter time period e.g. a week or 3 days to get a limited amount of data to cross-check with BitBucket.


1. Validate Cycle Time

On Hivel: Go to Pull Request screen and filter out the team, developer, and time frame for the list of merged PRs in that duration.

Go to Cockpit to look at the average Cycle time for the same filters, once validated for each PR on BitBucket.

(follow the same above steps to filter on Hivel for time related metrics)

On Bitbucket:

  • For each PR by the developer:

    • Identify the timestamp of the first commit included in the PR.

    • Identify the timestamp when the PR was merged.

    • Calculate the difference (merge time - first commit time).

  • Calculate the average of these differences across all PRs in the period.


2. Validate Coding Time

On Bitbucket:

  • For each PR:

    • Find the time of the first commit in the PR.

    • Find the time when the PR was opened.

    • Calculate the difference (PR opened time - first commit time).

  • Calculate the average coding time.


3. Validate Review Time

On Bitbucket:

  • For each PR:

    • Note the time when the PR was opened.

    • Find the time of the first review comment or approval.

    • Calculate the difference (first review time - PR opened time).

  • Average this across all PRs.


4. Validate PRs > 400 Lines of Code

On Hivel:

Go to Pull Request screen and filter out the team, developer, time frame, and PRs > 400 LoC - for the list of large merged PRs in that duration.

On Bitbucket:

  • Filter all PRs merged by the developer in that time period.

  • For each PR, check the number of lines changed.

    • BitBucket recommends running this command line to fetch the PR size

      • "git fetch origin pull/PR_ID/head:pr-branch git diff --stat main...pr-branch"

      • Replace PR_ID and main with the appropriate PR number and base branch.

  • Count how many PRs exceed 400 lines changed.


5. Validate PRs Merged Without Review

On Hivel:

Go to Pull Request screen and filter out the team, developer, time frame, and click on Unreviewed PRs - for the list of PRs merged without review in that duration.

On Bitbucket:

  • Filter out a small time period.

  1. List Merged PRs:

    • Go to the repository's Pull Requests page.

    • Set the filter to show only "Merged" PRs.

  2. Check Approval Status:

    • Open each merged PR.

    • In the PR details, look for the "Reviewers" section. If there are no approvals listed, the PR was merged without approval.


6. Validate MTTR (Mean Time to Repair)

On Hivel:

Go to Pull Request screen and filter out the team, developer, time frame, and click on MTTR tile - for the list of CFR PRs and their respective MTTR.

On Bitbucket:

  • Identify PRs labeled with β€œhotfix” or similar (e.g., title contains "hotfix", "bugfix", "urgent").

  • Calculate cycle time for each hotfix PR (first commit to merge).

  • Average these times.


7. Validate Deployment Frequency

On Hivel:

Go to Pull Request screen and filter out the team, developer, time frame, and click on Deployment Frequency tile.

On Bitbucket:

  • Go to the repository's Pull Requests page.

  • Filter by:

    • State: Merged

    • Author: The developer's username

    • Destination branch: master or main

  • The UI does not support filtering by date, so you must manually count PRs merged in your time window by checking their merge dates

  • Count the total number of PRs merged into the master or main branch during the selected time period.

  • Calculate deployment frequency as:

    Deployment Frequency = Total PRs merged / Time period (in days)

8. Validate Active Days

On Hivel:

Go to Dev360 screen and filter out on the time period and developer to get a summary of GIT activity done by the developer.

On Bitbucket:

  • Identify all days where the developer had any activity:

    • Commit, PR created, PR reviewed, or comment posted.

  • Repository Commits and PRs: You can manually filter commits and pull requests by author in the repository view, then check the dates to see which actions occurred during the week.

  • Local Git Logs: By cloning the repository and using git log or git shortlog filtered by author and date, you can see a developer’s commit activity for the week.


9. Validate Flashy Reviews

On Bitbucket:

  • For each PR, calculate review time (first review - PR opened).

  • Identify PRs with review time less than 5 minutes.

  • Count these PRs.

PreviousBitBucket IntegrationNextJira

Last updated 2 days ago

Was this helpful?

πŸ”—