虽然这些文化和沟通的习惯看起来可能只是代表了笔者自己所偏好的工作方式,但其实它们没有你想象得那么主观。我们发现,只要在组建团队时为它培养强大高效的团队文化,并且在团队沟通上花点时间精力,这样的团队就会有更多的时间编写和发布产品,而不用老是去争论要写什么代码的问题。 强大的团队不是自发形成的,它们都是由团队的领袖和创始人培育起来的,他们对领导废柴团队编写软件所需的代价都有切身体会。所以从一开始就着手培养对创建自我选择的文化是大有裨益的,这样团队才有更多的时间设计和编写代码,而不用去定义或是维护自己的文化。这些努力(沟通和流程)还有一个很大的好处,即它能极大地降低新人融入团队的门槛。不然的话,新人要么吃力不讨好地去学习团队的工作方式,要么就干脆放弃学习,然后试图让团队采用自己在之前团队采用的工作方式(结果可能有好有坏)。 尽管为团队招募到合适的人才和为团队注入正确的价值观都是非常重要的事情,但最后绝大部分能真正成为文化一部分的努力其实都是来自沟通。任务宗旨、会议、邮件列表、在线聊天、代码注释、文档,乃至决策过程都是团队自己以及和外部沟通的不同方式。很多人都想不到只是为了写代码就要在沟通上花那么多时间和精力(包括感情上的交流),但这却是事实。代码最终是要和人沟通,而不是机器。 无论你的团队文化如何,也不管你的团队沟通有多顺畅,我们见过的每一支高效团队都少不了一个领袖。在下一章,我们要谈谈怎样才算是强力的团队领袖,为什么他的角色可能和你想象的不同,以及为什么工程师懂一点带领团队的基础知识是非常重要的等话题。