为保障软件工程的顺利实施,建立合理的角色管理体系是整个软件工程管理中一个
重要的方面。我们采用角色分工的方法,首先划清角色职责,在具体的项目实施过程中
为每位成员分配角色(根据项目规模和人员情况,可以一人兼多个角色和多人充当-一个
角色),以保证项目开发过程的各个环节责任明确、分工到人。角色数量与公司规模和项
目规模有关,-般设置为项目经理、需求分析工程师、系统设计工程师、高级软件工程
师、软件编码工程师、测试设计工程师、测试工程师、软件支持工程师8个角色。
通过划分软件工程角色,可以根据技术员的技能安排相关的任务,可以有目的的培
训或招聘相关技能的人才,可以有重点的稳定高级人才,防止人员流动带来的风险。我
有什么类型的业务,我就需要什么样的人,而不是,我有什么样的人,我就做什么样的
业务。如果没有明确的角色划分,就没有合理的职责分配,一个人几乎什么都需要掌握
(学习是有成本的),当他达到一-定的水平之后,自然就追求更高的待遇,他具备高级
软件工程师的水平,但我们更需要程序员,我们应该提供什么样的待遇呢?我们需要什
么样的人,我们就提供什么样的待遇。
在传统的项目小组中,我们往往安排技术高超、经验最丰富的程序员做项目经理,
这是一个误区,技术高超、经验丰富的人应该做系统分析和设计,他是技术专家,这是
他的特长,项目经理应该是一个管理、协调和客户关系专家,有时,二者可以是一个人,
但决不是一个角色,在大的项目中,二者更应当分开。技术人员一般不善于处理客户关
系,很多项目的失败就是因为客户关系处理不好造成的。
一个人到底是什么角色,是在项目中根据项目特点和个人技能临时确定的,并不
一定代表一个人的能力和未来,是因事就人,而不是因人就事。