作为一个项目的领导者,原则(principle)、模式(pattern)和实践(practice)都是重要的,但使它发挥作用的是人。在整个团队中,人不是“插入即兼容的编程装置”。如果想要项目取得成功,就必须构建起具有合作精神的、自组织(self-organizing)的团队(这句话摘自《敏捷软件开发》)。实际上一个良好的团队必须具备以下六个特征:(1)明确的团队目标;(2)资源共享;(3)个体拥有差异性;(4)良好的人际关系;(5)共同的价值观和行为规范;(6)归属感。
如果你是一位领导者,在你的团队中是否有下面几种性格的员工:有的程序员目中无人,你说你的,他做他的,一副很傲慢的样子;有的程序员默默无闻、埋头苦 干,你说什么他就听什么,看上去不错,但是在编程序的时候没有自己的思想;还有的程序员很有头脑,即使他什么也不会,但是你说一件事儿,他会触类旁通,这 类程序员一般进步都很快;有的程序员很开放有的程序员很保守。都是生活在IT圈中的人,怎么做人的差距就这么大啊。
人固然重要,但是一个合作的团队更加重要。单靠一个员工能做到吗?答案肯定是不可能的。要有一个良好的团队、要使人与人之间有一个融洽的关系,领导者的作 用固然少不了。一个合格的领导必须扮演着三种不同的角色:(1)信息沟通,及时将上级的指令传达给下级,变为部门或员工的行动,然后将部门的工作情况及时反馈给上级,供上级决策的需要,在横向部门之间是信息交流的中转站,(2)人际关系,在上级面前是被领导者,完成上级指令,在员工面前是领导者,传达上级的指令并处理好员工之间的关系,在同级面前则是工作的协调者;(3)决策者,将上级传达的命令转化为部门工作的目标,并有效解决在向目标前进中遇到的各种各样的问题,善于发现将来,抓住机会。
因此在软件开发过程中,最重要的不是员工、也不是领导者,而是领导者怎么使他的每个员工发挥最大的潜力,使他们的团队更健康,这比原则、模式都重要,正像开头说的那句话