本文是一篇关于开发文化方的形成与构建的文章,将谈到怎么去构建自己团队的开发文化,谈到怎么样在形成自己团队的开发文化的同时不去摸杀个人的表现空间。当今社会,谈公司文化的不少,但谈开发文化的好像不多,不知道是不是因为我孤陋寡闻。
相信大家对团队开发这个词已经不陌生了,而且相信大家知道,一个稍稍大一点的项目也绝不会是一两个强人所能完成的,所以团队开发是完成大型项目的必然形式。团队开发强调的是协作与交流,而优秀的团队往往有一套行之有效的交流手段。在这样的团队的成员大家都清楚一个有争议的问题的决策会出自哪里,大家都清楚在遇到某个类型的问题时从哪里会得到最有效的帮助,大家都清楚自己的团队的其他成员的开发习惯与代码偏好;最重要的一点是,优秀团队的成员愿意为实现一个优秀的团队产品而放弃一些个人偏好而以比较一致的形式进行编码。
一个优秀团队的形成可能会是一件自然而然的事情,合适的人走到一起的时候就会形成一种合式的协作形式,但我认为要实现一个优秀的团队必须要先了解团队成员的需求。任何一名程序员参加工作最直接也是最自然的目标就是要实现自己美好的生活,只是一些人把眼前的生活看得重一些,一些人把未来的生活看得重一些;因此满足他们对金钱的基本追求是必要条件,另一个重要条件是满足程序员对知识的渴望和对未来的向往。只有这样我们才有可能去构建一个比较稳定的团队,也只有在团队稳定的时候我们才有可能也才有必要去构建团队的开发文化。
一个优秀团队的形成的首要条件是必须建立一个机制让团队的成员都勇于表达自己的观点与思想,只有这样我们才有可能知道大家在想什么,才可能知道大家需要什么。那我们应该怎么样去构建这样的一种机制呢?不同的人会有不同的实现方式,但以下的几点我认为是必要的。
首先,我们要尊重团队中的每一个成员,人是一种需要自尊的动物,而自尊只有在自己的工作不断被别人肯定的时候才会体现出来,而人只有在自己的工作受到肯定的时候才会更为主动地更为自信地在别人面前表达自己的观点和思想。
其次,把适当的工作安排给合适的人来做,尽量发挥和拓深个人的特色与修为。我相信一个优秀的团队一定是一个互补型的团队而不会是一个全能型的团队,只有这样大家才可能感觉到自己被团队认同,也只有这样他才有可能认同团队。
再者,不适合的人要尽早从团队中除名。人是一种爱对比的动物,如果团队中存在一些做事能力差而又没有上进心而且不愿意主动学习的人,那一定会影团队其他成员的热情,特别是当这种人的收入比其他人还高的时候。当然这件事情也不能做得太过了,否则人人自危也不利于团队的建设.
最为重要的一点是,给予团队成员犯错误的机会。人总是在自己犯下严重错误的时候才能真正地体会到问题的严重性,也只有这样才会记忆深刻。而且也只有给予犯错的机会,团队的其他成员才有可能更进一步地了解各成成员的优点和弱项,也只有这样才有可能知识互补共同进步。当然这是有风险的,我们不能拿公司的前途来开玩笑,也不应该拿公司的声誉来冒险,所以我们要做这么一件事情的时候,首先应该建立一个强有力的救火队,这或许不是一般公司所能实现的,也不是一般公司愿意实现的;但即使不支持这一点,也绝对不要规定一个人如果犯多少次什么样的错误就降级就除名,否则你得到的将是一个十分保守的团队,而且随着问题的进一步发展,这样的团队最终只能是解散。
前面说了这么多,其实只是说了形成一个优秀团队的外因,而真正能形成一个优秀团队的内因却在团队的所有成员。