软件项目监控_第1页
软件项目监控_第2页
软件项目监控_第3页
软件项目监控_第4页
软件项目监控_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、上海交通大学计算机系上海交通大学计算机系 1 曹健曹健 教授教授 博士博士 上海交通大学计算机系上海交通大学计算机系 2 w项目监控的内容项目监控的内容 w项目监控框架项目监控框架 w项目监控方法与工具项目监控方法与工具 w变更控制变更控制 w项目修复项目修复 上海交通大学计算机系上海交通大学计算机系 3 w监控项目的进展监控项目的进展 w比较实际进度与计划的差别比较实际进度与计划的差别 w修改计划使项目能够返回预定修改计划使项目能够返回预定“轨道轨道” 上海交通大学计算机系上海交通大学计算机系 4 上海交通大学计算机系上海交通大学计算机系 5 w项目指导委员会(项目指导委员会(Project

2、 Steering CommitteeProject Steering Committee, Project BoardProject Board)负责整个项目进度)负责整个项目进度 w报告项目情况的组织结构报告项目情况的组织结构 上海交通大学计算机系上海交通大学计算机系 6 w项目情况报告的内容项目情况报告的内容 上海交通大学计算机系上海交通大学计算机系 7 w基础:定期信息收集或者发生的特定事件基础:定期信息收集或者发生的特定事件 w这些信息必须是客观的和可度量的这些信息必须是客观的和可度量的 w但是并非每一次都能够得到符合要求的信息,因但是并非每一次都能够得到符合要求的信息,因 而通常需

3、要项目成员进行主观判断而通常需要项目成员进行主观判断 上海交通大学计算机系上海交通大学计算机系 8 w检查点检查点(Checkpoints)(Checkpoints)包括:包括: n定期的(如一星期一次,一月一次)定期的(如一星期一次,一月一次) n与特定的事件绑定的,如生成一份报告或者交付部分与特定的事件绑定的,如生成一份报告或者交付部分 产品产品 上海交通大学计算机系上海交通大学计算机系 9 w监测的频率依赖于项目的大小和风险情况监测的频率依赖于项目的大小和风险情况 n团队领导,可能需要每天都了解一下进度团队领导,可能需要每天都了解一下进度 n项目经理需要每星期或每月了解情况项目经理需要每

4、星期或每月了解情况 w管理层次越高,频率越低,信息越抽象管理层次越高,频率越低,信息越抽象 w许多公司利用星期一早晨的短会来激励员工实现许多公司利用星期一早晨的短会来激励员工实现 短期目标短期目标 上海交通大学计算机系上海交通大学计算机系 10 w尽管整个过程被分成了容易管理的活动,但是项尽管整个过程被分成了容易管理的活动,但是项 目执行中仍然需要在活动中对任务完成的比例进目执行中仍然需要在活动中对任务完成的比例进 行评估,这种评估通常是困难的。行评估,这种评估通常是困难的。 w思考:某一软件开发者完成了一个需要思考:某一软件开发者完成了一个需要500500行代行代 码的软件的码的软件的250

5、250行,请解释一下为什么不能认为行,请解释一下为什么不能认为 他的工作已经完成了一半?他的工作已经完成了一半? 上海交通大学计算机系上海交通大学计算机系 11 w许多因素决定了不能用完成的代码行的比例来衡许多因素决定了不能用完成的代码行的比例来衡 量进度:量进度: n对整个软件的代码行的估计可能不准确对整个软件的代码行的估计可能不准确 n写完的代码可能相对容易,或者相对容易写完的代码可能相对容易,或者相对容易 n一个软件如果没有通过测试就不能算完成,因而即使一个软件如果没有通过测试就不能算完成,因而即使 代码全部写完了,如果没有测试也不能算完成。代码全部写完了,如果没有测试也不能算完成。 w

6、对所需完成内容的深入的了解有助于判断进度,对所需完成内容的深入的了解有助于判断进度, 如将整个工作细分为子任务,如设计,编码,单如将整个工作细分为子任务,如设计,编码,单 元测试等。元测试等。 上海交通大学计算机系上海交通大学计算机系 12 w许多组织采用财务系统中的每周时刻表来记录每许多组织采用财务系统中的每周时刻表来记录每 个职员在每项工作中花费的时间,但是该表无法个职员在每项工作中花费的时间,但是该表无法 告诉项目经理目前产出了什么,进度是否满足要告诉项目经理目前产出了什么,进度是否满足要 求。求。 w因而可以对每周时刻表进行扩展,以包含完成的因而可以对每周时刻表进行扩展,以包含完成的

