I was excited to see the following as a theme in the recent ThoughtWorks Technology Radar:
Even though we still prefer the original practice of CI, we encourage teams who cannot use it because of external constraints to find ways to improve the accuracy of integration and the speed of their feedback cycle.
This is a major goal of the new set of patterns I’m working on (and which I’ve posted about before if you want more info). In particular:
The things that can improve your PR/code review process are the same things that can move you toward eliminating Pull Requests if you want.
The main goal is to integrate code quickly, and there are a few ways to get there
The path forward involves changes in other parts of the developer experience and product development pipeline. Mandating quicker review cycles won’t work if your work items are large, for example, and tests and static analysis make the human review time more effective.
At the moment, I think Patterns are a way to capture those relationships, and I’m working on making sure that using pattern form (and a pattern language) doesn’t get in the way of teams deploying their implementations of the patterns.