角色抽象作为一种载体,可以很好地进行软件工程知识体系和企业知识地图的组织,满足企业知识体系持续改进的需要,因此角色团队组建和建设也可以作为软件工程实施方法之一。
软件开发项目立项时,重要工作之一就是开发团队的组建;在软件工程实施(把软件工程研究结果产生的标准或规范如ISO、RUP、MSF、XP具体应用到软件开发活动的程称为软件工程实施)的过程中,要解决的问题之一就是关于团队组建规则的定义;从企业发展的角度来看,软件开发团队建设是企业建设的重要任务。总之,软件开发团队的组建和建设是企业经营和发展的重要内容之一。
几乎所有的管理知识体系或规范都涉及到个体和团队建设问题,比如组织行为学[Stephen P.Robbins,1997]对个体和团队的行为进行了研究;项目管理[PMI,2000]中的计划、人力资源管理、项目集成管理、项目沟通管理等多个项目管理领域都涉及到团队建设和管理;在软件能力成熟度模型(CMM)[SEI,2000]的发展过程中,从个体软件过程和团队软件过程来研究软件的开发和管理。对个体和团队管理的研究是管理学的核心任务,涉及到的知识和学科纷繁、复杂。
然而,在管理的具体实施过程中,客观上管理环境的不同及主观上管理者的偏好,一般会在理论或规范基础上进行简化、删减、方向取向、分类归纳等工作,最后表现为各自独立的制度、规则、知识、评估方法、认证等多种独立体系,失去了其内在的联系,管理工作仍然复杂,而且不利于改进。
B端产品经理面临的第一大挑战,是如何正确的分析诊断业务问题。 这也是最难的部分,产品设计知识对这部分工作基本没有帮助,如果想做好业务分析诊断,必须具备扎实 ...
瑞理统一过程(RUP)[Rational,2001]通过对工作流分解的方式进行了软件开发过程及活动的分解和定义,并以角色为中心来进行知识、活动、规则、工具等的关联组织,从而把软件开发活动一体化、层次化、结构化,并保持其内在的有机联系,为个体和团队软件开发活动提供了很好的指导。
本文以“角色”这一概念为基础,提出了“以角色为基础的软件开发团队建设”的观点,阐述了其原理和方法,并对其优、缺点进行了分析,简要说明了该方法对“软件工程过程改进”的支持。
为简化叙述,文中“以角色为基础的软件开发团队”简称为“角色团队”,对应地,其它一般团队简称为“一般团队”;许多地方把文档、资源、信息、规则等统称为“知识体系”。
一、角色的含义
根据RUP[Ration