软件开发团队中的普遍问题及高效团队特征.doc
软件开发团队中的普遍问题及高效团队特征 一、高效软件开发团队的特征 本人从事软件开发几年以来,经历了多次的成功与失败的体验,总觉得我所在的团队可以做得更好些,但结果并不是我想象中的那样,许多时候整个团队并不能像我想象那样运作,总是出现各种各样的问题。一些问题的存在只是因为其他问题存在而存在的,所以我一直都想寻找开发团队优化的根源。也许,至今,我仍没有找出真正的根源,单是至少已经像前走出了一步,体会到了一个高效的开发团队应该具备的特征,在此简单描述一下。 1、团队有明确的共同目标 事实证明,一个具有明确的而且有挑战性目标的团队比目标不明确 或不具有很大的挑战性目标的团队效率高得多,通常技术人员往往会因为完成了某个明确的任务,而且这个任务的完成具有挑战性的意义而感到自豪,反过来团队成员为了获取这种自豪的感觉而更加积极的工作从而带来团队开发的高效率,如作为系统设计人员很清楚的知道在什么时候要做到什么,什么时候开始做,什么时候必须完成,为了完成工作必须面临哪些挑战,怎么解决这些困难等为设计出一个高质量的软件项目提供了重要保证,而模模糊糊的去设计一个系统或模模糊糊的就去编写代码是非常危险的,而且会为此付出高昂代价,因此高效的软件开发团队具有挑战性的共 同目标。 2、团队有很强的凝聚力 在一个高效的软件开发团队中,成员们凝聚为一个整体共同进行工作,他们是相互支持、互相交流、互相尊重的,而不是相互推卸责任、保守、相互指责的,在一些散乱的开发团队中往往存在这样的问题,一些程序员是比较保守的,明明知道另外的模块中需要用到一段与自己已经编写完成但有些难度的程序代码,他也不愿拿出来给其它程序员共享,不愿与系统设计人员交流,这样给项目的进度造成了些不可度量的因素。 3、团队有融洽的交流环境 在一个开发团队中,每个人行使自己的职责,如需求分析人员制定需求 规格说明、系统设计人员做系统概要设计和详细设计、项目经理配置项目开发环境并且制定项目计划等,但每个人的工作不可能做到完美的,如系统概要设计的文档可能有个别地方词不达意,做详细设计的时候就可能会造成误解,项目经理制定计划时可能忽略了某种风险的存在而造成执行者过于紧张的压力等等情况都需要大家通过交流、反馈的手段然后协商解决的,因此高效的软件开发团队是具有融洽的交流环境的,而不是那种简单的命令执行式的。 4、团队有明确的角色划分 所有成员都明白自