目录
一、范围管理
二、时间/进度管理
(1).前导图法(单代号网络图,PDM)
(2).关键路径法 (PERT图)
(3).甘特图(Gantt图)
三、成本管理
(1).挣值分析法
四、质量管理
(1)质量保证与质量控制
(2).软件评审
(3).软件过程改进——能力成熟度模型CMMI
五、软件配置管理
(1).配置项
(2).配置库
(3).软件配置工具
(4).软件变更控制
(5).版本控制
六、风险管理
确定项目边界,即哪些工作是项目该做的,哪些工作是不应该包括在项目的工作内容中。在接到一个项目需求时,甲方肯定希望做的东西越多越好。而作为乙方则需要把兴奋需求控制住,在完成必要需求的基础上,其他不必要的功能越少越好。
范围管理首先需要制定好范围计划,有了计划之后再去根据《需求规格说明书》定义产品范围,确认出的产品需要做的工作,这就是确认工作范围。光有工作范围粒度还是不够,需要创建WBS(工作分解结构) ,将每一个工作进行细化。最后再制定的内容进行确认,并再后续实施过程中去控制好范围。
时间管理又称为进度管理。进度管理并不是说盯着别人干活。如何去科学地管理项目进度呢?
首先时活动定义,它延续了WBS方法,把要做的工作拆解成细小的工作包,再把工作包拆分就成为了活动,拆分的粒度越小。活动的完成时间越好评估。并且可以将一些活动进行排序,分清楚哪些事情可以先做,哪些事情是可以后做;定义好活动之后需要对每个活动投入的人力资源、财务资源、硬件资源等进行估算。估算方式有多种
活动资源估算完成后,对活动的执行时间进行大致估算,从而制定进度计划,比如用关键路径法识别关键活动,识别最晚开始时间等。后续对项目进度进行把控,跟进各个活动的状态,根据实际执行情况,调整资源、调整计划或者汇报风险。
每个节点都是活动,活动中标记了最早开始时间,活动完成时长,最早结束时间,最晚开始时间,空闲时间,最晚结束时间等。
其中,最后一个节点的最晚结束时间等于最早结束时间。松弛时间等于最晚开始时间减去最早开始时间。松弛时间为0的活动连成线就是关键路径。
和前导图的画法有点不一样,关键路径法是双代号网络图。不仅节点标有代号,而边也有。再关键路径法中,活动是实线边,活动挂钩了对应的执行时间。虚线代表虚活动,虚活动即不占时间也不占资源,即执行时间为0的活动,但是它又要遵守活动间的依赖关系。
和前导图法一样计算关键路径。注意,虚活动也可能出现在关键路径上
甘特图在进度跟进上的表现力要比上述方法要强些。细线代表计划,粗线代表实际值。
甘特图便于理解、容易制作。可以很清晰地标识出每一项任务的起始与结束时间。一般适用于比较简单的小型项目。可用于WBS的任何层次、进度控制,资源优化、编制资源和费用计划
但是甘特图无法系统地表达一个项目所包含工作之间复杂关系,难以进行定量的计算和分析,以及计划的优化等。
在整个项目实施过程中,为确保项目在批准的预算条件下尽可能保质按期完成,而对所需的各个过程进行管理与控制。
在成本管理过程中,就是估算可能需要花费的财务资源。成本预算是指打算花费的财务资源。在成本控制中可以采用挣值分析方法。
此方法中首先要识别几个重要的参数
AC:已完成工作量的实际成本,就是在已经完成工作量中,实际所花费的资源。
EV:已完成工作量的预算成本,就是在已经完成工作量中,原本计划所花费的资源
PV:按照当前进度,原本计划所需要花费的预算。
例如,在上述案例中,项目进行到了第五天,总体10天的预算是1000元,那么PV就是500元;实际消耗了400元,那么AC就是400元;完成了3个函数的编写,原本计划每个函数花费100元,因此EV就是300元。从而得到
进度偏差SV=EV-PV = -200 , 成本偏差 CV=EV-AC=-100元
进度绩效指数SPI = EV/PV =0.6 , 成本绩效指数 CPI = EV/AC= 0.75
剩余工作成本 在不偏差的情况下,ETC= BAC -EV =700元 ,
如果按照之前偏差的情况下,ETC= (BAC -EV)/CPI≈933.33元
完工估算 EAC =AC +ETC ,如果不偏差的情况下为1100元,有偏差下约为1333元。
从上述进度估算来看,进度偏差值、成本偏差为负数,说明进度和成本管理不太理想。绩效指数表明了实际与计划的比值。
质量控制是通过实施监控项目的具体结果,来判断它们是否符合相关质量标准,制定有效方案解决产生质量问题的原因。比如交付前,先自行运行,观察测试结果是否准确,发现Bug及时消除,以提高交付质量。
然而这种只关心结果的方式并不可取,因为结果对了,过程质量未必好。而过程质量好,那么结果的问题就可以减少许多。而质量保证就是看重过程,利用质量审计和过程分析,每隔一定时间进行来保证项目质量。
一定时间内质量控制的结果也是质量保证的质量审计对象。质量保证的成果又可以指导下一阶段的质量工作,包括质量控制和质量改进。
软件评审是质量保证的手段之一。其基本思想是,每个环节的工作都要进行评审,分析活有没有干好,干好了就继续往后做,没干好就推倒重来。在评审环节,涉及到需求和验收的工作需要客户参与进来。
软件评审分为技术评审和管理评审。在评审的过程中,不应以测试代替评审;评审人员应关注产品而不是评论开发人员;评审人员应关注实质性问题;评审会议不应变为问题解决方案讨论会;评审应被安排进入项目计划;评审参与者应了解整个评审过程;评审人员事先应对评审材料充分了解;应重视评审的组织工作。
配置就是一个产品的组成部分,对于软件来说,软件就是由一个个构建、模块文档组成的。这就是配置项。然而对于这些配置项也需要合适的管理。配置项主要分为基线配置项和非基线配置项。基线配置项指的就是产品组成部分的工作成果,比如需求文档、设计文档、源代码和测试用例等,这些是过程中必选的配置项。除此之外还有一些可选的配置项,比如工作计划、项目质量报告、项目跟踪报告等,这些虽然不是产品的必要组成部分,但是也值得保存管理的。(注意:设备清单,非自身产品的操作手册不属于配置项)
配置库用来保存配置项的,类似于一个仓库。配置库包含开发库、受控库、产品库。开发库管理得最松,产品库管的最严。开发库分为动态库、程序员库、工作库,主要管理代码,可以随意修改。受控库分为主库和系统库,用于管理基线,需要走流程才可以变更。产品库分为备份库和静态库,是不可修改的。如果产品出了问题,那么要重新打回到受控库中才可以变更,变更好了再回归成产品。
类似的,开发库包含开发环境的源代码,可以随时pull和push,而受控库是上生产前的一个较为稳定的基线。这种基线通常是能够满足业务要求并且测试充分的。而产品库指的就是生产环境中的产品。
软件配置工具按照软件过程活动可分为三种
对于受控库来讲,有时变更无法避免,但并不是说变就变,而是需要走流程。变更流程主要分为变更申请、对变更的必要性、科学性进行评估、讨论如何变更,之后是实施确认的变更内容,实施完成后重新验证,并留存。
版本控制内容主要涉及版本号的定义。通常在初次上线之前,处于草稿状态的软件版本号的前缀通常是0,也是主版本号,副版本号通常两位,前一位是升级版本位,第二位是修改本版位,随着更新,副版本号不断增加。软件正式发布的主版本号通常从1开始。副版本号变成1位。小修小改增加副版本号,软件大变动增加主版本号同时副版本号从头开始。
风险具有随机性和相对性的基本属性 。所谓随机性就是风险可能发生,可能不发生,具有不确定性。而相对性就是对于我来说是重大风险,但是对于其他人看来可能不算风险.。风险的存在还具有客观性和普遍性。某一具体风险发生具有偶然性和大量风险发生的必然性。风险还具有可变性、多样性和多层次性。
风险主要分为项目风险,技术风险,商业风险。项目风险注重项目组内部的问题隐患,商业风险主要注重项目外部的风险因素。技术风险,主要关注软件过程中遇到的问题。
项目风险 | 潜在的预算、进度、人员和组织、资源、用户和需求问题 |
项目复杂性、规模和结构的不确定性 | |
技术风险 | 潜在的涉及、实现、接口、测试和维护方面的问题 |
规格说明的多义性、技术上的不确定性、技术陈旧、最新技术(不成熟) | |
商业风险 | 市场风险:系统虽然很优秀但不是市场真正所想要的 |
策略风险:系统不再符合企业的信息系统战略 | |
销售风险:开发了销售部门不清楚如何推销的系统 | |
管理风险:由于重点转移或人员变动而失去上级支持 | |
预算风险:开发过程没有得到预算或人员的保证 |