Skip to content
Home ยป The Passive-Aggressive Pull Request

The Passive-Aggressive Pull Request

PRs are divisive. They are a blocker to change. They invite opinions, not all of them welcome.

Whether it’s the massive PR that no one can be bothered to review and gets forced through by management, or the lovingly crafted PR that gets blocked by someone with a grudge. Is the PR over?

PR as a Limiting Factor

When viewed through a long lens, PRs have improved quality. Git merges are easier than in CVS. A PR is a conversation. It is democratic, but is it useful when they slow down our release process and cause friction in the team?

While PRs help effectively share information about what’s happening in the codebase, they also expose our shortcomings. Despite having worked in the industry for thirty years, I often find it difficult to have these conversations. Both giving and receiving feedback is hard. It’s a life skill. Some of us are not naturals.

PRs can be used offensively and defensively. Under time pressure, a difficult team member holds the cards when you need a review. The power dynamic can be frustrating.

At times like these, I feel like we’ve come nowhere in our change management processes. Opinions are everywhere in software development, and now there are tools that just make our lives more difficult.

Changing the Story

We all live with imperfect software development lifecycles. It’s vital to ensure the process doesn’t get in the way. If our process is stifling creativity and important voices, we must modify it to reduce friction. PRs are a blight on our industry, driven by tooling which bakes it into our release process. Suddenly we’re working around the tools rather then deciding for ourselves.

A lot of this comes down to trust. Our bosses don’t trust us, so they put in stage gates. But the point of our tools is to help us develop changes that flow to production. PRs and process hooks which pit developer against developer are not helpful; they are a hindrance. For too long, we have accepted them as the way we have to do things. But these are choices.

PRs incentivise bad behaviour. People use PRs as weapons to stake out their territory and to land opinions that they wouldn’t otherwise care about. They do this to make themselves look important. They do this to insert themselves into the conversation.

It doesn’t have to be this way.