伴随着从业人员的痛苦,软件工程、项目管理、过程控制、能力成熟度等知识开始被大家接受,这方面的书也出了很多。我们在理论和实践的碰撞中一步步成长,项目管理就有些模样,至少有了配置管理和版本控制,并引入了里程碑检查。按说理论增强了,控制能力提高了,工作就能更加游刃有余,可事情好像远没有想象的那样美好,生活还是一个字形容“忙”。其实,忙乱的原因,很大部分是由于项目风险控制出了问题。

一、企业需要风险管理

人的很多快乐得益于反思中的成长,这段时间由于工作的压力更大,考虑也更多了。前些天,朋友送了我一本书,《与熊共舞——软件项目风险管理》(清华大学出版社),看完以后受到一些触动。

这几年软件开发的能力确实是提高了,编制的质量越来越好,也可以服务更大的客户群体。虽然软件技术在提高,但并没有解决软件业忙乱的困境。当我们把更新的软件和技术带给用户的时候,也培养了用户的使用能力和鉴别能力,用户变得成熟起来,需求也更加细致和苛刻,这就对软件的品质提出了更高的要求,开发的时间并不容易省下来。而且,当我们环视四周,软件公司如雨后春笋般成长起来。像其他生产过剩的行业,软件行业基本上变成了买方市场,软件提供者之间的竞争越来越激烈。在与软件企业的博弈中,客户利用市场优势占据了上峰,软件企业就必须提供更好的产品和更低的价格才能获得订单。这样,留给企业的利润空间变小,企业的风险增大,风险管理就显得更加必要。

二、有效降低风险

那么,企业要怎样才能以更低的成本和更短的时间提供更好的产品呢?规模优势和工业化是解决这个问题不错的思路,可是,中国的软件企业,规模都较小,难以生产出标准化的产品,也就不容易形成规模化和工业化的优势。尤其是,市场形成了一种概念,认为软件是非常具有柔性的产品,是可以随意更改的,这就为实现工业化带来了更多困难。

在接触客户的过程中,客户必然会询问工期的问题,如果时间太长,有可能会把客户吓走。但是,现在社会的节奏加快,如果工期短的话,那不就又给自己加了一道紧箍咒吗?技术出身的人常常会有一些英雄主义的色彩,过高估计了自己的实现能力,而销售人员又不太了解开发的过程,当然愿意项目早日完成,于是定下的时间常常会短于正常的工期,这里既然种下了加班的种子,后边自然就会生根发芽了。

为了有效降低这个第一风险,我觉得有多种方法可以使用:尽量争取给项目一个比较好的外部环境,通过与用户的沟通及其他手段,为项目争取较充足的开发时间,不要一拍胸脯就把风险留给自己了;要科学估计项目执行中的风险,对人员变动、需求变更等容易引起项目延期的事情要有足够的警惕。如果时间余地比较小,要配置多一些资源,如果资源不够,可能要及早安排加班,避免犯前松后紧的毛病。软件开发过程中的问题层出不穷,你考虑多一点的风险都不一定够用,如果英雄主义情绪旺盛的话,受伤害的还是自己。项目中的其他一些风险和估计风险的办法在书里还有更多的阐述。

激烈的竞争环境给软件开发带来了巨大的挑战,需要企业不断去优化资源,提高效率,推行有效的项目管理方式。巨大的风险带来了挑战也带来了机会,如果能从一次次项目经验中成长起来,企业的竞争能力无疑会增强。书中比较推崇用“增量式”的开发方式来及早发现风险,化解风险,有一定的借鉴意义。当然,增量开发对项目的开发管理提出了更高的要求,也要求项目的开发时间相对比较长一些。具体的开发方式还要根据项目的不同而有所差异,RUP和XP 的开发模式,应该是比较好的选择,具体情况还要根据企业的特点而定,并且开发模式会在企业的发展过程中有所改变和提高。

三、正确对待风险管理

风险管理并不是一个新鲜的课题,可以看看国内这几年发展迅速的保险行业,社会领域的风险概念还是引起了大家的足够重视。但是人们并不是什么保险都买,选择性还是很强,选择的时候大量考虑了风险和收益的问题,这是一个博弈的过程。

以前我们在项目计划中也会有10%到15%的风险,但执行过程中常常没有给予足够重视,导致项目最后的完成受到影响。没有给予足够重视的潜意识,是不愿意付出这部分的成本,希望能获得更大的收益,有一些侥幸的成分。另一个可能的原因是,企业付不起这部分成本,它甘愿去冒风险,因为如果加上这部分成本,项目就根本无法赢利。

企业需要生存,而且也愿意生存的好一些。国内软件业的现状也常常影响到大家对风险的正视程度,随着企业的成熟,风险管理也会更加正规。但无论如何,风险意识是一定要存在的,并且要想办法防范和规避主要风险,否则触礁的机会就太大了。

