大型软件项目的组织设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
大型软件项目的组织设计
项目组织类型选择完了以后,只能说是从理论上选定了一个组织的方向,但并不能马上生硬的运用到项目中。这里就需要对项目组织进行合理的设计了。特别对于参与人数和参与方都比较多的项目,项目组织设计的优劣,直接影响到项目的进度、费用和质量。乃至项目的成功与否。
在大型软件项目组织设计中,例如,在湖北移动BI项目组织设计中,我们充分结合了该项目的管理特点(详见附件二)。基于此我们要考虑以下几个原则:
1、组织结构扁平化原则,以利于项目组内的相互沟通;
2、组织划分要专业化原则,以利于技术问题的解决;
3、组织设计灵活性原则,以利于人员的正常流动;
3、整体组织与内部组织相结合原则,以利于统筹兼顾。
在大型应用软件开发项目组织设计中,我们首先要从整体考虑项目组织的组成,然后再重点考虑项目内部组织的结构。从整体上考虑,可分分为若干个按项目小组,如:用户代表组,管理组、开发组、质量保证组、支持组等。如下图所示:
*用户组中一般包括:用户方的项目经理、用户方技术工程师、最终使用用户、咨询顾问等。如下图所示:
图四:用户组角色组成图
说明:在较大型的软件开发项目中,用户一般都会聘请一些有经验的咨询顾问,以提供项目指导。咨询顾问包括技术顾问和管理顾问。如在2002年福建移动和江苏移动的BOSS项目中,就请了HP作为该项目的咨询顾问。
* 管理组中一般包括:高层经理(或项目总监)、项目经理、项目管理人员等。如下图如示:
例如:2003年,中国移动公司的BI项目中,开发组中的小组设置就是在架构师的统一规划下,编码实现分为四个开发小组:数据仓库小组、联机分析小组、数据挖掘小组、元数据开发小组。
* 质量保证组一般包括:测试经理、QA经理、测试员等。如下图如示:
那么,从项目实际运作的角度来考虑,项目组织更多指项目实施方的组织,在项目实施方组织结构必需包含项目组内部的管理层次和工作的汇报关系等信息,即我们通常所说的项目内部组织结构图。如下图所示:
图九:项目内部组织结构图
项目组织结构设计完成后,相当于人的一个基本骨架基本形成。紧接着还必须为项目组织中各种角色的岗位职责进行清晰描述,这样才能构成一个完整的机体。在软件项目中,主要角色和职责描述如下:
高层经理:
•审核批准项目实施计划;
•负责项目实施过程中的重大事件的决策;
•根据项目过程中的进度、质量、技术、资源、风险等实行宏观监控;
•协调项目组织中各相关方的工作关系。
项目经理:
•根据项目进展及工作要求整合工作计划,并监督实施,控制进度;
•协调项目组内人员的分工合作,资源分配;
•向公司汇报项目状况,提出建议及改进措施;
•与用户进行有效的沟通协调,并争取关健用户的支持。
软件架构师:
•负责用户需求汇总和分析;
•负责系统总体设计;
•指导设计师的详细设计;
•配合系统的集成测试。
测试小组:
•负责计划和实施对软件的单独系统测试,以确定其软件产品是否满足其需求;
质量小组:
•负责计划和实施项目的质量保证活动,以确保软件开发活动遵循软件过程规程和标准。
配置经理:
•负责计划、协调和实施项目的正规配置管理活动。
系统工程师:
•负责说明系统需求,分配系统需求到硬件、软件和其他部件,规格说明硬件、软件和其他部件之间的接口,并监督这些部件的设计和开发,以确保符合规格。
客户代表:
•负责项目原始需求的收集;
•参与需求评审和需求变更控制;
•负责系统确认测试的实施。
注:在中型、小型的软件项目组织中,部分角色可以兼任,但是SQA和系统测试小组应保持其独立运行。SQA组(质量小组)可越过项目经理向高层经理直接进行报告;测试小组也可不依赖软件开发人员,来计划和准备系统验收测试用例以及测试规程。另外,角色种类还要依据具体项目而定,例如在有的软件开发项目中,还有设置有产品经理角色。