IT项目管理的风险有哪些
项目风险是一种不确定事件或状况,一旦发生,会对至少一个项目目标,如进度、成本、范围或质量目标产生积极或消极影响。那么IT项目管理的风险有哪些呢?一起来了解下吧:
(1)技术风险。
核心系统升级引入了外包厂商的最新产品,使用了很多新技术,行内研发人员熟悉这些技术需要一定的时间,而在项目过程中却不可避免地会遇到一些技术问题。如何能快速解决这些棘手的技术问题我们的做法是:第一,指定行内外包厂商接头人,由接头人负责和外包厂商的技术人员进行沟通,同时该接头人也是行内对厂商产品最熟悉的人,一般性的小问题基本上此人就可以解决,比较复杂的问题才提交给厂商解决,这样比起全部问题都去找厂商解决,节省了时间。第二,购买厂商的人力进行技术支持,请厂商的研发人员来到开发现场和我们一块研发。第三,预约厂商在系统上线期间到现场待命,以应对紧急问题发生,对可能出现的问题进行第一时间的响应。
(2)沟通风险。
参与项目的外包厂商有多个,沟通渠道多,沟通成本大,而且容易出现理解不一致的情况。所以,项目组成立了专门的PMO,负责制定相应的沟通计划,为每个厂商指定行内的接头人,对内部人员实行分级管理,组织定期例会解决项目过程中出现的问题,防范由于对需求理解不一致造成的项目延误,充分利用已有的邮件、会议、电话和短信等沟通工具,并推广使用某即时通讯工具以作为主要的工作沟通工具。
(3)需求变更风险。
针对IT软件项目中不可避免的需求变更活动,在项目开始后,我部就停止了除政策性需求以外的所有规模超过20人/天的新业务需求,同时制定了需求变更流程:所有业务需求的变更必须由业务方的代表统一提出,变更必须有书面记录,开发人员仔细评估是否接受,最后由总管变更的领导(CCB)复审,总管领导具有一票否决权,从而精简了一些不合理的需求变更。在项目中期引入了IBM的配置管理工具CCCQ来管理代码和缺陷,所有Bug都进行了分类,并录入CQ系统,防止重复修改和修改后无记录等情况的发生。迁移演练之后的缺陷都由各个系统的负责人统一对缺陷进行分析评审,消除Bug修复可能导致的系统关联问题。
(4)进度风险。
项目进行核心升级,引起了客户面数据结构和一些外部接口的变化,同时前端业务平台也做了很大的调整,如开发了新的权限系统、迁移主机老权限系统上的权限数据到微机、替换传输协议XML为JSON、改造微机调用主机框架等。主机平台和开放平台开发工作量巨大,需要留有足够的ST、UAT测试时间,项目开发时间有限,为了应对可能造成的进度延误,我们采用了以下应对方法:一是制定详细的进度计划,明确每个人的任务,各项目组每周定期检视项目进度,如出现偏差及时纠正;二是与外包公司合作,引入外包人力,为项目临时增派了多名生力军;三是强制加班;四是并行化详细设计和编码同时加强代码评审,在加快进度的同时减少返工。
(5)数据迁移风险。
项目涉及的系统多达上百个,系统集成环境复杂,需要迁移的数据量庞大,而且数据迁移对数据的准确性和完整性有着很高的要求。项目制定了分阶段集成和多次迁移演练的策略:将迁移工作进行提前预演,模拟真实上线迁移场景。经过多次演练以后,问题大大减少,减轻了系统上线的数据迁移风险。
(6)人力资源风险。
项目建设周期长,历时两年,大范围人员流动可能会造成项目延误。针对这一风险,应对的方法是:做两手准备,尽力挽留要走的人员,晓之以理,动之以情,请求公司人力资源部提升员工待遇;同时加紧社会招聘,在重要的岗位上安排备份,防止由于成员生病、离职等意外造成的减员。最终这个风险没有成为问题。
在项目升级项目中,我负责两个子系统的开放部分,由于高层对风险管理的重视,我在执行的时候也特别重视对风险的控制。项目组有四个人,沟通成本比较低,所以我们每隔一周进行一次代码评审,解决遇到的一些技术难题和编码规范问题,在实际开发中使用Checkstyle进行代码规范检视,及早扼杀了可能出现的Bug和不规范的代码;制定组员每周报告进度制度,防范进度偏差;面对前端最可能出现的需求变更——UI变更,我尝试在设计初期使用原型方法和业务进行有效沟通,大大减少了后期UAT阶段UI变更需求。回想刚进公司时我做过的某个项目,由于没有考虑到UI类需求变更风险,前期没有进行UI设计的交流,导致UAT阶段大量返工,使项目延误了一个多月,并且浪费了不少人力资源。设想如果当时识别了这类风险,在早期就把风险发生的概率降低,那么项目可能会顺利得多。
由于前期风险控制得当,一直到迁移演练前我负责的项目都很顺利,但是在迁移演练过程中出现了一些问题,其中一个问题是导库程序不能正常执行,并多次发生。我和同事花了很多时间研究问题,最后找到的原因是某个配置参数的问题,研发人员使用了错误的配置参数,ST、UAT期间导库的数据量比真实演练期间的数据量小太多,所以没有被发现,修改配置后再演练环境导库成功。还有一些问题是没有有效沟通导致的。例如,在演练的时候用户反映某个查询交易很慢,经排查,后台人员说前台调错了交易,前台人员提出异议:为什么ST环境查询很快原来后台人员写了多个查询交易,新交易确实能提升查询速度,但是没有在正式的文档上注明前台应使用新交易替换老交易,也没有通过别的途径告知前台,这样前台调用的还是老交易,导致了查询性能问题。由于ST、UAT环境和生产环境的差异性,上述两类问题很难暴露,试想如果没有进行迁移演练,这个问题恐怕要在生产上出现了。迁移演练提前暴露了ST、UAT所不能测出的系统缺陷,使得研发人员能有充分的时间去排查问题和修复缺陷,有效降低了系统上线风险。
经过这次核心升级项目的洗礼,我深深认识到风险管理在IT项目中的重要性,正因为对风险管理足够重视,提前制定了风险应对计划,我们才得以如庖丁解牛般化解项目中遇到的各种风险,并最终取得了上线的胜利。任何项目都不能回避风险问题,风险的存在导致几乎每个项目都不可能顺风顺水地完成项目目标,良好的风险管理技能将帮助项目经理处理好项目中的不确定因素,保证项目的顺利进行。
;一、企业推行精益六西格玛程序规范存在的偏差
精益六西格玛管理的导入是从企业的精英人员培训开始,它是一种精英文化,比一般的管理要求更高,要相使其深入开展就必须创建适合自己企业特点的相关制度和游戏规则。
很多企业在导入初期对其总体规划构建不清,导致项目运作一期或二期后,还是无从下手,结果精益六西格玛管理在该公司像一阵风一样“一啸而过”,并无良好的结果。比如,有些企业导入精益六西格玛之后,无明确的MBB培养规划,企业没有自我造血能力,永远离不开咨询公司的依赖指导,没有行之有效的激励制度,使企业员工不愿参与项目运作,绿带资格管理无章法,使其被培养起来后大量流失等等。
我在一大型国有企业做咨询时,一期项目开始实施选项、选人,很多人抱着“中庸之道”的想法,“多一事不如少一事”,很久不能选出合适的项目和人。后来做了许多调查,有的人想:“做项目对我有何好处?”有人想:“我日常工作太忙,太麻烦………”。针对这些调查问题,企业领导立即指令推进办公室优先起草“精益六西格玛奖励办法”,奖励办法中提出了三点:第一,今后中、高层领导干部晋升,要求至少具备绿带以上资格;第二,黑、绿带在介入项目期间每月给予占基本工资30%比例的津贴补助;第三,项目组成员可获取项目年财务收益10%的提成。这个激励制度一出台,情况与之前大不相同,很多人涌跃提出项目问题,积极报名。这时有些个别领导又提出异议,工厂只考虑奖励,是不是花的钱太多?他们的厂长说:“只要大家能积极参与,真正帮助企业解决实际问题,能够增效,工厂将受益的是大头,项目组的提成是很少的一部分,我们不应该眼红。”这个企业一期完成项目二十五个,获取年财务收益一千二百万元,目前,他们的精益六西格玛项目正在如火如荼地持续推进中。
还有很多企业在推行时,就精益六西格玛项目的财务收益计算提出众多异议。在创建项目财务收益计算制度时,要注意精益六西格玛项目财务收益计算与通常的会计报表计算有所不同。精益六西格玛关注的是劣质成本,这些劣质成本大部分在日常财务报表未作显示,未作考量。项目财务收益应本着谨慎原则:不多算、不少算、不重复计算。可参考财务数据计算项目直接经济效益,对潜在、远期的收益,在可提供确定数据下予以确定。项目收益与财务报表收益可能存在着实际差异,但应公正确认和认可项目的改进收益。比如,某一项目改善措施中提出,通过管理流程优化,使一管理人员由每天工作8小时降至4小时,但因无其他工作安排给这个人。从财务报表显示,这个人的工资没有减少,但从项目改善角度来看,其工作时间减少了一半,因此要认可其改善效益。当然要从管理分工角度给工作量减少人员安排,追加新的工作,使其真正创效。
关于企业内部MBB的培养问题,除推行规划明确目标外,企业应从导入开始,就要有意识的发现和培养自己未来的MBB。可通过日常扩展培训、项目辅导、评价环节多加锻炼MBB种子,在相关规范中应明确提出。
在黑、绿带资格认证评价时,其中有一项评价标准要求是:黑带完成项目年财务收益须在20万元以上;绿带完成项目年财务收益须在10万元以上。在认证制度中规定时,要结合自己企业的特点适当调整。尤其是产品品种多、数量极少的企业要注意这一点。
推行程序和规范初建期间,针对不同行业,不同企业可能会遇到更多问题,可在项目运行一期、二期后不断完善和修改。
二、专注提供六西格玛公开课培训与项目辅导。(六西格玛、精益六西格玛、六西格玛设计)
1六西格玛培训分为:绿带、黑带、绿带升黑带。
2张驰六西格玛公开课培训费用八千至四万之间。每月固定有课。
3培训方式有三种:公开课、内训、咨询(项目辅导)。
辅助客户运用精益六西格玛咨询整体方法论,提升商业运作的效率和效果,改善产品和服务的质量,降低运营全过程的成本浪费,夯实持续改善追求完美的组织文化,从而实现卓越运营绩效,以确保组织最佳的业务赢利能力,为企业带来更丰厚的利润。
项目执行过程相对项目计划必然存在一定偏差,因此需要在监控的基础上进行控制,文章简单的阐述了项目控制的基本流程。
在项目的实施过程中需要时刻对项目进展状态进行监控,了解项目状态,进行偏差分析,并采取必要措施,以保证项目按照计划进行,最终实现项目目标,这就是项目控制的基本活动。
项目控制的主要过程
1)监控项目工作。根据项目管理计划及项目实施基准监视正在进行的项目活动。通过收集、测量、处理、传递项目实际状态信息,并对项目状态作出评价,以预测未来趋势,改进现状。
2)变更控制。控制产生变更的因素,确保变更给项目带来有益后果,判断变更是否已经发生,在变更已经发生并得到批准时对项目进行有效管理,并将变更纳入整个项目体系。
对所出现的偏差应按以下步骤进行处置
1)原因分析。分析产生偏差的原因。
2)系统分析。站在项目全局分析所出现的偏差,并判断对项目整体所产生的影响。
3)对策分析。根据不同的偏差采取不同的对策。出现有利偏差一般采取引导措施,出现不利偏差一般采取纠正措施。
4)采取对策。将所确定的对策加以贯彻、落实。
5)总结、评估。对偏差处置的效果进行总结、评估,判断是否已经解决了所出现的问题。如果仍未见效,则应进入下一个回合。
有效的控制需要建立理想的控制机制,在项目控制中可采用同态调节机制。同态调节就是将项目实施结果保持在规定限度内的机制。
对于一个单位来说,如果是部门内部的单位绩效目标,执行过程中出现的偏差,那么在这个过程中应该采取的措施就是及时的予以纠正,但是对于这个目标执行的纠正,并不是草率进行的,而是应该结合实际有针对性的,特别是在单位绩效目标执行过程中的偏差纠正过程中,一定要重视沟通和交流的作用,要与相关员工做好沟通交流,让他们认识到自己存在的问题,并提出合理的解决方案,努力让他们认可自己的这套解决方案,才能够从根本上解决问题。
如果仅仅只是发现了单位绩效目标执行过程中出现的偏差而没有合理的解决方案那么在这种情况下个人认为是不建议直接打断的,因为这样的话,会挫伤部门员工的积极性,除非是这种目标执行过程中出现的偏差特别的大,对于比较小的偏差和整体的大目标并不是产生太大的影响,那么在这种情况下,我们也需要足够的包容,毕竟要从宏观上掌握整体目标的执行和事情的发展控制等方面。
转载,供参考。
软件开发项目进度控制
一、影响软件开发项目进度的因素
要有效地进行进度控制,必须对影响进度的因素进行分析,事先或及时采取必要的措施,尽量缩小计划进度与实际进度的偏差,实现对项目的主动控制。软件开发项目中影响进度的因素很多,如人为因素、技术因素、资金因素、环境因素等等。在软件开项目的实施中,人的因素是最重要的因素,技术的因素归根到底也是人的因素。软件开发项目进度控制常见问题主要是体现在对一些因素的考虑上。常见的问题有以下几种情况:
1、80-20原则与过于乐观的进度控制
80-20原则在软件开发项目进度控制方面体现在:80%的项目工作可以在20%的时间内完成,而剩余的20%的项目工作需要80%的时间。这个80%的项目工作不一定是在项目的前期,而可能是分布在项目的各个阶段,但是剩余的20%左右的项目工作大部分是在后期。所以软件开发在进入编码阶段后会给人一种“进展快速”的感觉,使得项目经理、项目团队成员、用户以及高层领导产生了过于乐观的估计。有些领导看到软件交付给用户了,就一块石头落地“总算交差了”,同时又可能撤出一些被认为不必要的人力资源。但很多情况下这是为了对付用户不合理的交付期限要求而采用的不得已的措施。这样的结果是拖延了后期的工作,同时如果软件还不成熟的话,会给用户造成不好的影响。
2、范围、质量因素对进度的影响
软件开发项目比其他任何建设项目都会有更经常的变更,大概是因为软件程序是一种“看不见”又“很容易修改”的东东吧,用户是想改就改,造成需求的蔓延,项目经理有时还不知如何拒绝,加上要说“我能”的心理因素,一般都会答应修改。这样集少成多,逐渐影响了项目进度。
如果某项工作在进度上表面上达到目标了,但经检验其质量没有达到要求,则必然要通过返工等手段,增加人力资源的投入,增加时间的投入,实际上是拖延了进度。不管是从横向或纵向来看,部分任务的质量会影响总体项目的进度,前面的一些任务质量中会影响到后面的一些任务质量。
3、资源、预算变更对进度的影响
资源,最主要的还是人力资源,有时某方面的人员不够到位,或者在多个项目的情况下某方面的人员中途被抽到其他项目、或身兼多个项目、或在别的项目不能自拔无法投入本项目。还有一个很重要的资源,就是信息资源,如某些国家标准、行业标准,用户可能提供不了,而是需要去收集或购买,如果不能按时得到,就会影响需求分析、设计或编码的工作。其他资源,如开发设备或软件没有到货,也会对进度造成影响。
预算其实就是一种资源,它的变更会影响某些资源的变更,从而对进度造成影响。
4、低估了软件开发项目实现的条件
低估软件开发项目实现的条件表现在低估技术难度、低估协调复杂度、低估环境因素这样几个方面。
首先是低估技术难度。软件开发项目团队成员,有时甚至是企业的高级项目主管也经常低估项目技术上的困难。低估技术难度实际上也就是高估人的能力,认为或希望项目会按照已经制定的乐观项目计划顺利地实施,而实际则不然。软件开发项目的高技术特点本身说明其实施中会有很多技术的难度,除了需要高水平的技术人员来实施外,还要考虑为解决某些性能问题而进行科研攻关和项目实验;
其次,低估了协调复杂度,也低估了多个项目团队参加项目时工作协调上的困难。软件开发项目团队成员比较强调个人的智慧、强调个性,这给项目工作协调带来更多的复杂度。当一个大项目由很多子项目组成时,不仅会增加相互之间充分沟通交流的困难,更会增加项目协调和进度控制上的困难。
另外,企业高级项目主管和项目经理也经常低估环境因素,这些环境因素包括用户环境、行业环境、组织环境、社会环境、经济环境。低估这些条件,既有主观的原因,也会有客观的原因。对项目环境的了解程度不够,造成没有做好充分的准备。
5、项目状态信息收集的情况
由于项目经理的经验或素质原因,对项目状态信息收集的的掌握不足,及时性准确性完整性比较差。另外其它一些原因也会造成这种现象。某些项目团队成员报喜不报忧,不希望别人知道自己工作的不好的情况,例如软件程序的编制,可能会先编制一些表面的东西,现有界面,看起来好像完成任务了,实际上只是一个“原型系统”或演示系统。给领导造成比较乐观的感觉。
如果项目经理或者管理团队没有及时地检查发现这种情况,将对项目的进度造成严重的影响。当然,如果出现这种需要时时刻刻都互相提防的氛围,管理人员就应该从管理的角度,从制度的角度检讨一下,进行改进,让大家实事求是地进行沟通。温伯格说:“无论你多么聪明,离开了信息,对项目进行成功的控制就是无源之水、无本之木。”
6、执行计划的严格程度
没有把计划作为项目过程行动的基础,而是把计划放在一边,比较随意去做。例如对于项目团队内部沟通或外部沟通,在计划中要说明清楚人员、周期、方式、方法,不能遗漏,但在实际项目过程中,可能出现沟通没有按时或没有完整地达到所有项目干系人的情况。若项目计划本身有错误,执行错误的计划肯定会产生错误。如,计划制订者在计划系统框架设计考虑上的错误、进度安排上的失误等。实际的项目实施中,除了这种错误之外,还可能因为项目执行上的错误,造成项目的麻烦。例如,项目的客户及其他项目干系人没有及时为项目中出现的情况采取必要的措施或者所采取的措施的不适合具体的情况、没有效果或者有副作用等。另外,如果在项目中的某项工作(如某个子系统或模块、组件)被转包给第三方开发后,不能进行有效的管理,也会造成进度上的延误。
7、计划变更调整的及时性
渐近明细是项目的特点,特别是对于软件开发项目,并不是一个一成不变的过程。开始时的项目计划可以先制定得比较粗一些,随着项目的进展,特别是需求明确以后,项目的计划就可以进一步的明确,这时候应该对项目计划进行调整修订,通过变更手续取得项目干系人的共识。计划应该随着项目的进展而逐渐细化、调整、修正。没有及时调整的计划或者是随意的不负责任的计划的项目是难以控制的。在高技术行业,日新月异是主要特点,因此计划的制定需要在一定条件的限制和假设之下采用渐近明细的方式,随着项目的进展进行不断细化、调整、修正、完善。对于较为大型的软件开发项目的工作分解结构可采用二次甚至多次 WBS 方法。即根据总体阶段划分的总体 WBS ,需求调研阶段结束、概要设计完成后专门针对详细设计或编码阶段的二次 WBS 。由于需求的功能点和设计的模块或组件之间并不是一一对应的关系,所以只有在概要设计完成以后才能准确地得到详细设计或编码阶段的二次 WBS ,根据代码模块或组件的合理划分而得出的二次 WBS 才能在详细设计、编码阶段乃至测试阶段起到有效把握和控制进度的作用。有些项目的需求或设计做得不够详细,无法对工作任务的分解、均衡分配和进度管理起参考作用,因此要随着需求的细化和设计的明确,对项目的分工和进度进行及时的调整,使项目的计划符合项目的变化,使项目的进度符合项目的计划。
8、未考虑不可预见事件发生造成的影响
假设、约束、风险等考虑“不周”造成项目进度计划中未考虑一些不可预见的事件发生。例如软件开发项目还会因为项目资源特别是人力资源缺乏、人员生病、人员离职、项目团队成员临时有其他更紧急的任务造成人员流动等不可预见的事件对项目的进度控制造成影响(即项目按时完成是基于如下假设:人力资源不会缺乏、人员不会生病、人员不会流动)。企业环境、社会环境、天灾人祸等事件对项目的进度控制造成影响。对项目的假设条件、约束条件、风险及其对策等对于进度的影响在项目计划要进行充分的考虑,在项目进展过程中也要不断地重新考虑有没有新的情况,新的假设条件、约束条件、潜在风险会影响项目的进度。假设是通过努力可以直接解决的问题,而这些问题是一定要解决才能保证项目按计划完成;约束一般是难以解决的问题,但可以通过其他途径回避或弥补、取舍,如牺牲进度、质量等等;假设与约束是针对比较明确会出现的情况,如果问题的出现具有不确定性,则应该在风险分析中列出,分析其出现的可能性、造成的影响、采取的措施。实际上像没有考虑人的疾病、人员流动这些情况本身也不是什么问题,因为任何人都不可能把所有以外的情况都考虑完整,实际上也没有必要。但有些诸如下班或节假日的加班时间都被安排用于项目工作的情况就会造成更多的项目不确定性。在可能的情况下当然要对所有可能情况都做到有备无患,但是有的时候也要冒一定的风险,同时对于风险的防范也需要考虑如果防范的成本大于风险本身造成的损失和影响,则这种防范是没有必要的。
9、程序员方面的因素对进度的影响
程序员方面有两种常见的心态影响了进度的控制:一是技术完美主义、二是自尊心。
技术完美主义的常见现象是,有些程序员由于进度压力、经验等方面的原因,会匆忙先做编码等具体的事情,等做到一定程度后会想到一些更好的构思,或者看到一些更好的技术的介绍,或者是觉得外部构架可以更加美化,或者是觉得内部构架可以更加优化,这样他们会私下或公开对软件进行调整,去尝试一下新的技术。而是否使用这些新的技术对完成项目本身的目标并没有影响,相反可能带来不确定的隐患。这种做法不是以用户的需求为本、或以项目团队的总体目标为本,可能对软件开发进度造成较大的影响。
自尊心的常见想象是,有些程序员在遇到一些自己无法解决的问题时,倾向于靠自己摸索,而不愿去问周围那些经验更为丰富的人。有些人也许会通过聊天室等方式匿名地向别人求教。如果运气好会很快地解决,否则要花很多实践摸索。而如果向周围的人求教,可能摸索几天的问题别人早就解决了。
10、未考虑软件开发过程的循环、迭代特性
对软件开发的各个过程分类过于精细,制定进度计划时各项工作过于紧凑、没有d性,造成的后果是,定期提交项目进度阶段报告的制度只有在表面上起到效果,按照计划的时间表提交阶段成果也只是在表面上起到效果。因为“上有政策、下有对策”,强行的规定会使人产生一些错误的认识:如在项目计划中“规定”某个时间只能做某某类别的事情,那么严格执行的后果就是编码阶段就不能修改文档;另外错误的“里程碑”概念可能会使大家轻易地相信上一个阶段的工作成果都是“通过评审”最终定稿了,而实际上可能只是因为时间到了该提交的人提交、该评审的人评审了。如果上下阶段是不同的人就根本不会去检查其中是否还有错误;如果上下阶段是同一个人,就可能非正式地修改上一阶段的错误,但占用的时间和精力却是下一阶段的,并且这样的修改时没有记录的。这样关于阶段进度控制的措施实际上只是在表面上有效。最为普遍的情况是,用户在合同中限定了提交软件系统的时间,实际上这个时间对完成项目任务来说是远远不够的,但计划只能按照合同来进行,所以要不用户让步,要不只能按照时间的约定提交实际上还未完成的软件系统,完成系统的安装,但这时候的“完成阶段任务”只是一个表面现象,系统虽然安装了,但可能是没有经过严格彻底测试的,也可能是只完成了部分的功能,省略了某些功能,有些是整块功能省略,有的是省略了某些功能的某个过程,如数据录入里面隐含的数据录入前缺省值设置、数据录入检验等功能,而是实现了比较粗糙的功能。这样,系统交付并不意味着项目的完成,而在项目交付之后还要花更多的时间。
11、其他因素
以上这些因素是影响项目进度的几个主要方面,除此之外还有很多其他的影响因素。其实最主要的因素还是人的因素,这里的人包括所有与项目相关的人。项目经理的素质、管理者的水平、用户的因素、项目成员的因素等等,都会对项目进度造成影响,这是因为由于软件开发的特性。因为篇幅有限无法一一列举,只能在此分析一些常见的因素。
不可否认,软件开发项目进度可控性还是带有一定运气成分的。特别是需要用户配合的那些软件开发项目,其可控性与用户的成熟度、软件应用领域的成熟程度和行业标准规范的完备程度有很大关系。关于可控性方面会涉及到一些与客户打交道经验,虽然我们说,顾客是上帝、以顾客为中心,但并不是说我们要把主导权交给他们,而关键是我们如何去主导、引导、把握。因此,项目控制的好坏与相关人员人际关系方面的经验也有关系。
尽管存在很多不可控的因素,我们的任务是首先分清哪些是可以控制的,哪些是我们不能控制的。项目经理一是要尽量扩大可控的领域,减少不可控的领域,二是不要在“不可控”上花太多时间,而是多花一些时间把可控的工作控制好,做好防范措施,减轻不可控因素对项目进度的影响。
项目进入实施阶段后,项目经理的几乎所有的活动都是围绕进度展开的。进度控制的目标与成本控制的目标和质量控制的目标是对立统一的关系。项目的进度、质量和成本构成一个相互制约的三角关系,需要项目经理去平衡。
二、项目进度控制的目的
项目进度控制和监督的目的是:增强项目进度的透明度,以便当项目进展与项目计划出现严重偏差时可以采取适当的纠正或预防措施。已经归档和发布的项目计划是项目控制和监督中活动、沟通、采取纠正和预防措施的基础。
1、根据计划进行监控
项目控制的第一个目的是根据计划对项目的各项活动进行监控,即根据已经制定并取得共识的软件开发项目计划来监控项目的实际表现和进度。为此应该根据项目计划来监控项目计划参数的实际值,这些参数包括进度表、项目成本、工作量、工作产品和任务的属性、使用的资源、项目成员的知识和技能;根据项目计划来监控项目团队所作的承诺是否已经或可能兑现、原来的确定的风险是否可以避免或减少损失,是否有新的风险出现;根据项目计划来收集、管理、使用项目数据;根据计划监督项目干系人的参与情况,监控各项任务承担人的参与活动;定期进行必要的进度评审,确定项目是否存在重大偏差、跟踪变更请求和问题报告直到变更或问题得到解决;在项目的里程碑对项目的成果进行评审。
2、管理纠正和预防措施
项目控制的另外一个目的是管理纠正和预防措施,即当项目进度或者结果已经或即将与计划有严重偏差时,对需要采取的纠正或预防措施进行管理。为此应当收集并且分析项目进行中可能存在的问题,并以此确定解决这些问题的纠正或预防措施;对已经确定的问题采取纠正和预防措施;监控要实施的纠正和预防措施,分析措施采取以后的结果,判断这些措施的有效性,确定和记录纠正与计划结果存在偏差的问题而采取的必要且合适的措施。
项目执行过程中仅仅靠最初建立的一份“完善”的基准计划是不够的,最好的计划也未必会一直有效。根据项目任务渐进明晰的特点,特别是软件开发项目的特点,在项目进行过程中,肯定需要在适当和必要的时候对项目进行变更控制,这种控制过程包括定期搜集有关项目进展情况的信息,把实际进展情况与计划进展情况进行对比;如果实际进展情况比计划进展情况有差距,或可能会有差距,就应当采取纠正或预防措施。变更控制应当在项目期间定期进行,这里所说的变更控制不一定要进行真正的变更,而是说要定期对变更进行控制。
如果在项目生命周期内的某一时间点,把实际进度与计划中约定的进度相比对,显示出项目已经延误或即将延误、超出预算目标或不符合质量要求,就必须采取纠正或预防措施使项目回到正轨上来,重新符合计划的安排要求。在已做出执行纠正或预防措施的决定之前,应评估一下纠正与预防措施的有效性和无副作用性,以确保纠正措施使项目回到项目的工作范围、时间和预算约束内,并对项目的其他目标不会造成太大的影响。
3、在各种项目目标中进行平衡
如果经过评估确定项目确实已无法控制,就应当下定决心以牺牲软件功能范围、工作成果范围(如某些中间文档)、成本预算、进度计划或软件质量中的某一项目标为代价,来保住项目最重要的那些目标,在各种项目目标中进行平衡,最终确定一个最合适的解决方案。有效的项目控制的关键是定期及时测量实际进程,并与计划进程相比较,如有必要就立即采取纠正或预防措施。指望不采取纠正和干预措施,问题就自行消失的想法是不现实的。问题越早发现就越好改正,造成的影响和损失越小。问题越提前发现就越好采取预防措施,可以用最小的代价避免造成损失。基于项目实际进展情况,就有可能准确预测项目进度计划和成本预算的实施情况,以便顺利完成项目。如果这些项目参数超出项目目标的限制范围,就必须马上采取纠正措施;如果发现这些项目参数有超出项目目标的限制范围的趋势,就必须马上采取预防措施。
软件开发项目实施中进度控制是项目管理的关键,若某个分项或阶段实施的进度没有把握好,则会影响整个项目的进度,因此应当尽可能地排除或减少干扰因素对进度的影响,确保项目实施的进度。
三、软件开发项目常用进度控制措施
1、项目进度控制的前提
项目进度控制的前提是有效地项目计划和充分掌握第一手实际信息,在此前提下,通过实际值与计划值进行比较,检查、分析、评价项目进度。通过沟通、肯定、批评、奖励、惩罚、经济等不同手段,对项目进度进行监督、督促、影响、制约。及时发现偏差,及时予以纠正;提前预测偏差,提前予以预防。
在进行项目进度控制时,必须落实项目团队之内或之外进度控制人员的组成,明确具体的控制任务和管理职责。要制定进度控制的方法,要选择适用的进度预测分析和进度统计技术或工具。要明确项目进度信息的报告、沟通、反馈、以及信息管理制度。
项目进度控制应该由部门经理和项目监控人员共同进行,之所以需要部门经理参与,是因为部门经理负责项目一般要负责一定人事行政的责任,如成员的考核、升迁、发展等。他们只有通过软件开发项目才能更好地了解项目成员,项目也只用通过对他们有切身利益的管理者参与管理才会更加有效。
2、项目进度控制主要手段
项目计划书:作为项目进度控制的基准和依据,项目负责人负责制作项目计划书。项目进度监控人员根据项目计划书对项目的阶段成果完成情况进行监控,如果由于某些原因阶段成果提前或延后完成,项目负责人应提前申请并做好开发计划的变更。对于项目进度延后的,应当分析产生进度延后的原因、确定纠正偏差的对策、采取纠正偏差的措施,在确定的期限内消除项目进度与项目计划之间的偏差。项目计划书应当根据项目的进展情况进行调整,以保证基准和依据的新鲜性、有效性。
项目阶段情况汇报与计划:项目负责人按照预定的每个阶段点(根据项目的实际情况可以是每周、每双周、每月、每双月、每季、每旬等等)定期在与项目成员和其他相关人员充分沟通后,向相关管理人员和管理部门提交一份书面项目阶段工作汇报与计划,内容包括:
a、对上一阶段计划执行情况的描述
b、下一阶段的工作计划安排
c、已经解决的问题和遗留的问题
d、资源申请、需要协调的事情及其人员
e、其他需要处理的问题
这些汇报将存档,作为对项目进行考核的重要材料。
在计划制定时就要确定项目总进度目标与分进度目标;在项目进展的全过程中,进行计划进度与实际进度的比较,及时发现偏离,及时采取措施纠正或者预防;协调项目参与人员之间的进度关系。
在项目计划执行中,做好这样几个方面的工作:
检查并掌握项目实际进度信息。对反映实际进度的各种数据进行记载并作为检查和调整项目计划的依据,积累资料,总结分析,不断提高计划编制、项目管理、进度控制水平。
做好项目计划执行中的检查与分析。通过检查,分析计划提前或拖后的主要原因。项目计划的定期检查是监督计划执行的最有效的方法。
及时制定实施调整与补救措施。调整的目的是根据实际进度情况,对项目计划作必要的修正,使之符合变化的实际情况,以保证项目目标其顺利实现。由于初期编制项目计划时考虑不周,或因其他原因需要增加某些工作时就需要重新调整项目计划中的网络逻辑,计算调整后的各时间参数、关键线路和工期。
3、进度控制内容
从内容上看,软件开发项目进度控制主要表现在组织管理、技术管理和信息管理等这几个方面。组织管理包括这样几个内容:
(1)项目经理监督并控制项目进展情况;
(2)进行项目分解,如按项目结构分,按项目进展阶段分,按合同结构分,并建立编码体系;
(3)制订进度协调制度,确定协调会议时间,参加人员等;
(4)对影响进度的干扰因素和潜在风险进行分析。
技术管理与人员管理有非常密切的关系。软件开发项目的技术难度需要引起重视,有些技术问题可能需要特殊的人员,可能需要花时间攻克一些技术问题,技术措施就是预测技术问题并制订相应的应对措施。控制的好坏直接影响项目实施进度。
在软件开发项目中,合同措施通常不由项目团队负责,企业有专门的合同管理部门负责项目的转包、合同期与进度计划的协调等。项目经理应该及时掌握这些工作转包的情况,按计划通过计划进度与实际进度的动态比较,定期向客户提供比较可靠的报告等。
软件开发项目进度控制的信息管理主要体现在编制、调整项目进度控制计划时对项目信息的掌握上。这些信息主要是:预测信息,即对分项和分阶段工作的技术难度、风险、工作量、逻辑关系等进行预测;决策信息,即对实施中出现的计划之外的新情况进行应对并做出决策。参与软件开发项目决策的有项目经理、企业项目主管及客户的相关负责人;统计信息,软件开发项目中统计工作主要由参与项目实施的人员自己做,再由项目经理或指定人员检查核实。通过收集、整理和分析,写出项目进展分析报告。根据实际情况,可以按日、周、月等时间要求对进度进行统计和审核,这是进度控制所必须的。
4、不同阶段的项目进度控制
从项目进度控制的阶段上看,软件开发项目进度控制主要有:项目准备阶段进度控制,需求分析和设计阶段进度控制,实施阶段进度控制等这几个部分。
准备阶段进度控制任务是:向业主提供有关项目信息,协助业主确定工期总目标;编制阶段计划和项目总进度计划;控制该计划的执行;
需求分析和设计阶段控制的任务是:编制与用户的沟通计划、需求分析工作进度计划、设计工作进度计划,控制相关计划的执行等。
实施阶段进度控制的任务是:编制实施总进度计划并控制其执行;编制实施计划并控制其执行等。由甲乙双方协调进度计划的编制、调整并采取措施确保进度目标的实施。
为了及时地发现和处理计划执行中发生的各种问题,就必须加强项目的项目的协同工作。协同工作是组织项目计划实现的重要环节。它要为项目计划顺利执行创造各种必要的条件,以适应项目实施情况的变化。
5、关于进度落后时的“赶工”措施
进度落后的情况下,有几种措施来弥补,如加人、加班、加激励等等,这些都是增加资源而又未必会见效的方法。根据Brooks原则,在某些项目进度延迟的情况下增加人手,有可能会使项目的进度更加延后。因为对于新加入本项目的员工来说,对项目相关背景、需求、设计的培训、对项目环境的熟悉和项目团队成员之间的沟通路径的增加,可能会使项目的工作效率急剧下跌。而加班造成的疲劳会再次使工作效率降低。增加激励会造成工作成本却不断的向上攀升。这些措施并不是完全不可取,而是项目经理要考虑适度原则。最好是要全面分析项目进度延迟的原因,如果确实是不合理的项目交付时限要求,就应当通过沟通变更为合理的项目时限要求,以免因为这样一个不合理的时限要求造成对软件质量或团队成员心理上的负面影响,最终导致项目最终的失败。否则应从技术、团队成员心态、环境等方面查找原因,找到提高效率、加快进度的方法。
对于复杂的IT项目而言,其投资规模较大,实施周期较长,在实施过程中存在诸多风险,所以对其质量进行合理的跟踪与管理,以保证最终结果能够满足企业的要求,是一件非常重要的事。
IT项目管理同其他项目一样,都包括计划管理、质量管理、时间管理、预算管理、人员管理、风险管理等。项目质量管理是IT项目管理的一个重要组成部分。
从管理流程来看,IT项目质量管理是为了保证it项目最终能够达到预期的质量目标而进行的一系列的管理过程。it项目的质量管理可以分解为质量规划、质量控制与质量保证等三个过程。整个it项目质量管理过程可以分解为以下四个环节。
首先,要确立有效的质量标准体系。
建立适当的质量衡量标准是进行it项目质量管理的前提性的关键性工作。根据企业在实施it项目方面的整体战略规划与it项目实施计划,实施it项目的主体企业首先要确立衡量项目质量的标准体系。衡量项目质量的标准一般包括项目涉及的范围、项目具体的实施步骤、项目周期估计、项目成本预算、项目财务预测与资金计划、项目工作详细内容安排、质量指标要求以及客户满意度等。这里需要注意的是,项目质量指标体系一定要具备完整性、科学性与合理性,项目实施各相关主体应该事先进行讨论与沟通,以保证其完整、无漏洞,又具备较强的可实施性。
其次,要在项目执行过程中采取有效措施来监控项目的实际运行。
在IT项目实施过程中,根据要求收集项目实施过程中的相关信息,观察、分析项目实施进程中的实际情况以便监控。为了达到有效监控项目的目的,可以利用的监控措施与沟通渠道包括正式的监控与沟通渠道,比如,项目进度报告、项目例会、里程碑会议、各种会议纪要等;非正式的监控与沟通渠道,比如,与项目小组成员或最终用户进行交谈与讨论,与企业管理层进行非正式的交流等。在这个环节上,要根据项目质量标准体系的要求,通过有效的监控措施与渠道,全面、客观地跟踪与反映项目实施的实际情况。
再次,把项目实施过程中的实际表现与项目质量衡量标准进行比较,分析出差异。
在监控与跟踪项目实际运行状况时,往往需要解决这样一些问题,比如,“项目进展如何”,“如果发生了与项目计划偏离的情况,是如何造成的”等。通过对项目实施相关衡量指标的综合分析,为客观评价项目质量状况提供依据,帮助项目决策人员迅速、有效地对项目的实际进展情况进行监控与管理,从而可以根据需要采取有效措施来保证项目实施按着既定的轨道运行。
最后,根据具体情况采取合理的纠正措施。
经过比较与分析,如果发现偏差,就要采取适当的措施进行纠正,让项目实施回到正轨。可供选用的纠正措施包括重新制定项目计划、重新安排项目步骤、重新分配项目资源、调整项目组织形式、调整项目管理方式等。一般而言,为了保证it项目不偏离正常轨道,按着既定计划走向成功,保证纠正措施的合理性与有效性,需要it项目的实施主体事先了解一些it项目质量管理基础知识与相关案例,确保纠偏措施的有效性。
从IT项目质量管理的承担主体来看,既可以由IT项目实施主体来承担,也可以选择外包。it项目实施双方可以成为项目质量管理的主体,分别或者共同对项目实施质量进行管理。此外,还可以根据需要与企业资金实力情况,决定是否选用专业的第三方项目监理商协助对项目实施质量进行管理。
无论是否采取外包协助的方式进行it项目的质量管理,实施it项目的企业都应该作为主体首先提出IT项目的整体规划,为IT项目质量规划确立明确的方向,清楚自己究竟想要通过IT项目的实施得到什么。作为IT项目实施的服务提供商,对项目质量承担根本责任。因而,需要为IT项目的质量管理制定更为明确的计划,协助客户实现IT项目规划,达到预期目标。
另外,还要注意做好项目质量管理的组织工作。由于整个IT项目实施过程往往可能涉及到两方、三方甚至更多相关方的参与者,为了做好项目质量管理,达到预期的质量目标,在整个项目的组织架构中,还要明确建立对项目质量管理负责的团队及其相关的工作流程,从组织方面为项目质量管理做好准备。
1 概念确立。就是对所要做的事情有一个框架性的设计,有一种思想。
2 问题的定义。即对长远目标说明。第二步骤是对第一步的进一步细化和具体化。
3 生成项目的备选方案和战略计划。就是提供思路、备选方案和战略计划总体思路。
4 战略计划评估和选择。就是在选择方案的同时,有一个从总体技术路线到总体项目管理策略的评价和选择。
5 战略的确立。就是确定具体的战略、目标。
7 项目相关人批准计划。这里的计划包括战略计划、初步计划、详细计划,在这些项目实施之前,有一个批准过程。
8 签署项目计划。项目的批准人、参与项目的有关相关人要签署项目计划,对计划做出承诺,同时建立项目的跟踪记录,做一个项目进展情况日志或者周志、月志、记录,根据这些记录信息进行知识管理。
9 执行项目计划。执行项目就是正式开展计划,进展这个项目。
11 审查项目定义。项目实施之后,需要做一些评审,评审包括对原来工作的评审,同时也包括对项目目标定义的评审,如有问题就返回到步骤二,重新修正项目的定义。
12 对项目的战略进行评审。首先是评价目标或项目的定义,然后评审战略计划、战略制订是不是有问题,如果有问题就返回步骤四,重新修正你的项目战略。
13 项目的实施计划。具体的计划工作流程、对一些细节要进行评审,有问题就进行修改。
14 循环。按照整个过程不断地从计划的执行到监测、评审,有问题就要修改计划,然后再执行,再评审,这个过程一直延续到全部工作结束。
15 总结经验教训。项目全部完成以后,及时总结经验教训,对一些问题进行归档,作为今后项目的指导和借鉴。
16 结束项目。这是一个完整的项目管理流程,从这个流程可以看到整个项目战略计划实际上是在制订项目的详细计划和实施计划之前。在项目计划的时候,首先要有一个总体的战略计划,在总体的战略计划指导下再开展具体的项目计划。
以上就是关于IT项目管理的风险有哪些全部的内容,包括:IT项目管理的风险有哪些、企业在建立精益六西格玛推进组织过程中存在哪些偏差如何解决、如何理解项目控制,主要有哪些控制机制等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)