I cannot emphasize how important communication is in today's IT industry. If I were paid a penny for every time I have hurt someone's ego over code, I would be a millionaire. It is not pleasant. I know; I have been on the opposite side as well. 99% of the arguments in today's software projects are not because of a lack of skills but due to miscommunication. Our industry killed the one thing that makes us human beings - meaningful verbal communication. Covered by our headphones, hiding from what it seems a myriad of pointless meetings, we often spend time developing stuff that does not fit into the final picture. And then, ego prevails, and feelings get hurt.
The underlying cause of all these issues is a lack of communication. The goal of the talk, then code philosophy is not to impede or frustrate, but to ensure that a feature lands correctly the first time, without incurring significant maintenance debt, and neither the author of the change, or the reviewer, has to carry the emotional burden of dealing with hurt feelings when a change appears out of the blue with an implicit “well, I’ve done the work, all you have to do is merge it, right?”
via Talk, then code