How to Improve pull request outcomes
Introduction
Have you ever looked at your pull requests and wondered what happened to them? Why did some get merged and others just sit there, abandoned?
Well, every pull request has one of three outcomes: it gets merged, closed without merging, or abandoned due to inactivity. And did you know that the average engineer abandons 8% of the pull requests they create?
Let's understand this evil from the scratch.
What Are Pull Requests?
Pull requests are a way for developers to submit code changes for review and collaboration. They are usually created when a developer wants to submit a code change, but needs to have it reviewed by other developers before it can be merged into the main codebase.
However, pull requests can also be a source of frustration and inefficiency. Many pull requests are abandoned due to inactivity, or never even get the chance to be merged due to a lack of feedback or review. This can lead to a loss of time and money, as well as a decrease in productivity.
Fortunately, there are ways to increase the velocity of pull requests and reduce losses. In this blog post, we’ll discuss the power of pull requests, how to increase velocity, and how to reduce losses.
How to Increase Velocity
The goal of any pull request should be to increase velocity. This means that the code should be reviewed and merged as quickly as possible, while still ensuring that the code is up to standards.
Here are some tips on how to increase the velocity of pull requests:
Solicit Feedback: Ask other developers for feedback on your pull requests. This can help ensure that any issues are addressed before the pull request is merged. Identify what's impacting them and talk about how you might avoid it next time.
Focus on Reducing Abandonment: Rather than worrying about the absolute value of your starting point, monitor your progress and strive for improvement. Monitor your abandonment rate and strive to reduce it over time. This can help ensure that pull requests are addressed quickly and not left in limbo.
Address Upstream Issues: Late changing product requirements, shifting business priorities, and technical debt can all lead to abandoned pull requests. By addressing these issues, you can help ensure that pull requests are addressed quickly and efficiently.
Be Selective: Be more selective about which pull requests you open. While it's not realistic to aim for zero abandoned pull requests, being more selective about which ones you open can help reduce the number that are abandoned.
How to Reduce Losses
Pull requests can also be a source of losses. Fortunately, there are ways to reduce losses associated with pull requests. Here are some tips on how to reduce losses:
Monitor Progress: Monitor the progress of your pull requests and strive to improve over time. This can help reduce the number of abandoned pull requests.
Automate Reviews: Automate reviews of pull requests whenever possible. This can help ensure that any issues are addressed quickly and efficiently.
Reduce Technical Debt: Reduce technical debt as much as possible. This can help ensure that pull requests are addressed quickly and efficiently.
Streamline Processes: Streamline processes wherever possible. This can help reduce the amount of time and effort required to review and merge pull requests.
According to an anonymized analysis of thousands of engineering contributors, the average PR loss rate across the industry is 8%. A loss rate above 11% is in the bottom quartile, while a rate below 3% is upper quartile performance.
By implementing these strategies, you can save yourself some cash and avoid the disappointment of seeing all your hard work go to waste.
So, how does your team stack up?