PR Flow

Steps surrounding the work:

  1. git checkout main
  2. git pull
  3. git branch -D old-pr-branch
  4. git checkout -b new-pr-branch
work
  1. git commit
  2. git push
  3. Create PR
  4. Wait for approval
  5. Merge PR

Commit to Trunk Flow

Steps surrounding the work:

  1. git pull
work
  1. git commit
  2. git push

Observations

With PRs, before I can even start the work, I’ve performed more steps than the entire trunk flow.

If PRs contain valuable discussion, they can provide value.

For the majority of our work (collaborative), there is no valuable discussion in the PRs (there is LOTS of valuable discussion during the work).

PR flow contains 3x the number of steps outside the work to solve the problem.

What would using mob.sh look like, as an alternative to these 2 ways of working?

Could it bridge the gap and make others happy?

In low trust environments, PRs can provide value through gatekeeping behavior.

Defaulting to PR flow encourages low trust behavior.

I don’t think that’s behavior we should encourage.

We should encourage high trust behavior.