沟通一般都不是工程师的强项,他们宁可花一个下午和(可理喻,有逻辑的)编译器搏斗,也不想和(不可理喻,情绪化的)人打交道。大多数时候,工程师都视沟通为编写代码的障碍,但是如果你的团队没有事先达成共识,那么是没有办法知道你的代码写得对不对的。 ![工程师通常更喜欢和可理喻的、有逻辑性的人待在一起](https://box.kancloud.cn/2d2959f921034059449e1133d882991b_573x436.jpeg) 工程师通常更喜欢和可理喻的、有逻辑性的人待在一起 只要检视一下任何优秀、有效率的工程师文化,你就会发现它们对各种沟通渠道的重视,例如邮件列表、设计文档、任务宗旨、代码注释、产品说明等。让所有人认同团队的方向并完全了解团队要做什么是很花精力的,但是这些努力的回报是生产力的提高和更快乐的团队。 沟通的指导原则之一就是在同步沟通的时候(比如开会),人越少越好。而在异步沟通的时候(比如E-mail),涉及的听众越多越好。更重要的是,你必须确保项目文档里的信息要尽可能地让所有人都看到。接下来我们要讨论软件开发过程中团队里主要会用到的沟通方式。其中有些看起来似乎是无需赘言的,但是其中还是存在一些细微差别,值得再好好审视一下。有一件事是肯定的:如果你不花精力好好沟通,最终一定会浪费更多的精力去做一些没必要的工作,或是团队里别人已经做过的工作。