7、工作内容工作内容 上海交通大学计算机系上海交通大学计算机系 13 w询问小组成员完成计划的可能性询问小组成员完成计划的可能性 w交通灯方法:交通灯方法: w识别评价某项工作中的关键元素识别评价某项工作中的关键元素 w将这些关键元素分解为组成元素将这些关键元素分解为组成元素 w对于每一元素:对于每一元素: n如果符合计划要求:如果符合计划要求:绿灯绿灯 n目前已经拖后,但是可以恢复,目前已经拖后,但是可以恢复,黄灯黄灯 n已经拖后,恢复很困难,已经拖后,恢复很困难,红灯红灯 上海交通大学计算机系上海交通大学计算机系 14 wGantt图图 上海交通大学计算机系上海交通大学计算机系 15 w滑动图

8、滑动图(slip chart) 弯曲的越厉害, 说明偏离计划越 明显 上海交通大学计算机系上海交通大学计算机系 16 w球图:计划开始,计划结束作为两个球,每次计球图:计划开始,计划结束作为两个球,每次计 划改变后,日期添加到球中,如果时间是按计划划改变后,日期添加到球中,如果时间是按计划 的,球被填为绿色,否则被填为红色。的,球被填为绿色,否则被填为红色。 w每次更新后,图不需重画。每次更新后,图不需重画。 上海交通大学计算机系上海交通大学计算机系 17 w前面的方法不能表示出项目生命周期中偏离计划前面的方法不能表示出项目生命周期中偏离计划 的情况。的情况。 w对计划偏离的趋势分析能够避免将

