When we are talking about Git Velocity in GitKraken, we are referring to a set of Git metrics & data around your activity that can help you and your teammates work more effectively with Git and with each other.
When you’re entire team is using the GitKraken Git Client, you will work more in unison to increase overall productivity and improve developer experience.
The goal of Git Velocity is to achieve two outcomes: ship more frequently and ship with fewer bugs.
If you are unfamiliar with DevOps Research and Assessment (DORA) reports, they are a series of reports from Google that surveyed and analyzed thousands of development teams over six years to understand what behaviors set apart high performing development teams from their lower performing counterparts.
The book called Accelerate by Nikole Forsgren, Gene Kim and Jez Humble is highly recommended reading if you want to explore deeper all aspects of the research.
Let’s start by focusing on the 4 key DORA metrics that help teams set goals and perform better. At GitKraken, we strongly believe in Git as a team sport, and think that access to these metrics will help you ship higher quality code, and do it more frequently.
These 4 measurements are:
- Throughput: How often code is successfully pushed to the production environment.
- Lead Time for Change (Cycle Time): The amount of time it takes a commit to get into production.
- Change Failure Rate: The percentage of deployments causing a failure in production.
- Mean Time to Recover: How long it takes to recover from a failure in production.
Git Metrics in GitKraken
At GitKraken, we’re exploring ways of providing these types as Git metrics to development teams.
Here is an early look at the systems we’re building for internal testing and tracking of our team’s Git velocity. The goal is to monitor Git metrics on a regular basis, and expose bottlenecks earlier.
These Git metrics are powered by the repositories connected to the GitKraken Git Client. Once logged into your organization’s GitKraken account, you will be asked to choose which provider your repositories are hosted on. Currently, only GitHub is supported, but there are plans to support other providers in the future (GitLab, Azure DevOps, BitBucket).
After connecting and providing a PAT, you will be able to choose the repositories you want to track. By analyzing the repositories activity, the Git Client can provide Git analytics based on actual code changes, not arbitrary issues from a project management tool.
Once repositories are selected, a simple dashboard shows Cycle Time & Throughput metrics for the past 30 days. Eventually, you will be able to analyze and filter these Git metrics by date range, team, and even specific groups of repositories to compare how your velocity is being impacted over your releases & projects.
You can also drill into each metric and analyze the specifics of the changes that are influencing the numbers. For example, with Cycle Time, you may view the list of pull requests that were scanned and easily identify which took longer than expected.
Users of the GitKraken Git Client can also look forward to better repo management with GitKraken Projects. Projects will be collections of repositories that you can create in the Git Client to help you and your team work more efficiently across multiple repositories. You can see the status of the currently checked out branch for each repository, and update, open and make changes to any of them from a single view.
Gitkraken Projects will also allow you to see pull requests and issues for all repositories in the project in one location, instead of bouncing around between tabs.
Because these features are in the early stages of design and development, the GitKraken team would love feedback regarding the behavior, direction and approach to how we are building the Git velocity service.
If you or your team want to ask questions or be involved in testing and providing feedback, please email us at [email protected] with Git velocity in the subject line.