首页 > 代码库 > 软件项目量化管理(CMMI高成熟度)实践经验谈——之项目管理过程策划篇

软件项目量化管理(CMMI高成熟度)实践经验谈——之项目管理过程策划篇

续:软件项目量化管理(CMMI高成熟度)实践经验谈——之概述篇


二、项目管理过程

        软件开发项目管理过程,从项目全视角来看,分为售前、售中、售后等三个大的阶段。本文所谈的是售中阶段项目管理过程。在售中阶段,项目管理主要分项目策划、项目跟踪监控、项目结项归档等三部分,相关活动包含销售活动、採购活动、资源活动、支持活动等。

技术分享


1、项目策划

        项目策划是一种具有建设性、逻辑性的思维的过程,在此过程中,总的目的就是把全部可能影响决策的决定总结起来,对未来起到指导和控制作用,终于借以达到方案目标。

它是一门新兴的策划学,以详细的项目活动为对象,体现一定的功利性、社会性、创造性、时效性和超前性的大型策划活动。

1.1、项目策划的原则

  1、可行性原则

  项目策划。考虑最多的便是其可行性。"实践是检验真理的唯一标准",相同。项目策划的创意也要经得住事实的检验。

  2、创新性原则

  创新是事物得以发展的动力。是人类赖以生存和发展的主要手段,每一个软件项目都是全新,要依据项目特征值创新性的策划项目。

  3、无定势原则

  世界万物都处在一个变化的氛围之中,没有无运动变化的事物,事物就是在这样的运动的作用下发展的。

  4、价值性原则

  项目策划要依照价值性原则来进行,这是其功利性的详细要求与体现。比如:项目工作量最少的QPPO。就是项目的价值取向。

  5、集中性原则

  在战争中。集中优势兵力攻击对方关键性的部分,成为军事谋略的上策。

不论是军事项目,还是软件开发项目,都能够借此达到胜利的目标。

  6、智能放大原则

  人的能量是无穷的,策划中的创意与构思也是无止境的,因此说项目策划要坚持智能放大的原则。

  7、信息性原则

  信息是项目策划的起点,详细来说,包含下面几项要求:

  1)收集原始信息力求全面

  2)收集原始信息要可靠真实

  3)信息加工要准确、及时

  4)保持信息的系统性及连续性

1.2、项目策划根据和准则 

        在企业进行CMMI评估过程中,在CMMI2、3级时就已经建立起项目管理过程及体系文件。并日臻成熟,所以。项目策划时是须要根据企业本身的CMMI体系文件,也就是公司SOP(标准体系文件),相关已经和准则例如以下:

        1、项目过程定义裁剪准则

        可裁剪属性有:生命周期模型。项目类型,项目阶段,评审级别,文档是否裁剪。频度。成本、进度容差,里程碑延迟等。详见《组织过程裁剪指南》裁剪项目过程。

        2、任务分解准则(WBS)

        根据《项目定义过程》、《项目估算报告》、《项目实施计划》、《项目进度计划模版》等过程体系文件和指南。任务分解准则例如以下:

        ⑴、WBS分解分类:项目分解WBS(项目管理类型任务分解)、技术分解WBS(项目project任务及特有技术工作内容分解)。

        ⑵、WBS分解原则:

  • 项目要求;
  • 定义逐步求精;
  • 人时(工作量):一般的任务不超过2周。也就是80人时;
  • 任务责任到人。
  • 团队工作原则:项目经理在制定项目计划过程中。尤其是在任务分解,工期预计对关键过程中一定要与项目成员一起进行。

        3、项目估算根据

        參考体系文件《估算指南》,根据项目合同、需求、项目通知、任务分解。以及组织资产库进行项目估算。

        4、软件项目风险管理规则

  • 风险类别有:人员、客户、管理、质量、測试、环境等;
  • 风险系数有:高、中、低;
  • 风险发生概率和风险影响范围分别1~5分。

        5、风险的管理策略

        a. 当风险系数(高)在16~25之间。必须制定应急计划。而且随时监控风险变化情况,一旦风险发生。则立马启动应急计划。

        b. 当风险系数(中)在 9~15之间。可不制定应急计划,定期监控风险变更情况。随时准备启动缓解措施。

        c. 当风险系数(低)在 1~8之间。可不制定应急计划。定期监控风险变更情况,必要时启动缓解措施。

       注:对于部分低风险,可选择接受。

