项目风险是一种不确定事件或状况,一旦发生,会对至少一个项目目标,如进度、成本、范围或质量目标产生积极或消极影响。那么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项目中的重要性,正因为对风险管理足够重视,提前制定了风险应对计划,我们才得以如庖丁解牛般化解项目中遇到的各种风险,并最终取得了上线的胜利。任何项目都不能回避风险问题,风险的存在导致几乎每个项目都不可能顺风顺水地完成项目目标,良好的风险管理技能将帮助项目经理处理好项目中的不确定因素,保证项目的顺利进行。
一般IT项目管理中常见的风险有以下几类:需求变更风险。需求变更是软件项目经常发生的事情。一个看似很有“钱途”的软件项目,往往由于无限度的需求变更而让项目承建方苦不堪言,甚至最终亏损。预防这种风险的办法是项目建设之初就和用户书面约定好需求变更控制流程、记录并归档用户的需求变更申请。
进度风险。有些项目对进度要求非常苛刻,但对于进度要求不高的项目,同样要考虑该风险。项目进度的延迟意味着违约或市场机会的错失,预防这种风险的办法一般是分阶段交付产品、增加项目监控的频度和力度、多运用可行的办法保证工作质量避免返工。
质量风险。有些项目和用户对软件质量有很高的要求,如果项目组成员同类和知型项目的开发经验不足,则需要密切关注项目的质量风险。一般需要经常和用户交流工作成果、采用符合要求的开发流程、认真组织对产出物的检查和评审、计划和组织严格的独立测试等。
技术风险。在软件项目开发和建设的过程中,技术因素是一个非常重要的因素。项目组一定要本着项目的实际要求,选用合适、成熟的技术,千万不要无视项目的实际情况而选用一些虽然先进但并非项目所必须且自己又不熟悉的技术。如果项目所要求的技术项目成员不具备或掌握不够,则需要重点关注该风险因素。
在应对IT项目的风险方面,可以借助信息化项目管理系统解决,比如8Manage PPM,能够对项目进行全程的风险跟踪,自动检测项目各种系统性风险及其影响,包括项目计划,成本,资源以及质量的风险,并且能根据现有影响自动推测最终的影响,做到自动监测超时和超支风险、自动监测使用不恰当资源与资源短缺的风险等工作,并提供集成棚笑的风险登记表和预警提示,使项目人员可清楚地知道若不及时恰当地管理这些风险的严重性。同时,8Manage支持记录用户自定义风险并跟踪风险从开始到结束的整个过程。系统会自动根据风险发生几率的高低和采取行动前后风险的的影响来分类和评唤和消估每个风险,以便项目人员更快速有效地确定行之有效的方案来避免风险,为IT项目的成功研发保驾护航。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)