Atomic and Minimal

Accelerate presents evidence that high performing engineering teams ship small changes often, with continuous integration (CI) and continuous deployment (CD). Fast, accurate code reviews are a critically important part of CI, but code review is often a bottleneck. Making pull requests atomic and minimal can help speed up code reviews by reducing the cognitive load on the reviewers.

  • Atomic: the pull request accomplishes one and only thing. The absolute size is not that important, hydrogen atoms are a lot smaller than plutonium atoms. That said, smaller pull requests are generally better.

  • Minimal: the pull request satisfies only what’s specified on the change order, typically a Jira ticket, Pivotal or Shortcut card, etc. This means deferring whitespace and other reformatting changes, refactoring, and anything else which might distract a code reviewer.

Employing both principles is easier said than done, but consistent application of both principles has helped clarify my thinking as a developer, and I’ve found that my pull requests getting accepted faster and with fewer revisions,