软件风险管理,防患于未然
2004/6/1 来源:软件世界 作者:赵利军


  
  伴随着从业人员的痛苦,软件工程、项目管理、过程控制、能力成熟度等知识开始被大家接受,这方面的书也出了很多。我们在理论和实践的碰撞中一步步成长,项目管理就有些模样,至少有了配置管理和版本控制,并引入了里程碑检查。按说理论增强了,控制能力提高了,工作就能更加游刃有余,可事情好像远没有想象的那样美好,生活还是一个字形容“忙”。其实,忙乱的原因,很大部分是由于项目风险控制出了问题。
  
  一、企业需要风险管理
  
  人的很多快乐得益于反思中的成长,这段时间由于工作的压力更大,考虑也更多了。前些天,朋友送了我一本书,《与熊共舞——软件项目风险管理》(清华大学出版社),看完以后受到一些触动。
  这几年软件开发的能力确实是提高了,编制的质量越来越好,也可以服务更大的客户群体。虽然软件技术在提高,但并没有解决软件业忙乱的困境。当我们把更新的软件和技术带给用户的时候,也培养了用户的使用能力和鉴别能力,用户变得成熟起来,需求也更加细致和苛刻,这就对软件的品质提出了更高的要求,开发的时间并不容易省下来。而且,当我们环视四周,软件公司如雨后春笋般成长起来。像其他生产过剩的行业,软件行业基本上变成了买方市场,软件提供者之间的竞争越来越激烈。在与软件企业的博弈中,客户利用市场优势占据了上峰,软件企业就必须提供更好的产品和更低的价格才能获得订单。这样,留给企业的利润空间变小,企业的风险增大,风险管理就显得更加必要。
  
  二、有效降低风险
  
  那么,企业要怎样才能以更低的成本和更短的时间提供更好的产品呢?规模优势和工业化是解决这个问题不错的思路,可是,中国的软件企业,规模都较小,难以生产出标准化的产品,也就不容易形成规模化和工业化的优势。尤其是,市场形成了一种概念,认为软件是非常具有柔性的产品,是可以随意更改的,这就为实现工业化带来了更多困难。
  在接触客户的过程中,客户必然会询问工期的问题,如果时间太长,有可能会把客户吓走。但是,现在社会的节奏加快,如果工期短的话,那不就又给自己加了一道紧箍咒吗?技术出身的人常常会有一些英雄主义的色彩,过高估计了自己的实现能力,而销售人员又不太了解开发的过程,当然愿意项目早日完成,于是定下的时间常常会短于正常的工期,这里既然种下了加班的种子,后边自然就会生根发芽了。
  为了有效降低这个第一风险,我觉得有多种方法可以使用:尽量争取给项目一个比较好的外部环境,通过与用户的沟通及其他手段,为项目争取较充足的开发时间,不要一拍胸脯就把风险留给自己了;要科学估计项目执行中的风险,对人员变动、需求变更等容易引起项目延期的事情要有足够的警惕。如果时间余地比较小,要配置多一些资源,如果资源不够,可能要及早安排加班,避免犯前松后紧的毛病。软件开发过程中的问题层出不穷,你考虑多一点的风险都不一定够用,如果英雄主义情绪旺盛的话,受伤害的还是自己。项目中的其他一些风险和估计风险的办法在书里还有更多的阐述。
  激烈的竞争环境给软件开发带来了巨大的挑战,需要企业不断去优化资源,提高效率,推行有效的项目管理方式。巨大的风险带来了挑战也带来了机会,如果能从一次次项目经验中成长起来,企业的竞争能力无疑会增强。书中比较推崇用“增量式”的开发方式来及早发现风险,化解风险,有一定的借鉴意义。当然,增量开发对项目的开发管理提出了更高的要求,也要求项目的开发时间相对比较长一些。具体的开发方式还要根据项目的不同而有所差异,RUP和XP的开发模式,应该是比较好的选择,具体情况还要根据企业的特点而定,并且开发模式会在企业的发展过程中有所改变和提高。 ......点击查阅全文......↓