Recently, I was pairing with Steven. We were wrapping up work on a feature. While reviewing our changes and running our acceptance test suite, he realized that one of our new acceptance tests was passing before it should.
We knew the change that we should make to cause the test to fail and then pass as expected, but Steven wanted to dig deeper. He wanted to ensure that we insulated our tests from inadvertently passing in the future. I was reluctant. I wanted to be done. I didn't want to change the code I had written last week. I liked its design. I just wanted to make the test pass.
Steven persisted. And, since we had some time, he began exploring. I watched as he demonstrated how he wanted the code to look. Before long, our acceptance tests were more robust, simpler, cleaner and a little faster.
I probably wouldn't have dug deeper if I were working alone that day.That is why I pair program.