Pull Requests are a proposal to merge a set of changes from one branch to another. They emerged from the world of open source and are optimized for low-trust, low-communication environments.
If worker busyness were the measure of software productivity, then pull requests would be well suited to the task. But we know that’s not how quality and productivity are formed.
Weaknesses to Pull Requests include:
- Typically only spot surface level problems, missing structural level issues.
- Lead to a false sense of security and reduced sense of accountability
- Increases the effort per developer as they carefully wordsmith feedback
- Changes often require 2-3 rounds of feedback and change, which increases the time to production
- Can erode culture by discouraging live interactions and conversations
- Inherently ineffective and inefficient due to emphasis on minimizing human interaction
- Back and forth interruptions slow both the code author and the reviewer
- Delay the improvement process to the end instead of building it in from the beginning
- Represent Work in Progress, and we know that increases cycle time and reduces throughput in the system
What to do instead:
- Pair programming: active review that builds quality into the product from the start
- Ensemble programming: collaborative development with an effective work-in-progress of one, eliminates need for post-facto reviews and rework
- If pull requests must be used, reduce the size of the average change; prioritize finishing other people’s pull requests before doing your own work; prefer conversations over written feedback.
Scrum Anti-Patterns – How We Hold Back Our Scrum Teams
Resource Links:
- Are Pull Requests Holding Back Your Team?
- From Async Code Reviews to Co-Creation Patterns
- How to Measure DORA Lead Time for Changes
- PRs: Shift Left, Please (Part One)
- The Snail Pace of Pull Requests
Broken by Pull Requests:
Trunk Based Development
Continuous Integration
Mark Levison has been helping Scrum teams and organizations with Agile, Scrum and Kanban style approaches since 2001. From certified scrum master training to custom Agile courses, he has helped well over 8,000 individuals, earning him respect and top rated reviews as one of the pioneers within the industry, as well as a raft of certifications from the ScrumAlliance. Mark has been a speaker at various Agile Conferences for more than 20 years, and is a published Scrum author with eBooks as well as articles on InfoQ.com, ScrumAlliance.org an AgileAlliance.org.
*Thank you for visiting the World's Largest Opinionated Agile Reference Library. This content is created and the links are curated through the lens of Agile Pain Relief Consulting's view of what is effective in the practice of Scrum and Agile. We don't accept submissions and emails to that effect are marked as spam. Book listings may use affiliate links that could result in a small commission received by us if you purchase, but they do not affect the price at all. From experience, this won't amount to anything more than a cup of coffee in a year.« Back to Glossary Index