- 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