上一篇:创建能轻松迁移的应用程序指南 >>
软件风险管理,防患于未然
一、企业需要风险管理
人的很多快乐得益于反思中的成长,这段时间由于工作的压力更大,考虑也更多了。前些天,朋友送了我一本书,《与熊共舞——软件项目风险管理》(清华大学出版社),看完以后受到一些触动。
这几年软件开发的能力确实是提高了,编制的质量越来越好,也可以服务更大的客户群体。虽然软件技术在提高,但并没有解决软件业忙乱的困境。当我们把更新的软件和技术带给用户的时候,也培养了用户的使用能力和鉴别能力,用户变得成熟起来,需求也更加细致和苛刻,这就对软件的品质提出了更高的要求,开发的时间并不容易省下来。而且,当我们环视四周,软件公司如雨后春笋般成长起来。像其他生产过剩的行业,软件行业基本上变成了买方市场,软件提供者之间的竞争越来越激烈。在与软件企业的博弈中,客户利用市场优势占据了上峰,软件企业就必须提供更好的产品和更低的价格才能获得订单。这样,留给企业的利润空间变小,企业的风险增大,风险管理就显得更加必要。
二、有效降低风险
那么,企业要怎样才能以更低的成本和更短的时间提供更好的产品呢?规模优势和工业化是解决这个问题不错的思路,可是,中国的软件企业,规模都较小,难以生产出标准化的产品,也就不容易形成规模化和工业化的优势。尤其是,市场形成了一种概念,认为软件是非常具有柔性的产品,是可以随意更改的,这就为实现工业化带来了更多困难。
在接触客户的过程中,客户必然会询问工期的问题,如果时间太长,有可能会把客户吓走。但是,现在社会的节奏加快,如果工期短的话,那不就又给自己加了一道紧箍咒吗?技术出身的人常常会有一些英雄主义的色彩,过高估计了自己的实现能力,而销售人员又不太了解开发的过程,当然愿意项目早日完成,于是定下的时间常常会短于正常的工期,这里既然种下了加班的种子,后边自然就会生根发芽了。
为了有效降低这个第一风险,我觉得有多种方法可以使用:尽量争取给项目一个比较好的外部环境,通过与用户的沟通及其他手段,为项目争取较充足的开发时间,不要一拍胸脯就把风险留给自己了;要科学估计项目执行中的风险,对人员变动、需求变更等容易引起项目延期的事情要有足够的警惕。如果时间余地比较小,要配置多一些资源,如果资源不够,可能要及早安排加班,避免犯前松后紧的毛病。软件开发过程中的问题层出不穷,你考虑多一点的风险都不一定够用,如果英雄主义情绪旺盛的话,受伤害的还是自己。项目中的其他一些风险和估计风险的办法在书里还有更多的阐述。
激烈的竞争环境给软件开发带来了巨大的挑战,需要企业不断去优化资源,提高效率,推行有效的项目管理方式。巨大的风险带来了挑战也带来了机会,如果能从一次次项目经验中成长起来,企业的竞争能力无疑会增强。书中比较推崇用“增量式”的开发方式来及早发现风险,化解风险,有一定的借鉴意义。当然,增量开发对项目的开发管理提出了更高的要求,也要求项目的开发时间相对比较长一些。具体的开发方式还要根据项目的不同而有所差异,RUP和XP的开发模式,应该是比较好的选择,具体情况还要根据企业的特点而定,并且开发模式会在企业的发展过程中有所改变和提高。
三、正确对待风险管理
风险管理并不是一个新鲜的课题,可以看看国内这几年发展迅速的保险行业,社会领域的风险概念还是引起了大家的足够重视。但是人们并不是什么保险都买,选择性还是很强,选择的时候大量考虑了风险和收益的问题,这是一个博弈的过程。
以前我们在项目计划中也会有10%到15%的风险,但执行过程中常常没有给予足够重视,导致项目最后的完成受到影响。没有给予足够重视的潜意识,是不愿意付出这部分的成本,希望能获得更大的收益,有一些侥幸的成分。另一个可能的原因是,企业付不起这部分成本,它甘愿去冒风险,因为如果加上这部分成本,项目就根本无法赢利。
企业需要生存,而且也愿意生存的好一些。国内软件业的现状也常常影响到大家对风险的正视程度,随着企业的成熟,风险管理也会更加正规。但无论如何,风险意识是一定要存在的,并且要想办法防范和规避主要风险,否则触礁的机会就太大了。
关于作者
赵利军 北京易地平方信息技术有限公司任副总经理、技术总监,负责知识管理和竞争情报产品开发
下一篇:项目管理 数据分析项目中的风险管理 >>
相关文章:
- · SQA到底是什么?
- · Loadrunner性能测试一个实例
- · 基于GUI的自动化测试工具
- · 也谈缺陷跟踪管理
- · 应用软件测试要领
- · 持续集成与测试自动化
- · RUP测试过程实践之测试需求与测试用例
- · J2EE开发平台的软件测试技术
- · 软件测试的现实和理想
- · 关于软件测试
- · Rational Test RealTime软件包介绍
- · 嵌入式测试中数据获取的几种方式
- · 谈谈嵌入式操作系统的调试问题
- · 测试中的可靠性分析
- · 压力测试实例
- · 以设计求质量--启用经济高效的全面组件测试
- · 强化测试用例在测试活动中的作用 改进测试用例…
- · 软件产品的可用性的测试
- · 使用 Rational Robot 实现自动化测试
- · 成功测试管理的九大原则
- · 软件测试的现实和理想
- · 关注性能:压力负载
- · 软件测试的革命
- · 前置测试
- · 面向对象软件的测试
- · 软件测试的新模型
- · 如何成为一名优秀的软件测试工程师
- · 使用因果图设计测试用例
- · 构建可“复用”的软件测试环境
- · 使用IBM Rational的测试理念成功打造测试团队
- · 如何实施SQA?
- · Loadrunner中参数的设置
- · 嵌入式软件测试工具--LOGISCOPE
- · 如何进行单元测试
- · 软件测试方法
- · 性能:软件测试的重中之重
- · 如何设计编制软件测试用例
- · 系统测试设计的层次