1.3、 策划过程及内容

        项目策划过程就是项目经理接到项目启动通知后。根据项目启动通知和项目项目策划过程,在部门经理、项目级QA、CM等人员的配合下,进行项目过程定义、项目估算、项目实施计划的制定和维护、项目策划评审等工作。

输出成果有:项目实施计划、项目估算报告、项目定义过程、进度计划。

技术分享

1.4、项目策划过程实践

        1、项目开发过程定义

        在项目过程定义中,在项目级QA的协助下,參考《组织过程裁剪指南》和《软件生命周期》裁剪定制适合于项目的生命周期模型,制定《项目定义过程》。因为本项目需求比較明白,所以採用了瀑布模型。定义阶段例如以下:

  • 需求阶段
  • 设计阶段
  • 编码及单元測试阶段
  • 集成測试阶段
  • 系统測试阶段
  • 验收測试阶段

        当中。需求、编码及单元測试、系统測试、验收測试为里程碑。



        2、项目估算

        项目估算是參照任务分解模版和《估算指南》,分别定义项目project活动、项目管理活动、项目支持活动三部分。

        ⑴.项目project活动按本项目实践的瀑布模型生命周期和PDP。主要定义例如以下:需求开发、需求评审、软件设计、设计评审、编码与測试、代码走查、单元測试、集成測试、系统測试、项目验收等活动。

        ⑵.项目管理活动分解活动例如以下:项目立项、项目策划、周报例会、项目结项、其它项目管理活动(比如:需求管理、量化管理等)、项目度量。

        ⑶.项目支持活动分解为配置管理和质量保证两类活动。

        1)、编码工作量估算(代码行数)

        项目工作活动中,编码活动估算,是依据项目实际情况和前期需求及资产库。工作范围和软件功能分解到详细功能模块(树状结构),估算代码行数,估算方法为Delphi。估算记录例如以下图所看到的。


技术分享
        使用Delphi法估算代码行数。估算两轮,第一轮会议室办公用品管理、后台配合两个模块的估算额定偏差超过20%,因此仅对两个模块进行了第二轮估算。

        2)、工作产品规模估算(页数等)

        项目project活动中。基于项目wbs的规模和工作量估算”中对除编码阶段外其他阶段进行工作产品规模估算,并通过计算得到工作量

技术分享


        3、项目实施计划

        项目实施包含:项目概况、项目组构成及人力资源计划、项目预算及进度计划、干系人參与计划、度量分析计划、.其他子计划等6部分内容,具体内容例如以下图所看到的。

技术分享

        1)、项目概况

        项目概况介绍了项目背景和基本信息及建设目标等内容,核心内容为项目目标,比例如以下图项目过程性能目标(Project‘s QPPO),以及项目范围、验收标准、待交付产品或服务、项目工作环境、项目风险等。

技术分享

        2)、项目组构成及人力资源计划

        项目组由项目经理、QA、CM、需求开发者、设计人员、编码人员、測试人员构成,按下表的职责分工协作,由项目经理全面负责。

当中,人力资源计划是依据项目实际情况和资产库。分别选配0基础、中级、高级技术人员,以及相关技术专业。假设人员能力不足。则安排专业技能培训计划。

技术分享

        在项目组构成及人力资源计划中主要体现项目组构成、角色与职责、项目所需知识与技能分析、项目培训计划。

        3)、项目预算及进度计划

        项目预算及进度计划包含项目生命周期、项目工作量及预算分配、项目一级计划、里程碑标定说明等4项内容。因为此项目需求清晰完整,所以生命周期模型选择瀑布模型。由此定义兴许内容。

        项目工作量及预算分配。按需求开发、软件设计、编码与測试、集成測试、系统測试、项目验收、项目管理、支持过程及估算工作量,确定工作量预算分配比比例如以下:11%、23%、26%、7%、10%、4%、13%、6%。期中,预算还包含人力成本、差旅费用、其它费用。

        进度计划例如以下表所看到的。

