• Earlier and better feedback, while the code is being written, from your pair partner.
  • Collective code ownership by the team and strong team style, since it is no one’s sole responsibility or brainchild.
  • You can have actual continuous integration with small changes locally tested and then pushed out, without problem ignored till later.
  • Fewer issues with merge conflicts since your whole team is up to date on small changes every time.
  • High visibility of team members’ work so you can easily (and early) spot where a teammate needs help.
  • You can preserve the whole commit history, which is an advantage for future developers working on the same codebase.

Full post here, 15 mins read