1、14软件项目跟踪控制韩万江 姜立新,软件项目管理案例教程,机械工业出版社 ,2005-02 【丛书名】 国家示范性软件学院系列教材 14 软件项目跟踪控制 214.1 项目跟踪控制 214.1.1 项目跟踪控制概念 314.1.2 项目跟踪控制的范围 314.1.3 项目跟踪控制的重要性 414.1.4 项目跟踪控制的标准 414.2 建立项目跟踪控制的标准 514.3 建立项目监控和报告体系 514.3.1 跟踪采集的过程 614.3.2 建立跟踪采集对象 614.4 项目跟踪控制过程 614.4.1 顶目范围的跟踪控制 614.4.2 项目进度、成本(资源)的跟踪控制 714.4.3 项目
2、质量的跟踪控制 1614.4.4 项目风险的跟踪控制 1814.4.5 真他方面的监控 2014.4.6 利用工具分析项目性能 2014.5 项目评审 2114.5.1 项目评审概述 2114.5.2 评审准备 2114.5.3 评审过程 2114.5.4 评审报告过程 2314.5.5 问题跟踪列表 2314.6 项目计划修改 2414.7 案例分析 2514.8 小结 2814.9 习题 2814 软件项目跟踪控制前几章主要讲述如何编制项目计划,项目计划用来指导项目实施,提供项目控制的依据。项目管理的另外一个重要任务是按照项目计划对项目的实施过程进行跟踪控制,以保证项目在预定的成本、进度下
3、保质保量地完成,最后取得项目的成功。项目实施过程是执行项目计划,将计划付诸于行动的过程。这就是本章要讲的内容,是本书路线图的第13站:跟踪控制,如图14-1所示。图1-1路线图第13站:跟踪控制项目是否按照进度进行?项目开销是否在规定的成本之内?项目是否存在潜在问题?所有这些问题是伴随着项目的进展而需要项目经理时刻关注的。14.1 项目跟踪控制有一条管理格言说:“没有跟踪就不算完成。”在软件项目中,有太多的工作需要去完成,而项目经理不可能全部跟踪。但是因为高效的软件管理要求把成千上万的工作都做得尽善尽美,所以软件项目需要做很多的跟踪工作。有时计划不够周密,计划赶不上变化,计划出现较大的差错。久
4、而久之,有些人就会失去耐心、置之不理。实际操作中几乎不可能100%的遵照计划,总有些没有想到的事情,这些事情就会影响计划的实施。计划是为了使事情变简单,使事情可见,但是如果计划被变化打乱,那就必然重回混沌状态,计划也就成了摆设!计划被打乱不足为奇,关键是及时地修正计划。所以,对于计划必须有一个跟踪过程:项目跟踪就是及时发现实施中的问题,能够及时地修改计划,使整个项目处子控制之中。进行项目跟踪控制就是为了保证项目能够按照预先设定的计划轨道行驶,使项目不要偏离预定的发展进程。跟踪控制是一个反馈过程,需要在项目实施的全过程,对项目进行跟踪控制。例如,司机控制汽车时,如果方向偏左,他就必须向右打轮。类
5、似地,项目经理发现某一个任务进度推迟了,他就会想办法(投入更多的资源),使之赶上进度的要求。对项目进行有效的监控包括对项目的跟踪和控制两个环节。项目跟踪和控制是管理项目实施的两个不同性质但却密切相关的活动。项目跟踪是项目控制的前提和条件,项目控制是项目跟踪的目的和服务对象。跟踪工作做得不好,控制工作也难以取得理想的成效;控制工作做得不好,跟踪工作也难以有效率。14.1.1 项目跟踪控制概念项目跟踪控制过程见图14-2。首先设立基准计划,它是经过多方认可的计划。项目开始之后就会按照项目计划执行。在计划的执行过程中,不断从数据采集的信息库中获取各种数据信息,其中包括项目的性能信息以及相关的变更信息
6、等,并与计划进行比较,一方面观察项目是否按进度进行、成本如何、是否超支、质量是否达标等,另一方面是判断原来制定的项目计划是否合理。如果有偏差,应该标识偏差,同时,对偏差进行分析,预测对将来的影响!偏差在一定条件下可以导致变更请求,变更请求可能来自项目内部,也可能来自项目外部。这种变更请求经过变更控制系统的处理以决定是否采取纠正措施,同时评审纠正措施的方案,必要时修改项目计划,修改项目计划时,应该按照变更控制系统的过程执行。将修改后的项目计划通知相关人员。图14-2项目跟踪控制过程其中,项目跟踪采集是在项目实施的全过程对项目进展的有关情况以及影响项目实施的相关因素进行及时的、系统的、准确的信息采
7、集,同时记录和报告项目进展信息的一系列活动和过程。目的是为项目管理者提供项目计划执行情况的相关信息。跟踪就是追踪项目的轨迹,采集相关的项目数据。为了保证项目跟踪的效率和准确性,最好建立一个项目跟踪系统的平台,相当子项目组的信息库。14.1.2 项目跟踪控制的范围项目跟踪控制就是对项目进行有效的管理。计划是一个集成的过程,在进行项目跟踪控制的时候,同样需要综合项目计划的各个方面进行集成的控制和管理,确保项目的不同元素正确无误地相互协调。为满足或超越项目参与者的需要和期望,项目跟踪控制包括在相互冲突的目标和众多的任选目标中权衡得失。就一个成功的项目管理而言,成本和进度仅是两个方面,项目管理有四个关
8、键要素:工作范围、时间、质量、成本。如果项目在时间、质量、成本的约束内完成了工作范围内的工作,就可以说项目管理基本成功了。对一个项目来说,最理想的情况就是“多、快、好、省”。“多”指工作范围大,“快”指时间短,“好”指质量高,“省”指成本低。但是,这四者之间是相互关联的,提高一个指标的同时会降低另一个指标,所以实际上这种理想的情况很难达到。例如,要进行一个网站的项目,假定原计划需要两个月完成,但由于市场原因必须提前20天进行网站发布。因此,“时间”的要素发生了变化,为了缩短工期可能采取如下措施:措施原计划由公司自行开发的“购物车”和“论坛”,现外包给技术比较成熟的公司,这样工期缩短了,成本提高
9、了。措施原计划“举报投诉”有5个模块,现改为只实现一个模块,其他模块处于“建设状态”,这样范围减少了,工期缩短了,满意度降低了。措施短缩后期的环境测试时间,这时工期缩短了,质量下降了。从这个例子可以看出,在项目中很难保证每个目标同时达到最佳。在实际工作中,往往只能均衡多种因素做出取舍,使最终的方案对项目目标的影晌最小。14.1.3 项目跟踪控制的重要性项目跟踪控制是针对项目计划实施的情况,为了了解项目的实际进展情况而采取的活动。例如,了解成员工作完成情况,了解整个项目计划完成情况等内容。跟踪可以及时了解项目中的问题,并及时解决,不使问题淤积而酿成严重后果。项目跟踪控制是必要的,因为它可以证明计
10、划是否可实施,同时可以证明计划是否可以被完成。因为可以对计划进行检验,所以如果我们把计划和跟踪控制作为一个工作循环,那么计划将由于跟踪控制过程中会发现计划的不当之处而得到适时的改进。详细的计划可以提高跟踪的准确性,提高跟踪的效率和效果。粗糙的计划则会加大跟踪的工作量,并降低跟踪的效果。这是循环所必然导致的结果。项目的巨额预算在项目执行过程中会被花掉。在这个过程,项目经理必须协调和指导项目中存在的各种技术和组织问题,因为项目产品是在这个过程中产生的。作为项目经理,必须带领你的项目团队同心协力来完成令人满意的项目。通过项目计划的实施,将得到工作成果。项目跟踪控制的范围主要包括人的监控和任务的监控。
11、其中,监控的人包括团队中所有的人员,也包括客户;监控的任务包括对进度、成本、资源、产品性能的监拴。如果没有项目控制,项目的范围会变得无穷大,成本会成倍增长,风险也会增加,进度也会推迟,最后导致项目的失败。再好的计划也是推估出来的,未必是最好的,也未必是最合理的,项目中的完成期限可能是理想的状态。产品的性能远比遵守期限重要得多。所以,在进行项目跟踪控制的时候也需要对不合理的计划进行及时的修正。14.1.4 项目跟踪控制的标准项目跟踪控制是项目管理的关键环节,也是重要环节,同时也是最能体现项目经理经验的阶段。在项目执行过程中,项目经理的作用至关重要,一个好的项目经理是项目获得成功的关键。任何一个项
12、目管理者都会面临一个同样的问题,计划与控制做到什么程度才算可以?对此,没有一个明确的结论,表面上看,我们必须加强项目的控制,才可以减少项目的不确定性。记住,所有的计划都是预测。再好的预测,也难以做到十全十美,项目的不确定性越高,实际进展与计划的偏差越大。因此,做得再细的计划,或者计划控制得再严格,都不为过。削弱对一个项目的控制等于失去控制。但是,项目经理真正要解决的问题是确定项目偏差的可接受范围!因为项目管理是有成本的,如果管理成本提高了,势必影响项目的开发成本。如果建立了偏差的接受准则,也就确定了跟踪控制的程度,项目经理就可将注意力放在解决特殊问题上。对于允许范围内的偏差,不用花时间计较,将
13、注意力放在超偏差的特殊问题上。对于项目组来说,最好是通过设置偏差的警戒线和底线的方法来控制项目。警戒线和底线可以以时间和阶段成果为标志。警戒线是为了认清发生拖延的标志,就像水位的警戒线一样。当警戒信号出现后,就应该执行应急措施。謦戒线上应该设置必要的解决或缓解问题的活动。底线本身是一种预测,预测拖延可能的时间。建立偏差的准则要因项目而异。对于风险高、有很大不确定性的项目,接受偏差的准则可以高些,例如,风险比较大的项目接受的偏差可以是20%;而对子低风险项目,例如网站类项目,高于2%的偏差都是不能接受的。为了控制好项目,必须做好以下事情:1)充分了解项目当前的状态;2)依据所期望的状态、当前的状
14、态和目标做出一些决策。其中,项目经理的分析能力、经验和悟性都决定了做出的决策的质量,当然决策主要是受到所了解信息的限制,如果掌握的项目状态数据不够准确或者不够完整,就不会做出最好的决策。进行项目跟踪控制的基本步骤如下:1)建立标准,即建立项目正确完成应该达到的目标。2)观祭项目的性能,建立项目监控和报告体系,确定为控制项目所必需的数据。3)测量和分析结果:将项目的实际结果与计划进行比较。4)采取必要措施:当实际的结果同计划有误差时,采取必要的纠正揩施,必要时修改项目计划。5)控制反馈:如果修正计划,应该通知有关人员和部门。下面几节将详细进行说明。14.2 建立项目跟踪控制的标准基准计划是优化后
15、并批准的计划,它作为项目实施考核的依据而存在,一般在项目计划实施之前保存,以便在整个项目的实施过程中对照。项目跟踪控制是对项目规划过的所有过程进行跟踪控制,包括规模、进度、成本、质量、风险等环节。在对项目进行跟踪控制的时候,应该确定偏差的接受准则,比如进度、成本、质量等计划与实际的偏差比例等。例如,图14-3的控制偏差准则。图1-3控制偏差14.3 建立项目监控和报告体系为了确定项目的状态,必须指定相应的监控系统和报告系统。项目经理需要项目进展和产品质量的反馈,以确保项目的各个环节都按计划进行。建立项目监控和报告体系的首要任务是项目信息跟踪采集,跟踪采集是依据规定的规范对项目开发过程中的有关数
16、据进行收集和记录,作为观察分析项目性能、标识偏差的依据。14.3.1 跟踪采集的过程跟踪采集过程主要是在项目生存期内根据项目计划中规定的跟踪频率,按照规定的步骤对项目管理、技术开发和质量保证活动进行跟踪,目的是监控项目实际情况,记录反映当前项目状态的数据(如进度、资源、成本、性能和质量等),用于对项目计划的执行情况进行比较分析,属于项目度量实施过程。下面给大家一个简单的跟踪采集过程的实例:1)依据项目计划的要求确定跟踪频率和记录数据的方式。2)按照跟踪频率记录实际任务完成的情况(包括进度或完成时间、质量等)。3)按照跟踪频率记录完成任务所花费的人力和工时。4)根据实际任务进度和实际人力投人计算
17、实际人力成本和实际任务规模。5)记录除人力成本以外的其他成本消耗。6)记录项目进行过程中风险发生的情况及处理对策。7)按期按任务性质统计项目任务的时间分配情况。8)收集其他要求的采集信息以及必要的度量信息等。14.3.2 建立跟踪采集对象从上面的跟踪采集过程看,首先要建立采集的对象,采集对象主要是对项目有重要影响的内部和外部因素。内部因素是指项目基本可以控制的因奏,例如变更、范围、进度、成本、资源、风险等。外部因素是指项目无法控制的因素,比如法律法规、市场价格、外汇牌价等。一般要根据项目的具体情况选择采集对象。如果项目比较小,可以集中在进度、成本、资源、产品质量等内部因素。只有项目比较大的时候
18、才可以考虑外部因素。跟踪采集的具体对象可以参见度量计划中的相关度量指标。14.4 项目跟踪控制过程项目跟踪控制的主要对象是:项目范围、项目成本、项目进度、项目资源、项目质量、项目风险等。当项目组按照计划执行任务时,应主动和不断地监控工作的状态,确保它们能够实现自身的目标和整体的目标。在实际中,可能发生各种各样的问题,例如任务估计不准确、需求发生变化、软件工具或者方法无法适应新的环境、设备和资源在需要时不可用、设计和实现发生错误、开发人员流动等。如果没有主动的项目跟踪控制,上述的问题有可能没有及时发现,产生负面的影响。项目跟踪控制本身的工作也应该合理,否则会占有很多的资源和成本,对于很小的项目,
19、项目经理可以白己完成其中的大部分工作;对子大型项目(或者规模大的组织),应该指定相关的人员协助项目经理完成。项目经理根据采集的项目数据,进行项目性能分析。性能分析主要是确定项目是否满足其计划和目标。将计划的性能与实际的性能进行比较(相当于项目计划与实际执行的一个减法),如果出现偏离计划的情况,就需要识别产生偏离的原因,采取必要的措施以确保项目成功。性能分析的结果为决策提供信息。在项目的执行过程中,应该定期进行性能分析,以保证项目在正常的轨道上行驶。14.4.1 顶目范围的跟踪控制项目范围的跟踪过程如图14-4所示,其输入是软件项目的计划需求范围(即需求规格)和实际执行过程中的范围及其控制标准。
20、在项目范围控制过程中,通过与计划的需求规格比较,如果出现范围变化,即出现增加/修改/删除部分需求范围,就需要通过范围变更控制系统来实现变更,以保证项目范围在可以接受的范围内进行。范围变更控制系统的执行过程在第9章的基线变更管理的章节已经讲过了。在跟踪控制范围变更时,应避免出现两种情况:范围蔓延(Scope Creeping)和镀金(Gold-plating)。范围蔓延是客户无限制地增加需求,镀金是开发人员无限制地美化功能。范围蔓延是指在客户的要求下,没有经过正常的范围变更控制系统而直接扩大了项目范围,通常这部分扩大的工作内容是无法得到经济补偿的。镀金是指在范围定义的工作内容以外,项目团队主动增
21、加的额外工作,这部分工作同样可以增加额外工作,也无法得到经济补偿。图14-4范围跟踪控制过程14.4.2 项目进度、成本(资源)的跟踪控制项目计划中很重要的进度、成本是项目跟踪控制的主要内容。图14-5是项目进度、成本的跟踪控制过程,根据跟踪采集的进度、成本、资源等数据,并与原来的基准计划比较,对项目的进展情况进行分析,以保证项目在可以控制的进度、成本、资源内完成。常用的项目性能分析方法有图解控制法、挣值分析法(即:已获取价值分析法)等。图14-5进度、成本、资源跟踪控制1.图解控制法图解控制是利用表示进度的甘特图、表示成本的累计费用曲线图和表示资源的资源载荷图共同对项目的性能进行分析的过程。
22、从甘特图可以看出计划中各项任务的开始时间、结束时间,还可以看出计划进度和实际进度的比较结果。累计费用(S)曲线是项目累计成本图,将项目各个阶段的费用进行累计,得到平滑的、递增的计划成本和实际成本的曲线。累计费用(S)曲线对子监视费用偏差是很有用的。计划成本曲线和实际成本曲线之间的高度差表示成本偏差,理想情况下,两条曲线应当很相似。资源荷载图显示项目生存期的资源消耗。项目早期处于启动阶段,资源使用得少;到了中期,项目全面展开,资源大量被使用;而在结束阶段,资源消耗再次减少。利用资源分配表的总数很容易构造资源荷载图,资源荷载图围住的面积代表某段工作时间的资源消耗。例如,如果实际资源载荷图面积大于计
23、划资源载荷图面积,说明我们已经比计划投入了更多的人工日,反之,说明我们已经投人的人工日比计划的少;如果相近,说明资源偏差很小。图14-6是一个项目的甘特图、累计费用曲线和资源载荷图的图示说明。从图中可以看到,项目按照计划开始,但是每项任务所用时间都比计划长,从费用曲线上看,费用比计划少了一些,但是不要以为是成本节约了,因为从资源载荷图可以看出是因为没有使用足够的资源导致费用没有计划的多。所以,可以说进度推迟的原因是缺乏足够的资源(人力资源和设备资源)。再看图示14-7,从进度甘特图看,项目进度按照计划进行,如果不仔细分析,就会认为项目进展得很好,然而从费用曲线和资源载荷图可以知道保持计划进度是
24、以大量费用为代价的,费用高的原因是资源超出计划很多。图14-6项目图解控制图例一图14.7项目图解控制图例二用图解控制方法进行项目分析的时候应该利用甘特图、累计费用曲线图和资源载荷图来共同监控项目。这个方法可以给项目经理提供项目进展的直接的信息。代码大全P674lnfluences on Schedule对进度的影晌交叉参考:程序的规模对生产力和质量的影响并不总是很直观的。对软件项目进度影响最大的,是所开发的程序的规模。但是很多其他因素也会对软件开发的进度造成影响。一些针对商业应用程序做的研究已将部分因素的影响效果做了量化,如表28-1所示。表28-1 影响软件项目工作量的因素因素潜在的有益影
25、响潜在的有害影响1. 产品复杂度-27%74%2. 时间限制(应用程序自身的)0%63%3. 存储限制(要使用多少可用的存储资源) 0%46%4. 需求分析师的个人能力-29%42%5. 程序员个人能力-24%34%6. 平台稳定性-13%30%7. 人员连贯性(流动性)-19%29%8. 数据库大小-10%28%9. 所需的可靠度-18%26%10. 对重用的要求-5%24%11. 满足项目需要的文档-19%23%12. 集中开发vs分散开发-14%22%13. 团队在该应用领域的经验-19%22%14. 语言经验和工具经验-16%20%15. 团队在该技术平台上的经验-15%19%16.
26、对软件工具的使用-22%17%17. 过程成熟度-13%15%18. 处理风险的积极程度-12%14%19. 最新技术水准的应用程序-11%12%20. 团队凝聚力-10%11%21. 在解释需求方面的灵活度-9%10%潜在的有害影响因素,排名前10位的有:因素潜在的有害影响1. 产品复杂度74%2. 时间限制(应用程序自身的)63%3. 存储限制(要使用多少可用的存储资源) 46%4. 需求分析师的个人能力42%5. 程序员个人能力34%6. 平台稳定性30%7. 人员连贯性(流动性)29%8. 数据库大小28%9. 所需的可靠度26%10. 对重用的要求24%2.挣值分析法图解控制方法的优
27、点是可以一目了然地确定项目状况,采用这种易于理解的方法,既可以向上级管理层,也可以向项目人员报告项目的状况。它的最大缺点是只能提供视觉印象,但本身并不能提供其他重要的量化信息,例如相对于完成的工作量预算支出的速度、每项工作的预算和进度中所占的份额或者完成的工作百分比等。而挣值分析(也称为已获取价值分析)可以提供这方面的功能,而且还可以提供更多量化的信息,无论是大型项目还是小型项目,都可以采用这个挣值分析法。挣值分析(已获取价值分析)法是对项目实施的进度、成本状态进行绩效评估的有效方法,是计算实际花在一个项目上的工作量以及预计该项目所需成本和完成该项目的日期的一种方法。该方法依赖于被称为“已获取
28、价值”的一种主要测量。已获取价值概念已获取价值法是利用成本会计的概念评估项目进展情况的一种方法。传统的项目性能统计是:将实际的值与计划的值比较,计算差值,判断差值的情况。但是,实际的执行情况可能不是这样简单,如果实际完成的任务量超过了计划的任务量,那么实际的花费可能会大于计划的成本,但不能说成本超出了。所以,应该计算实际完成结果的价值,这样就引出了已获取价值的概念,即到目前为止项目实际完成的价值。有了“已获取价值”就可以避免只用实际值与计划值进行简单减法而产生的不一致性。挣值分析(已获取价值分析)方法的模型如图14-8所示。图14.8挣值分析模型其中的输入: BCWS( Budgeted Co
29、st of Work Scheduled,计划完成工作的预算成本):是到目前为止的总预算成本。它表示“到目前为止原来计划成本是多少”或者说“到该日期为止本应该完成的工作是多少”,它是根据项目计划计算出来的。 ACWP(Actual Cost of Work Performed,已完成工作的实际成本):到目前为止所完成工作的实际成本,它说明了“到该日期为止实际花了多少钱”,可以由项目组统计。 BCWP(Budgeted Cost of Work Performed,已完成工作的预算成本,又称已获取价值):是到目前为止已经完成的工作的原来预算成本,它表示了“到该日期为止完成了多少工作”。 BAC(
30、Budgeted At Completion,工作完成的预算成本):是项目计划中的成本估算结果,是项目完成的预计总成本。挣值分析的原理如图14-9所示,如果项目一切顺利的话,ACWP、BCWP、BCWS应该重合或接近重合。图14.9挣值分析原理模型分析如下1)进度差异(Schedule Variance,SV):SV=BCWP-BCWS如果此值为零,表示按照进度进行;如果此值为负值,表示项目进度落后;如果此值为正值,表示进度超前。2)费用差异(Cost variance,CV):CV=BCWP-ACWP如果此值为零,表示按照预算进行;如果此值为负值,表示项目超出预算;如果此值为正值,表示低于预
31、算。3)进度效能指标(Schedule Performance Index,SPI):SPI=BCWP/BCWS表示完成任务的百分比。如果此值为1,表示按照进度进行;如果此值小于1,表示项目进度落后;如果此值大于1,表示超进度进行。4)成本效能指标(Cost Performance Index,CPI):CPI=BCWP/ACWP表示花钱的速度。如果此值为1,表示按照预算进行;如果此值小于1,表示项目超出预算;如果此值大于1,表示低于预算。研究表明:项目进展到20%左右,CPI应该趋于稳定,如果这时CPI的值不理想的话,应该采取措施,否则这个值会一直持续下去。5)项目完成的预测成本(Estimate At Completion,EAC):EAC=BAC/CPI6)项目完成的成本差异(Variance At Comp1ction,VAC):VAC=BAC-EAC7)项目完成的预测时间(Schedule At Completion,SAC):SAC=完
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1