技术分享
        项目里程碑是必须设置的,此项目定义例如以下:需求开发、编码与測试、系统測试、产品验收4个里程碑。


        4)、项目干系人參与计划

         项目干系人參与计划主要包含:项目干系人识别及职责定义、干系人參与计划、外部干系人沟通计划等3部分内容。例如以下表所看到的为项目干系人识别及职责定义。

技术分享

        干系人參与是按项目各个阶段协商安排计划。计划内容例如以下:阶段、任务名称、參与人员、開始日期、完毕日期、任务完毕验收标准。

        外部干系人參与计划。主要计划内容有:沟通方式、沟通内容、发起人、外部干系人、沟通频率。


        5)、度量分析计划

        度量分析计划包含项目度量目标及度量指标、度量分析计划等两部分。因为度量是比較主要的内容,并且基本同样,再此略。


        6)、其他子计划

        其他子计划包含:数据管理计划、项目监控计划、需求管理计划、决策分析计划、项目评审计划、项目測试计划。

        数据管理计划为识别项目需纳入数据管理范围的数据项,并计划其管理级别等相关信息。

具本的数据项请參见:配置管理计划。

技术分享

        项目监控计划主要是有:

  • 项目管理
    • 项目周报
    • 风险管理
    • 周例会
    • 里程碑评审
    • 日常监控报告
  • 配置管理
    • 配置管理周报
  • 质量保证
    • 质量保证周报
  • 度量分析
    • 项目进度度量
    • 项目工作量度量
    • 规模度量
    • 过程质量度量
    • 产品质量度量

        4、项目进度计划

        在完毕实施计划后,開始对项目实施计划进行细化,当中,项目进度计划是当中重要细化内容,并贯穿项目全周期。


        项目进度计划是子计划。主要是基于项目实施计划中的资源、进度计划、里程碑等各项内容,在项目实施过程中进行任务分配、人力资源分配、时间分配,上述分配要与project进度相协调。任务管理模型例如以下表所看到的:

技术分享

        在项目进度计划编排过程,须要注意下面原则和情况:

  • 任务分配渐进式。也就是说在任务分解渐进精细的过程中,任务也要逐步分配到人,详细任务,让开发者看到2周就能够了,再多分配。则在调整任务时,将耗费非常大精力;
  • 根据里程碑识别并确定关键路径。在任务进度安排过程中,应先寻求关键路径并在关键路径上安排一定的机动时间和节假日,以便应付意想不到的困难和问题。

  • 理顺任务间的关系。提高并行化。
  • 做好项目基线(基于MS Project)。

        注:项目基线是特指项目的规范、应用标准、进度指标、费用指标以及人员和其它资源使用指标等。

基线随着项目的进展而变化,主要原因有:(1)时间指标无法实现;(2)各项任务延期完毕;(3)里程碑未达到;(4)有些工作不能按时開始;(5)人员不能按计划到位;(6)设备性能被过高预计;(7)高峰期人员工效不高。(8)预算过高或过少;(9)工作完毕量超过或未达到计划。——智库.百科

        5、项目配置管理计划

        配置管理计划是软件开发计划的一部分。它设立了项目的配置管理策略及实践。


        受控级别说明:

  • 低:不必随时跟踪版本号。但要求将阶段性成果在配置库内必须有。如项目周报。不要求跟踪版本号等,但必须检查是否已放入配置库对应位置。
  • 中:表示该配置项受控。其每一个版本号须要审核、评审或測试,由配置管理project师存放03.Baseline下对应位置。
  • 高:表示基线控制。修订须要通过变更控制过程来严格控制。并要跟踪版本号及存放位置的正确性。全部纳入基线库的工作产品必须定为高级。其他则依据项目须要来定。
  • 密:机密文件。不可复制,不可拷贝。

        下图为落实配置管理所建立配置管理库的结构图。

技术分享

        6、质量保证计划

        质量保证计划主要是由QA来完毕,在此略。


       下一章节预告:软件项目量化管理(CMMI高成熟度)实践经验谈——之项目管理过程监督与控制篇

软件项目量化管理(CMMI高成熟度)实践经验谈——之项目管理过程策划篇