đ§ Challenging the Pull Request Habit: Our Teamâs Trunk-Based Development Experiment
Coming from a background rooted in open source, RFCs, and collaborative workflows, our company has a strong culture of development through pull requests. PRs are central to how we collaborate, review, and deliver software.
But recently, Iâve been reflecting on whether this approach still serves us bestâespecially as a small, high-performing team.
Thereâs been a growing body of research, especially from Googleâs State of DevOps (DORA) and the book Accelerate by Nicole Forsgren, Jez Humble, and Gene Kim, that highlights an interesting trend:
Teams that practice Trunk-Based Development (TBD)âmerging small, frequent commits directly to the mainlineâconsistently outperform in both speed and stability.
This sparked a question for me: What if we tried something different?
đ€ Why Experiment with Trunk-Based Development?
Let me be clear: this isnât a rejection of PRs. Pull requests are essential in many contextsâespecially when introducing potentially breaking changes, managing infrastructure as code, or contributing to open source, or other controlled environments.
Theyâre valuable tools, and weâre not throwing them away.
But in our caseâa tight-knit team of three developersâweâve noticed some subtle but persistent friction:
- PRâs are often merged within a few hours, but they still introduce context switches and unnecessary overhead.
- Review comments tend to focus on minor improvementsânaming, formatting, etc. Which could often be addressed later or handled differently.
- We rarely catch logical flaws with the code during reviews
- We still release bugs (albeit minor) into production despite our best efforts
- Each PR brings with it process weight: writing the description, tagging tasks, running manual tests, waiting for reviews, and so on.
Individually, these frictions arenât catastrophic. But together, they slow us down just enough to matter.
So, what if we could maintain quality, increase flow, and reduce frictionâall while keeping our high trust and collaboration intact?
My stomach feeling is that when developing new features, you can code 80-90% by isolating specific feature, and only the last percentage is integrating with existing code and services.
đ§Ș The Experiment: A Shift to Trunk-Based Development
Weâre running a TBD experiment over a few sprints. Itâs structured, intentional, and driven by data. Our goals are to improve lead time, reduce cognitive load, and boost developer satisfaction.
â What Weâre Testing
1. Refined Process
- Share a developer brief to introduce the experiment and invite team reflection.
- Establish team agreements on how weâll operate.
- Pull requests are still being usedâbut used selectively, especially when code requires manual testing or broader review, or integration.
- Tagging of commits with task IDs for traceability, and to support non-blocking reviews.
2. Lean Into CI/CD
- Automated testing is mandatory for all new codeâpreferably unit tests, but anything that makes sense contextually and is automated
- Any commit that passes CI is eligible for deployment.
- Emphasise tiny, frequent commits and early integration.
3. Non-Blocking Reviews
- Reviews are asynchronous and post-merge where appropriate.
- Feedback is delivered directly to authors, especially for more significant changes.
- Minor improvements can be committed directly to main by reviewer.
- The focus shifts from gatekeeping to enabling flow and improvement.
- Boyscout commits, such as removing unused namespaces, updating variable names or whatever leaves the campsite cleaner does not need to be part of the review process.
4. Weekly Team Check-ins
Each week we ask:
- What friction points have emerged?
- Are we moving fasterâor slower?
- Have we introduced or reduced bugs?
- Can we replace manual steps with automation?
- How do we feel about the process overall?
đ Metrics Weâre Tracking
- Lead time from commit to production
- Deployment frequency
- Rate of bugs or rollbacks
- Team sentiment and confidence in the process
This isnât a leap of faithâitâs a measured experiment. Weâre testing, learning, and adapting.
đ± The Feeling of Growth
Pull requests have become more than a workflowâtheyâre a symbol of caution, structure, and trust. In large or distributed teams, they play an essential role.
But in small, high-trust environments, those same rituals can become bottlenecks. And the truth is: what worked five years ago might not be the right fit for who we are now.
This is a moment to reflect, evolve, and improve.
đ§ In Closing
I donât know yet if Trunk-Based Development will be the silver bullet for us. (Is anything really?)
But I do know this: itâs worth exploring.
Weâre not abandoning qualityâweâre doubling down on trust, tooling, and transparency.
If youâre in a small team and feel the drag of over-engineered process, maybe itâs time to ask: What are we optimising for?
For me its all about running the experiement, gather the data and the feedback, and if it does not work, the worst thing that happens is that we go back to the âoldâ ways of working.
Letâs see what happens. I promise to do a followup
Top comments (0)