1、软件过程标准软件项目管理过程V1.0修订记录版本号日 期作者授权人授权日期描述0.9 /07/02SDSSDS /07/02第一次编制0.9.5 /07/18陈纪山苏光 /07/18本地化0.9.6 /08/02陈纪山苏光 /08/01重新排版, 根据评审意见修改1.0 /08/12苏光彭柏林 /08/12批准经过目录1目的和范围11.1项目策划涉及到11.2项目执行涉及21.3项目结束涉及22过程阶段23进入准则24退出准则35交付的工作产品35.1策划阶段35.2实施阶段35.3结束阶段46此文档的使用者47过程47.1过程流图47.2过程描述67.2.1项目起始67.2.2项目实施87.
2、2.3项目结束107.2.4验证机制117.2.5度量128活动职责表129参考文献1310附件131 目的和范围目的: 项目管理过程详细描述了项目的启动、 执行和结束的过程。便于项目负责人对软件项目进行管理和监控。范围: 当获得一个项目而且指定项目负责人后, 本过程开始执行。项目管理过程覆盖了项目的整个生命周期。此过程主要涉及到: 在项目起始阶段评审合同中的约定和进行项目策划; 在项目执行阶段进行项目监督和与其它部门、 小组的关系管理; 在项目结束阶段进行项目结束分析, 确定和记录项目中遵循的最佳实践。1.1 项目策划涉及到l 基于以下各项, 定义项目过程使用的生命周期模型( 例如: 瀑布型
3、、 螺旋型、 重叠瀑布型) : m 客户的要求m 组织标准软件过程( OSSP) m 裁剪指南m 过程财富l 定义项目的组织结构l 确定交付的工作产品l 确定项目的风险及风险缓解措施l 识别培训需求l 基于以下各项, 确定项目的质量目标: 验收时的缺陷比例、 生产率、 进度和质量成本: m 客户的需求m 组织的改进目标m 过程数据库m 过程能力基线l 确定实现项目质量目标的战略方法: m 缺陷预防m 使用工具m 改变过程/方法l 设定对工作产品( 如设计文档、 代码) 评审和测试时的过程性能指标l 确定进行目标和风险跟踪的里程碑, 以便采取适当的改正和预防措施1.2 项目执行涉及l 按照项目计
4、划和项目过程实施项目l 按照项目计划, 在里程碑处进行跟踪, 必要时采取纠正措施l 按照过程性能指标进行跟踪, 必要时采取纠正措施m 对于代码, 确定程序级缺陷m 代码评审的有效性m 单元测试的有效性m 程序级(编码、 代码评审、 单元测试)的工作量: 估计值vs.实际值l 执行缺陷预防活动1.3 项目结束涉及l 进行分析, 比较项目的实际性能和预先设定的目标l 收集项目的经验, 更新过程数据库, 向SEPG提交过程财富和BoKl 向SEPG提交量度分析报告、 里程碑报告和过程财富如果项目的实施涉及到多个开发中心, 根据工作的性质, 每个开发团队应有一个协调人, 其职责是: 与项目负责人交流、
5、 控制和监督该开发中心的有关该项目的活动、 与该开发中心的经理进行协调2 过程阶段l 项目启动l 项目实施l 项目结束3 进入准则l 能够获得合同/项目授权l RFP或建议书或合同或需求文档l 金宇恒和客户要求的过程/方法l 过程数据库和过程财富l 组织范围内有关质量、 工作量和进度的改进目标l 组织范围内有关可用工具的信息l 组织范围内的缺陷分析l 估计指南4 退出准则l 项目策划m 项目计划已经制定、 经过小组评审、 经过SEPG评审、 经过高级经理评审和批准而且置于配置管理之下l 项目实施m 客户已验收所有的工作产品l 项目结束m 项目收工会议已进行、 过程数据库已更新、 过程财富和量度
6、分析报告已提交5 交付的工作产品5.1 策划阶段l 项目计划和进度l 其它的补充计划, 如: 培训计划、 风险计划等。这些计划能够是项目计划的一部分, 也能够独立成册l 配置管理计划l SQA计划l 评审记录l 授权记录l 培训记录5.2 实施阶段l 量度分析报告l 里程碑报告l 更新后的过程数据库l 过程财富l 更新后的项目计划和进度5.3 结束阶段l 里程碑分析报告l 更新的PDB/PALl 状态报告l 评审记录6 此文档的使用者l 项目负责人l 业务经理l 客户l SQA/SEPGl 项目组l 其它相关组7 过程7.1 过程流图7.2 过程描述7.2.1 项目起始项目起始阶段主要涉及到对
7、合同中的约定和项目策划( 项目计划) 的评审。此阶段的主要活动有: l 建立项目工作环境( 硬件/软件) l 与客户建立工作协议l 编制项目实施计划l 制定项目跟踪过程, 以确保项目处于控制之下l 确定项目实施期间遵循的过程/方法项目策划是项目开始后的第一个技术活动。策划涉及到客户的需求, 同时也要考虑到金宇恒的需求7.2.1.1 项目策划涉及l 依据裁剪指南, 对组织标准软件过程进行剪裁, 以满足客户的要求l 使用过程能力基线/过程数据库进行估计, 并设立质量目标l 使用过程数据库(PDB)和过程财富, 设定项目目标l 确定实现目标的战略, 并为生命周期的每个阶段确定过程性能指标l 确定进行
8、项目性能检查的里程碑, 必要时采取纠正措施l 基于估计的工作量和给客户作出的承诺, 制定风险管理计划和预备的进度表7.2.1.2 项目策划涉及的活动l 熟悉项目m 在开始制定项目计划前, 项目经理( PM) 收集所有与项目有关的可用信息, 分析研究这些信息以便她熟悉该项目m 项目经理能够经过阅读需求文档、 客户提交的其它信息和资料以及参考资料来熟悉项目l 执行项目启动的行政活动m 执行行政活动, 如: 获得授权、 通知其它组等m 如果使用OA系统, 适当地进行系统更新以反映新项目地开始l 制定项目计划和进度m 制定项目目标m 制定人力资源计划m 确定适合项目实施的标准过程m 裁剪标准过程已满足
9、项目需求m 确定将使用的方法、 工具、 模板和标准m 识别风险、 评估影响, 制定风险缓解计划m 使用组织级的估计指南和客户需求进行规模、 工作量和成本估计m 使用组织级的指南, 制定质量计划m 确定实现质量目标的战略m 为项目制定度量计划m 为项目制定培训计划m 制定项目跟踪规程m 识别和确定项目里程碑m 确定在项目策划期间所作的假定m 制定项目进度l 对项目计划和进度进行小组评审m 计划和准备由其它项目经理进行的项目计划评审m 依照评审规程进行评审m 编写评审报告, 而且修订项目计划中的问题m 如果需要, 计划并执行重新评审l 从高级经理处获得授权, 将项目计划和进度基线化m 高级经理必须
10、以书面的方式授权给项目经理, 以便项目经理依据计划开展项目工作m 此工作能够经过高级经理签署项目计划, 或经过电子文档签发授权书m 将项目计划和进度置于配置管理之下m 如果使用配置管理工具, 将项目计划和进度检入到配置库中m 如果以手工的方式进行配置管理, 更新变更记录l 制定和评审配置管理计划m 使用软件配置管理计划模板编制软件配置管理计划m 此项工作( 编写SCM计划和实施配置管理活动) 可由项目经理( PM) 或她指定的人( 作为配置经理) 完成。l 制定和评审SQA计划m 使用软件质量保证计划模板编制软件质量保证计划m 此项工作可由项目经理或SQA代表( 负责本项目的SQA活动) 完成
11、l 建立开发环境m 安排必要的基础设施, 以建立开发环境m 其它部门或小组可能涉及到此项活动m SCM经理为此项目建立配置库m 系统组提供项目所需的硬件和软件m 行财部提供必要的资金和支持以购买开发工作所需的工具( 如果公司不能提供所需的开发工具) m 人力资源部门提供开发所需的人力资源l 为项目组成员提供已确定的培训( 包括过程相关培训) 和项目所需的定向培训m 项目经理识别项目组成员所需要接受的培训m 培训部和有资格和经验的内培训师提供培训m SEPG提供与过程有关的培训7.2.2 项目实施项目实施涉及到按照计划执行项目。本阶段地主要任务包括: 分配任务、 管理项目组和客户间的关系、 定期
12、地向客户和高级经理报告项目状态、 更新进度表、 管理需求变更和风险、 在程序级监督过程性能( 代码、 代码评审和单元测试) 、 进行里程碑评审而且在必要时采取纠正和预防措施、 重新策划和保持项目计划地更新。7.2.2.1 项目实施中的活动l 依照项目计划执行项目l 跟踪项目状态, 必要时重新策划m 项目经理( PM) 经过以下方式跟踪项目状态: n 查看项目组成员的报告n 更新任务分配和进度表n 直接与项目组成员沟通m 如果存在重大的偏差, 项目经理能够重新进行策划活动, 更新项目计划中相应的章节, 以反映项目的实际状态l 高级经理参与评审项目状态m 项目经理( PM) 定期地向高级经理简述项
13、目的状态, 而且和高级经理一起评审项目的进展情况m 一般每周进行一次l 管理需求变更m 在需求发生变更的情况下, 项目经理将跟踪所收到的变更请求、 指导影响分析, 而且从变更控制委员会( CCB) 处获得变更批准m 仅当变更请求被批准后, 变更才能够得以实施m 项目经理负责分配任务以实施变更m 项目经理经过监督人员、 项目组成员的报告或任务分配单来跟踪变更实施的状态l 监督与项目定义过程的一致性m 项目经理经过以下方式监督项目过程的符合性: n 对活动的自我评审n SQA审计n 同行评审报告l 在程序级监督项目性能m 项目经理经过监督和查看项目组成员的报告, 实现在程序级监督项目的性能m 此报
14、告依照项目计划中的定义, 定期生成( 最好是每周) l 指导里程碑评审 & 重新规划/策划 ( 必要时) , 以满足目标m 在项目预先确定和指定的里程碑处, 项目经理指导项目评审会议( 所有项目成员均参加) m 基于上述评审, 项目经理( PM) 可能重新策划项目l 基于事件驱动, 进行额外的评审 & 重新规划/策划m 在关键情况下, 能够进行额外的评审和从新策划7.2.3 项目结束项目结束涉及到在客户验收后系统地整理分析项目。项目结束数据分析是本阶段重要地活动。分析活动主要是将项目的性能和预先设定的目标进行比较。在分析期间, 高级经理需参与到此项工作中。识别和记录项目的最佳实践, 提交到过程
15、数据库( PDB) 、 过程财富库( PAL) 中, 以供未来的项目使用。举行项目结束会议, 项目组成员、 SQA/SEPG、 财务分析人员、 高级经理等共同分析对比项目的性能和预先设定的目标。在此阶段, 还需要向SEPG提交量度分析报告和里程碑分析报告。7.2.3.1 项目结束阶段的活动l 执行结束分析m 项目经理经过分析从项目中收集的量度和以下各项的发现, 进行项目结束分析n 交付的延迟( 进度上的延迟) n 缺陷数( 产品的质量) n 变更请求数( 规模的变更) n 最初的规模vs.交付时的规模n 最初估计的工期 vs. 实际的工期n 从已发现的错误中吸取的经验n 评审中发现的缺陷n 测
16、试中发现的缺陷n 造成缺陷的原因n 造成延期的原因n 过程性能l 指导结束会议m 当客户验收了交付的所有工作产品时, 项目经理召集项目结束会议, 而且陈述在项目结束分析中的发现m 项目经理同时也陈述从项目中学到的经验和教训, 以及所遵循的好的实践m 如果使用了裁剪过的过程, 将进行过程性能讨论, 以便发现过程中能够改进的部分l 更新过程数据库m 项目结束分析和量度报告将由项目经理放入过程数据库中l 向SEPG提交量度分析报告和里程碑报告m 项目经理依据项目的其它相关报告, 制定上述报告; 并将这些报告提交给SEPG以供将来分析使用l 向SEPG提交过程财富m 向SEPG提交裁剪过的过程、 客户
17、化的模板、 表格; 以及客户提供的过程、 模板和表格, 以供SEPG在未来研究和分析l 归档项目资料m 项目经理收集所有与项目相关的资料, 并进行分类、 归档m 归档的资料应存储在可移动的介质中m 归档的资料应存储在不同位置的办公室中l 释放项目组成员和资源m 项目经理经过向有关部门发送项目结束信息, 释放项目组成员和其它基础设施资源l 释放项目负责人m 项目经理( PM) 经过向人力资源部门发送信息来释放项目负责人m 项目经理经过签署项目结束报告, 并将此报告提交给高级经理来释放她自己7.2.4 验证机制验证的方法如下: l 高级经理经过接收和评审项目经理每周提交的项目状态报告( 和按照项目
18、计划中的要求) 来验证项目策划和跟踪活动l 每15天进行SQA审计或按照项目计划的要求项目经过裁剪组织的标准软件过程来生成项目定义软件过程。一旦生成了项目定义软件过程, 该过程中所有的活动均强制要求执行。执行独立的符合性审计, 检查项目的符合性。7.2.5 度量l 规模, 估计值和实际值l 工作量, 估计值和实际值l 成本, 估计值和实际值l 进度, 计划值和实际值l 实际的缺陷值8 活动职责表编号活动GM/VPPMPLTMSQA1进行估计SPPS2编制项目计划SPPS3评审项目计划PPPSP4搭建开发环境SPPS5分配任务SPPS6执行任务SSPP7跟踪需求变更SPPS8关闭变更SPPS9跟
19、踪项目状态SPPSS10编制项目状态报告SPPS11监控项目性能PPPSS12监控过程符合性SPPSP13跟踪项目活动SPPS14报告的准备SPPSS15项目结束SPPSSP:主要职责 S: 次要职责GM: 总经理VP: 副总经理PM: 项目经理PL: 项目负责人TM: 项目组成员SQA: 软件质量保证人员9 参考文献SEI-CMM version 1.1Software Engineering, by Roger Pressman10 附件项目计划模板TM_MGMT_SDPT项目计划评审检查单CL_MGMT_SDPT软件开发生命周期指南 GL_SDLC_SDLC估计指南GL_MGMT_ESTM估计模板TM_MGMT_ESTM项目状态报告模板TM_MGMT_STAT评审表FM_SDLC_REVW度量和分析规程PR_SDLC_METR量度总结分析模板 TM_ SDLC_METR过程数据库PDB/QMS过程裁剪指南GL_MGMT_PRTL配置管理过程PR_MGMT_SCM配置管理计划模板 TM_SDLC_SCMP软件质量保证过程PR_MGMT_SQA软件质量保证计划模板TM_MGMT_SQAP软件质量保证审计报告模板TM_MGMT_AUDR