关于作者

赵利军 北京易地平方信息技术有限公司任副总经理、技术总监,负责知识管理和竞争情报产品开发

软件风险管理,防患于未然相关推荐

  1. 从XXX航航班延误看软件风险管理

    原创于2008年03月03日,2009年10月18日迁移至此. 周四晚上准备乘坐XXX航航班返回海口,航班是晚上 8 : 25 的,到了候机厅后通知航班延误 10 分 钟,对飞机来说延误十分钟是很正常 ...

  2. 软件项目风险管理介绍

    软件项目风险是指在软件开发过程中遇到的预算和进度等方面的问题以及这些问题对软件项目的影响.软件项目风险会影响项目计划的实现,如果项目风险变成现实,就有可能影响项目的进度,增加项目的成本,甚至使软件项目 ...

  3. 软件开发项目的风险管理 (转)

    原作者:李艺兰 软件开发项目的风险管理 众所周知,软件开发过程可分为:需求分析.设计.编码.测试.安装及维护等几个过程(在RUP方法中:业务建模.需求.分析设计.实施.测试.部署),实际上一个完整的软 ...

  4. 软件开发项目风险管理的几点体会

     参与过大型软件项目的人都会认识到许多事情都可能出错,一但出错就可能给项目带来危害.损失或其它不利影响.风险是在项目中发生的一系列事件或不利结果的可能性.软件开发是一项 高风险的活动,在项目开发过 ...

  5. 软件开发项目的风险管理

    月27日参加了项目管理联盟组织的'北京项目管理爱好者聚会',我被易风邀请做了一个主题演讲,其实不是什么演讲,只是结合理论谈了自己的一些想法和工作中遇到过的经验教训,更主要的目的是给大家出一个讨论和交流 ...

  6. 软件项目 风险管理用到的实践_软件项目风险管理方案

    软件项目风险管理方法 软件项目风险管理方法 在上世纪 60 年代, 西方世界的软件危机使人们 开始清醒得认识到软件开发过程的高复杂性,许多学 者致力于通过软件标准化,并提出一系列软件过程模 型,将系统 ...

  7. 软件详细设计说明书_互联网知识大全:软件开发中和各种开发软件文档的常见的英文缩写,还不快快收藏!...

    BAF Baseline Audit Form(基线审计表) PTF Program Trace Form(问题跟踪表) WBS Work Breakdown Structure (工作分解结构) B ...

  8. 从主流安全开发框架看软件供应链安全保障的落地

    本文3409字   阅读约需10分钟 从SolarWinds攻击到Log4j漏洞,再到近期以反战名义对开源软件供应链投毒事件,软件供应链安全问题愈演愈烈,因其带来的巨大危害引发全球关注.寻求有效.可落 ...

  9. 软件开发中 常见英文文档 缩写(转)

    软件开发中常见英文缩写和各类软件开发文档的英文缩写: 英文简写 文档名称 MRD market requirement document (市场需求文档) PRD product requiremen ...

最新文章

  1. 2020年这10大ML、NLP研究最具影响力:为什么?接下来如何发展?
  2. 数据中心网络架构 — 传统数据中心网络 — 传统树型三层网络架构
  3. mysql的默认sid_默认实例(SID)已经设置,空实例默认连接时却连接不上?
  4. B站爱情怀,投资者只看利益
  5. Python中使用高德API实现经纬度转地名
  6. jQuery中this与$(this)的区别总结
  7. 改进初学者的PID-积分饱和
  8. 系统性能分析从入门到进阶
  9. 开源改变世界概括_为什么任何开源社区都很难改变
  10. windows生成当前目录树
  11. 用友NC单据模板公式
  12. Cadence快捷键设置
  13. 基于空间句法的城市道路可达性分析
  14. IDA Pro 4.9.0.863 Advanced Full with SDK
  15. 平台注册加入微信验证码机制。
  16. 硬货专栏 |深入浅出 WebRTC AEC(声学回声消除)
  17. HackTheGame 攻略 - 第一关
  18. 【通讯原理】Ch.4:数字信号调制
  19. 解密通往元宇宙的三大入口,VR先上AR紧跟,但脑机接口才是未来
  20. iframe父页面与子页面如何传值

热门文章

  1. hadoop 2.8 hdfs 命令错误总结
  2. 飞链云版图的魔咒教室(1)AI绘画新手教程
  3. 推测30以内具体数字
  4. @Value获取yml文件的map和json对象写法
  5. 关于弹性盒flex布局overflow无作用问题
  6. Javascript 严格模式use strict详解
  7. 8080端口被占用怎么办
  8. 局域网访问项目注意事项
  9. Openstack的error僵尸实例的解决办法
  10. NEC即将推出新品手机N800