集成化软件研发流程IDP介绍

第4章集成化软件研发流程 IDP 介绍目录4.1 什么是集成化软件研发流程 IDP 34.2 研发项目的组织结构模型 44.3 研发项目的角色模型 54.4 IDP 流程中的过程域、主要活动和主要工作成果 74.1 什么是集成化软件研发流程 IDPCMMI 的 560 页文本论述了二十多个过程域和数百条实践,但是这些“过程域和实践”没 有与“企业的具体业务和组织结构”衔接起来所以不能把“ CMMI 标准”直接作为企业的软 件过程规范来使用企业应当根据自身的情况,既要裁剪 CMMI 过程域和实践,又要补充 CMMI 没有涉及的过 程域和实践,研制出适合本企业的容易执行的软件过程规范IDP (Integrated Development Processes )是作者创作的基于 CMMI 的集成化软件研发流 程IDP由众多的过程规范和模板组成,IDP 5.0模型如图4-1所示,特征和优点如下:图 4-1 集成化软件研发流程 IDP 的模型一、 集成了营销过程、项目管理过程、项目研发过程和支持过程IDP 四类过程贯穿了项目生命周期,结构清晰,相互关系直观明了 IDP 模型有助于企 业各部门有条不紊地开展工作。
二、 适合于中小型 IT 企业的 CMMI 3 级研发流程IDP吸纳了 CMMI 3级以内的大部分过程域(做了合理的精简),扩充了商务过程域,采 用增量开发模式,更加适合于中小型 IT 企业(满足要求并且易于执行) 三、容易裁剪与扩充IDP是免费公开、不断改进的流程规范,国内已经有大量用户学习和应用 IDP用户可以根据本企业的特征,适当地裁剪或扩充 IDP 的过程域,很容易制定出最适合于本企业的流 程规范4.2 研发项目的组织结构模型研发项目的组织结构模型如图 4-2 所示,按照职务高低划分为三个层次:机构领导、项 目经理、项目成员机构领导是项目经理的直接领导,这里机构可以是公司,也是可以是公司的开发部门 一般地, 机构领导是本机构内所有项目的决策者 机构领导下达任务给项目经理,项目经理 向机构领导汇报工作项目经理是本项目的管理者,他带领所有项目成员共同完成机构领导下达的任务项目成员是指在项目中执行具体任务的人员,例如分析员、设计师、程序员、测试员等 项目经理下达任务给项目成员, 项目成员们向项目经理汇报各自的工作项目成员并非固定在一个项目中工作,他们可能来自于相对独立的职能单位(例如开发 组、测试组),可以为多个项目提供服务,即矩阵关系。
如果机构内没有相对独立的测试组,那么测试人员的直接领导就是项目经理如果机构 内有测试组,那么测试人员的直接领导是测试经理, 而项目经理相当于测试人员的“临时雇主” 当测试人员接受了某个项目的测试任务,那么他要向测试经理和项目经理汇报工作当项目结束后, 该项目的人力资源被释放 机构领导决定本机构内的人力资源如何应用图 4-2 研发项目的组织结构模型4.3 研发项目的角色模型研发项目的角色模型如图 4-3 所示每个人可以拥有多个角色,视项目情况而定每个 角色必须有明确的职责(说明要做的事情和所负的责任) 常见的角色职责如表 4-1 所示后 续章节的流程规范将阐述“角色在什么时候,以什么步骤做什么事情,产生什么样的成果”开发质量客服专员项目经理需求分析员系统设计师开发工程师测试工程师营销研发项目客户服务质量保证员配置管理员•合同项目销售员•产品经理图 4-3 研发项目的角色模型角色该角色在研发流程中的主要职责机构领导(项目决策者)(1)参与立项评审,为项目分配合适的人力资源2 )及时了解所有项目的人力资源、进度、质量情况,协商处理问题3)在项目结束时,对项目进行综合评估立项评审委员会立项评审委员会一般由部门经理以上职位的人员组成,主要职责是参与“合同项目”和“自主产品”的立项评审。
该委员会有一名常务负责人,处理立项流程事务项目经理(项目管理者)项目经理是立项之后的项目主要责任人,主要职责是带领团队在预定的时间和成本之内, 开发并交付质量合格的项目(产品)项目经理对本项目的需求、进度、质量、交付负主 要责任1)负责本项目的任务进度管理、变更管理,以及可能存在的跨项目、跨部门协调2 )如果本项目没有专门的需求分析员,那么项目经理承担需求分析工作如果本项目 缺乏足够的开发工程师,那么项目经理应当承担某些模块开发3)在项目结束时,总结知识财富和经验教训,完善文档对项目成员的业绩进行评估需求分析员(1)负责本项目需求调研、分析、定义,撰写详细的需求文档2 )将需求准确地传达给相关人员(如开发、测试、客户等) ,随着项目进展,及时完善需求文档系统设计师(1 )根据需求开展总体设计,包括构架设计、数据库设计、用户界面设计等2 )撰写设计文档,并将设计成果准确地传达给其他项目成员开发工程师(1)按照项目经理分配的任务执行开发工作,并清楚地交付给测试人员(准备测试) 如果测试人员报告缺陷,应及时消除缺陷对自己工作成果的质量负最大责任2 )参与项目讨论,主动发现项目中的问题、消除问题。
3 )对自己的源代码进行配置管理,及时完善文档测试工程师(1) 了解项目需求,了解项目开发进度,和项目经理商议测试计划,设计测试用例2 )根据计划执行测试,找出尽可能多的缺陷使用缺陷跟踪工具,及时将测试信息反 馈给相关责任人3)向项目经理汇报项目内的质量问题,向机构领导汇报共性的质量问题质量保证员(1)跟踪每个项目的开发过程,重点检查需求文档、设计文档、变更记录、用户文档是 否符合规范2 )参加需求评审和设计评审3)如果发现项目问题,先和责任人沟通,如果难以解决,则由上级领导协调配置管理员(1 )为所有项目创建配置库,为用户分配合适的权限,负责信息安全和备份2 )指导开发人员使用配置管理软件和“集成化研发管理平台” 产品经理(1)负责产品调研分析,撰写《产品需求说明书》,使产品顺利立项2 )跟踪产品开发过程,及时试用产品,纠正偏差,给出优化建议,使产品更加适合目 标客户的需求3)协助营销人员宣传、销售该产品,及时获取客户的反馈,改进产品 提示:产品经理可兼任项目中的需求分析员销售员(1 )公司软件产品及合同项目销售,包括制订个人销售计划,拜访客户,向客户推介和 演示公司产品和服务,业务洽谈及跟进;需完成给定的销售指标。
2 ) 了解用户需求,及时反馈给公司研发部门和服务部门注意:合同项目的立项须遵循公司的立项管理流程客服专员(1 )现场服务,为客户部署软件、培训讲解等利用电话、互联网提供非现场服务2 )客户问题的处理跟踪表 4-1 项目中的角色职责表4.4 IDP 流程中的过程域、主要活动和主要工作成果IDP的过程域主要活动主要工作成果营销产品构思和调研产品构思,产品调研产品需求说明书,产品调研报告过程产品体验和宣传销售产品体验,宣传销售产品宣传材料合同项目销售接触客户,可行性分析,投标答辩, 签订合同投标书,合同,项目需求说明书客户沟通和合同验收消除摩擦,评审成果,控制变更,项目验收,发掘商机项目验收报告项目管理过程立项管理立项申请,立项评审,项目筹备立项申请书,立项评审报告结项管理结项申请,结项评估,关闭项目结项申请书,结项评估报告项目规划与监控制定项目计划,人员管理,任务进 度管理,项目成本管理,设备管理项目计划,日志,周报风险跟踪和变更控制识别风险,处理风险,关闭风险变更申请,变更审批,执行风险跟踪表,变更控制报告项目开发过程需求开发与管理需求调研,需求分析,需求定义, 评审确认,细化跟踪,变更控制客户需求记录,产品(项目)需求说明书,需求跟踪表软件系统设计系统结构设计,用户界面设计,数 据库设计,模块设计系统设计说明书, 模块设计说明书模块开发与集成模块需求细化,模块设计,模块实 现和集成模块需求说明书,设计说明书, 软件代码测试与改错准备测试,执行测试,消除缺陷测试用例,测试报告软硬件系统集成方案设计,选择设备供应商,设备 采购和验收,设备安装调试系统集成方案部署试用撰写文档,软件部署,客户培训,客户试用部署说明书,安装和使用手册软件维护接受维护请求,分析维护请求, 执行维护维护记录支持过程软件配置管理软件代码管理,文档管理软件代码库,文档库软件质量管理技术评审,测试管理,发布管理, 质量保证,缺陷(问题)跟踪技术评审报告,发布记录,质量检查表,缺陷报告客户服务管理客户信息管理,客户问题受理客户信息库,客户问题记录统计分析统计分析统计分析报告表 4-2 IDP 流程中的过程域、主要活动和主要工作成果。