9、来的项目偏离。对计划偏离的趋势分析能够避免将来的项目偏离。 w时间线图(时间线图(timeline) 上海交通大学计算机系上海交通大学计算机系 18 实际的时间 计划的时间 第二个星期评估时发现 ,任务2需要延期,其它 任务也相应延期 第四个星期评估时发现 ,任务4需要延期,任务 5也相应延期 第五个星期评估时 发现,任务3需要 延期 上海交通大学计算机系上海交通大学计算机系 19 w监控的意义监控的意义 n成本本身是项目中的重要元素成本本身是项目中的重要元素 n成本监控也能展示已经花费了多少劳力成本监控也能展示已经花费了多少劳力 w简单的监控方法:累积消耗图简单的监控方法:累积消耗图 不能说

10、明 项目进展 情况 上海交通大学计算机系上海交通大学计算机系 20 w对普通的累积消耗图上加上项目时间信息对普通的累积消耗图上加上项目时间信息 上海交通大学计算机系上海交通大学计算机系 21 w盈余量(盈余量(Earned Value):Earned Value):建立在对每个任务或工建立在对每个任务或工 作包的消耗预测的基础上。作包的消耗预测的基础上。 w对每一项内容的原始预算成本被称为预算基线或对每一项内容的原始预算成本被称为预算基线或 计划工作的预算成本(计划工作的预算成本(budgeted cost of work budgeted cost of work scheduled, BC

11、WS)scheduled, BCWS)。 w未开始的任务被赋予值未开始的任务被赋予值0 0,当它被完成后,将被,当它被完成后,将被 赋值。在项目中的一点上,全部的值将被成为盈赋值。在项目中的一点上,全部的值将被成为盈 余量或完成工作的预算成本(余量或完成工作的预算成本(budgeted cost of budgeted cost of work performed, BCWP)work performed, BCWP) 上海交通大学计算机系上海交通大学计算机系 22 w当任务未完成时,需要分配一个盈余量给该任务,当任务未完成时,需要分配一个盈余量给该任务, 方法为:方法为: n0/1000/1

12、00技术:任务被分配值技术:任务被分配值0 0直到任务完成后,被分配直到任务完成后,被分配 预算值的预算值的100100 n50/5050/50技术:任务一开始后,就赋予技术:任务一开始后,就赋予50%,50%,直到项目结直到项目结 束后赋值束后赋值100%100% n里程碑方法:对任务中的一系列里程碑赋予特定值。里程碑方法:对任务中的一系列里程碑赋予特定值。 n建议用建议用0/1000/100方法,因为方法,因为50/5050/50方法由于活动开始后报方法由于活动开始后报 告的值过高,容易给人一种错误的安全感,而里程碑告的值过高,容易给人一种错误的安全感,而里程碑 方法最好将该任务细分为多个

13、子任务。方法最好将该任务细分为多个子任务。 上海交通大学计算机系上海交通大学计算机系 23 w建立盈余量分析的第一步是为项目建立一个预算建立盈余量分析的第一步是为项目建立一个预算 基线基线(baseline budget)(baseline budget) w预算基线是建立在项目计划的基础上的,它是根预算基线是建立在项目计划的基础上的,它是根 据时间对盈余量值的预测。据时间对盈余量值的预测。 w盈余量可以用货币单位来衡量,也可以用人员工盈余量可以用货币单位来衡量,也可以用人员工 作量来衡量。作量来衡量。 上海交通大学计算机系上海交通大学计算机系 24 采用了 0/100方 法 上海交通大学计算

14、机系上海交通大学计算机系 25 w随着项目的进行,可以不断进行盈余量监控,判随着项目的进行,可以不断进行盈余量监控,判 断项目的进度。断项目的进度。 ?通过分析该图 是否可以判定项目 中发生的情况 上海交通大学计算机系上海交通大学计算机系 26 w每一项任务的真正成本消耗为(每一项任务的真正成本消耗为(Actual Cost Actual Cost work performed, ACWP)work performed, ACWP) 预算变 动 调度变 动(成 本) 调度变 动(时 间) 成本变 动 上海交通大学计算机系上海交通大学计算机系 27 w性能比例:性能比例: n成本性能指数:成本性

15、能指数:CPICPIBCWPBCWP(盈余量)(盈余量)/ACWP/ACWP(真正的(真正的 成本消耗)成本消耗) n调度性能指数:调度性能指数:SPI=BCWP/BCWS(SPI=BCWP/BCWS(预算成本预算成本) ) n值越大,工作完成得越好值越大,工作完成得越好 上海交通大学计算机系上海交通大学计算机系 28 上海交通大学计算机系上海交通大学计算机系 29 w你被指定负责一个软件项目,此项目由四个部分(你被指定负责一个软件项目,此项目由四个部分(A, B, C, D)组成,项目)组成,项目 总预算为总预算为53000元,其中元,其中A任务预算为任务预算为26000,B任务预算为任务预

16、算为12000, C 任务预算为任务预算为10,000,D任务预算为任务预算为5000,截至到,截至到8月月31日,日,A已经全部已经全部 完成,完成,B过半,过半,C刚开始,刚开始,D还没有开始还没有开始 w采用采用50/50规则计算截至到规则计算截至到8月月31日的日的CV, SV, CPI, SPI wCV=BCWP-ACWP wSV=BCWP-BCWS wCPI=BCWP/ACWP wSPI=BCWP/BCWS 任务BCWS(计划费用): 元 ACWP(实际花费) :元 A26,00025,500 B9,0005,400 C4,8004,100 D00 截至到8月31日的计划成本和实际

17、成本 上海交通大学计算机系上海交通大学计算机系 30 w关键:计算关键:计算BCWP w采用采用50/50原则原则 nB任务过半,任务过半, BCWP=6,000 nC任务开始,任务开始,BCWP=5,000 nD任务未开始,任务未开始,BCWP0 任务BCWS(计划费用): 元ACWP(实际花费): 元 BCWP(盈余 量):元 A26,00025,50026,000 B9,0005,4006,000 C4,8004,1005,000 D000 Total39,80035,00037,000 上海交通大学计算机系上海交通大学计算机系 31 w截至到截至到8月月31日日 nBCWS=39,80

18、0 nACWP=35,000 nBCWP=37,000 nCV=37,000-35,000=2,000 nSV=37,000-39,800=-2800 nSPI=93% nCPI=106% wSPI小于小于1说明截至到说明截至到8月月31日没有完成计划的工作量,日没有完成计划的工作量, 即进度落后即进度落后 wCPI大于大于1说明截至到说明截至到8月月31日费用节省了,完成工作量日费用节省了,完成工作量 的价值大于实际花费的价值的价值大于实际花费的价值 上海交通大学计算机系上海交通大学计算机系 32 w盈余量概念还没有被软件界全面接受,原因可能盈余量概念还没有被软件界全面接受,原因可能 在于建

19、了一半的房屋可以有反映人力和材料消耗在于建了一半的房屋可以有反映人力和材料消耗 的记录,而完成一半的软件项目却没有任何数据。的记录,而完成一半的软件项目却没有任何数据。 这是对盈余量分析的误解。实际上盈余量分析是这是对盈余量分析的误解。实际上盈余量分析是 一项跟踪项目进度的方法。一项跟踪项目进度的方法。 上海交通大学计算机系上海交通大学计算机系 33 w通过一定的方式对项目进行评价和审核通过一定的方式对项目进行评价和审核 w评审活动的类型评审活动的类型 n商务评审商务评审 n技术评审技术评审 n管理评审管理评审 n质量评审质量评审 n产品评审产品评审 w评审时间评审时间 n定期评审定期评审 n

20、阶段评审阶段评审 n事件评审事件评审 上海交通大学计算机系上海交通大学计算机系 34 w定期评审定期评审 准备评审要素 确定评审方式 依据采集数据统 计项目性能 评审管理/质量/技 术等问题 对评审作出结论计划修改 到达定期 评审时间 上海交通大学计算机系上海交通大学计算机系 35 w阶段评审阶段评审 准备评审要素 组织相关评审 评审本阶段关键 任务完成情况 确认产品提交情 况 阶段评语 对下阶段计划调 整 到达阶段 评审时间 统计报告数据 上海交通大学计算机系上海交通大学计算机系 36 w事件评审事件评审 按评审过程组织 评审 报告事件的情况 对事件处理方案 的讨论 确定事件影响的 范围 计

21、划修改 事件报告被批准 对评审做出结论 上海交通大学计算机系上海交通大学计算机系 37 w关键路径活动关键路径活动 w没有自由浮动的活动没有自由浮动的活动 w小自由浮动时间活动的监控小自由浮动时间活动的监控 w高风险的活动高风险的活动 w使用关键资源的活动使用关键资源的活动 上海交通大学计算机系上海交通大学计算机系 38 w几乎所有的项目都会遇到延误和意外事件。项目几乎所有的项目都会遇到延误和意外事件。项目 经理的一项任务就是识别这些事件发生的时间,经理的一项任务就是识别这些事件发生的时间, 在最小延迟时间和对项目团队有最小的影响的情在最小延迟时间和对项目团队有最小的影响的情 况下,消除问题的

22、影响。况下,消除问题的影响。 上海交通大学计算机系上海交通大学计算机系 39 w要求项目组人员要求项目组人员“Work harderWork harder”有一些效果,但有一些效果,但 是不能轻易使用。是不能轻易使用。 w分配额外的资源可以加快进度,但是并不总是奏分配额外的资源可以加快进度,但是并不总是奏 效,例如分配给某一人员的小模块,再增加一个效,例如分配给某一人员的小模块,再增加一个 人员并不一定能够缩短时间。人员并不一定能够缩短时间。 w将非关键路径上的资源调整到关键路径上将非关键路径上的资源调整到关键路径上 w注意:缩短关键路径可能使其它路径成为关键路注意:缩短关键路径可能使其它路径

23、成为关键路 径。径。 上海交通大学计算机系上海交通大学计算机系 40 w网络计划考虑的是理想情况和普通工作情况,因网络计划考虑的是理想情况和普通工作情况,因 而在无法缩短关键路径时,可以重新考虑任务优而在无法缩短关键路径时,可以重新考虑任务优 先关系。先关系。 w另一种方法是另一种方法是将活动再进行划分将活动再进行划分,从而一部分可,从而一部分可 以与其它活动并行。以与其它活动并行。 w重新考虑任务优先关系可能带来重新考虑任务优先关系可能带来风险或者质量上风险或者质量上 的影响的影响。 上海交通大学计算机系上海交通大学计算机系 41 w用户的需求可能变化,项目内部可能变化用户的需求可能变化,项

24、目内部可能变化 w变更需要仔细考虑,因为一个部分的变化可能会变更需要仔细考虑,因为一个部分的变化可能会 对另外部分的造成影响对另外部分的造成影响 w问题:对程序描述的改变将引起软件的设计和代问题:对程序描述的改变将引起软件的设计和代 码的改变,还有什么其它产品可能需要修改?码的改变,还有什么其它产品可能需要修改? w答案:测试数据,期待结果和用户手册等答案:测试数据,期待结果和用户手册等 上海交通大学计算机系上海交通大学计算机系 42 wConfiguration LibrarianConfiguration Librarian w责任:责任: n识别所有需要变更控制的内容识别所有需要变更控制

25、的内容 n建立一个保存所有项目文档和代码的中央库建立一个保存所有项目文档和代码的中央库 n建立一套管理变更的正式过程建立一套管理变更的正式过程 n维护读取库中内容的记录和库中每一项的状态维护读取库中内容的记录和库中每一项的状态 上海交通大学计算机系上海交通大学计算机系 43 w用户意识到需要对系统进行修改,考虑将修改请用户意识到需要对系统进行修改,考虑将修改请 求提交给开发人员求提交给开发人员 w用户端的管理者考虑是否将该修改请求提交给项用户端的管理者考虑是否将该修改请求提交给项 目承担者目承担者 w项目承担端的管理者将该任务指派给一个成员,项目承担端的管理者将该任务指派给一个成员, 该成员将

26、判断该修改的成本以及修改的影响,并该成员将判断该修改的成本以及修改的影响,并 提交一个报告提交一个报告 w该报告被提交给用户,用户将考虑是否能够承受该报告被提交给用户,用户将考虑是否能够承受 额外的成本额外的成本 上海交通大学计算机系上海交通大学计算机系 44 w用户同意后,一个获多个开发者被授权从主产品用户同意后,一个获多个开发者被授权从主产品 上取出要修改的部分的拷贝上取出要修改的部分的拷贝 w拷贝被修改。拷贝被修改。 w新版本开发出来后,将通知用户,用户进行接受新版本开发出来后,将通知用户,用户进行接受 测试测试 w当用户满意后,产品的配置项被新版本所代替。当用户满意后,产品的配置项被新

27、版本所代替。 上海交通大学计算机系上海交通大学计算机系 45 w需要修复的项目需要修复的项目 n没有人对项目何时结束有一点点概念没有人对项目何时结束有一点点概念 n产品满目疮痍。产品满目疮痍。 n开发组人员工作超时,每周多于开发组人员工作超时,每周多于6060小时小时 n管理层已经无法控制进度,而评估项目状态的准确性管理层已经无法控制进度,而评估项目状态的准确性 丧失殆尽丧失殆尽 n客户对开发组能否按承诺交付软件不再抱有信心客户对开发组能否按承诺交付软件不再抱有信心 n开发人员,市场人员,项目经理,客户之间关系紧张开发人员,市场人员,项目经理,客户之间关系紧张 n开发组士气低落开发组士气低落

28、n 上海交通大学计算机系上海交通大学计算机系 46 w问题:如何挽救项目问题:如何挽救项目 n缩减项目规模,以便在计划的时间与工作量内完成项缩减项目规模,以便在计划的时间与工作量内完成项 目目 n把注意力放在短期的改善上,以提高过程的生产率把注意力放在短期的改善上,以提高过程的生产率 n面对现实,放弃计划面对现实,放弃计划 w有没有其它方法?有没有其它方法? 上海交通大学计算机系上海交通大学计算机系 47 w第一步第一步 w评估你的处境评估你的处境 w应用应用W-W-理论分析理论分析 w作好修复项目的思想准备作好修复项目的思想准备 w向开发组成员探问拯救项目的方法向开发组成员探问拯救项目的方法

29、 w变得现实一些变得现实一些 上海交通大学计算机系上海交通大学计算机系 48 w采取一切措施恢复开发组的士气采取一切措施恢复开发组的士气 n采取一个象征性的行动,如给他们特许的条件(允许采取一个象征性的行动,如给他们特许的条件(允许 他们上班晚些,提供更好的工作环境),也可以放一他们上班晚些,提供更好的工作环境),也可以放一 次假次假 w确保为开发组创造了条件确保为开发组创造了条件 n如去掉了过多的进度压力,改善了恶劣的工作条件,如去掉了过多的进度压力,改善了恶劣的工作条件, 剔除了管理上的不当做法剔除了管理上的不当做法 w消除重大的人员问题消除重大的人员问题 n勇敢地面对问题,该调整的要调整勇敢地面对问题,该调整的要调整 上海交通大学计算机系上海交通大学计算机系 49 w消除重大领导问题消除重大领导问题 n更换子项目经理更换子项目经理 n为经理配备助手为经理配备助手 w增加新手一定要慎重增加新手一定要慎重 w充分利用开发人员的时间充分利用开发人员的时间 n减轻他们其它的负担减轻他们其它的负担

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论