媒体监测和推荐平台

特别报道

当前位置:首页 > 特别报道 > 详细内容

应用开发项目签单风险的管理

长城计算机软件与系统有限公司技术总监 郑爱军

对于从事行业应用软件开发服务的公司来讲,都知道软件项目难做,更难赚钱,我见过的软件公司老总们没有不叫苦的,我自己也一直是在一线从事着公司技术团队的管理,也一直在寻找这其中的原因。当然,如果展开来讨论,各种各样的因素不一而足,在这里,我只是想讨论一下一直被很多人忽视的软件开发合同签单时的风险管理问题。

我们知道,今天国内应用软件服务市场主要还是建立在政府、银行、电信这样具有绝对甲方优势的大客户基础之上的。在多数情况下,软件公司与这些大客户的合作并不是完全以公司自身的软件业务能力为出发点的,公共关系实际是占据了主要的成分。也正是因为这种原因,在公共关系层面的竞争掩盖了公平的企业核心能力的竞争,最终导致了一种畸形的商业环境。这种畸形的商业环境不但阻碍了软件技术竞争力的发展,而且使得软件产业难以像其它传统行业建立自己的商务能力,我个人认为,在应用软件行业中,目前最奇缺的倒不是技术人才,而是能够审阅、读懂和编制高水平应用软件服务合同的商务管理人才。

应用软件一般是通过软件开发项目完成实施的,因此与甲方的合作关系也体现在软件开发项目合同中,这是软件公司业务工作流程的起点。如果这个环节出了问题,没有把潜在的风险搞定,那么后续的所有工作实际就是建立在一个脆弱或者错误的前提之上,项目的失败也是必然的结果。

在这里,我从几个方面来谈一下项目合同签单风险的问题。

第一个问题,项目机会与公司的战略选择:

公司做项目一般会有两种背景,一种是公司已经开发过类似的系统,做过类似的项目;另一种则是首次进入某个行业或者业务领域,首次开发某种类型的应用系统。在第二种情况下,公司没有相关的经验积累,项目组往往没有太多的信心,多数情况下,公司要面临项目亏损的威胁。

无论哪种情况,公司都要做一个决策,这个项目公司到底是做还是不做。所以,公司需要制定自己的行业发展战略,确定好工作思路,是基于眼前的项目切入行业、把行业做深?还是Case By Case地交差?或者干脆选择放弃。只有清晰的定位自身的行业战略,才能有效地控制公司的经营风险,使得公司不至于因为争夺一城一地而忽视了战略目标,踏入一个几乎万劫不复的“签单——亏损——再新签——更大的亏损”的恶性循环,甚至把自己的身家性命也赔了进去。

对于从事行业应用软件服务的公司来讲,形成稳定的行业、稳定的客户和稳定的解决方案才是公司发展的根本出路,项目机会的把握要和这种公司发展的战略相一致的。

第二个问题,项目报价的形成:

报价是项目能否盈利的第一个保障环节,如果这个环节出了问题,后面不管公司再怎样努力,也是无力回天的。项目报价本质是对项目成本的估算能力,而成本的估算又是基于我们对软件可度量化的认识程度。科学的报价方法是在量化软件的基础上,基于历史数据的来预测完成的。不过,对于多数软件公司来讲,软件的可度量本来就是一个极大的难题,历史数据一方面不全面,另一方面也没有什么参考价值。其次,由于市场竞争的问题,报价也有时和估算的项目成本会有较大的冲突。因此,应用软件的报价一直有较大的随意性,多数都是所谓“拍脑袋”。

不过,在实践中,软件公司也可以在现有条件的基础上做一些工作,把报价的过程和报价的基本因素相对固化,尽量在现有能力的条件下使得报价能够相对精确。例如,我们可以设定报价的几个基本的决定因素,包括历史项目的报价、客户预算情况的了解、竞争对手报价的估计、项目的最低成本估算、高手的直觉等等,把这些因素综合起来确定项目的报价。我们也可以把自己最有经验的几个“高手”集中起来,以他们的估价为准,即使是拍着脑袋想出来的,好歹也算是公司的最高水平。这些结合起来,也许就是一个不成熟的软件公司在报价方面的最佳实践吧。

不过,我们也应该欣慰的看到,关于软件度量体系的建立,和历史数据的收集,国内政府、咨询机构和同行业都开始着手做一些工作,例如11届软博会的度量分论坛、功能点PK代码行辩论赛,以及世界知名软件度量学专家Dr. Bin Cong将加州大学MSE引入中国,等等。

第三个问题,合同风险的评估

应用开发项目的风险是很大的,公司要建立风险管理意识,建立合同风险评估流程,控制项目在承接上的风险,有选择性地做一些项目。简言之,有些项目是不能做的。

不过,通常情况下业务部门往往处于一种激进的心态,不愿意放弃项目签单的机会。在评审合同时,销售往往都会据理力争,认为所有的风险都是可控的。但事实往往又证明,大多数的风险是控制不住的。合同风险不控制,很多项目还没有做就已经亏损,或者根本就是“无法完成的任务”。在这种情况下,软件公司再在后续的工作中通过管理机制来考核、激励项目组,实际已经没有意义了

当然,还有一种解决问题的办法:项目组的计划与合同脱钩,这样可以在一定程度上把技术部门的风险与销售风险脱离开来,但是我个人不主张采用这种方法。这种方法似乎是市场部门在和开发团队赌气,你说我不能签单,报价不合理,那好,我给你一个合理的价格,你再做不好,那就是你的无能了。这种赌气的结果,最后的损失实际是整个公司的利益,最终还是会落到每个部门的头上。

所以,合同风险是一定要控制的,公司必须对应用开发合同进行细致的风险评估,我们曾经总结了一些评估的指标:

 行业熟悉程度:项目是公司已经进入的成熟行业、还是新行业;历史上类似项目案例的个数;

 客户熟悉程度:是公司的老客户、还是新客户,客户关系程度(包括客户关系人的级别等等)、前期工作客户的反馈口碑、客户服务的工作时间长短、项目个数、我们承担的客户服务工作的重要程度、历史盈利情况等;

 客户信用状况:历史项目客户合同额、合同条款执行情况、付款情况等;

 客户磨合状况:与公司的配合情况,客户的工作习惯是否与公司冲突、项目实施合作的复杂度;

 技术团队与解决方案的积累:公司是否有相应的产品、解决方案,技术团队的状况,资源是否充裕、资源补充的周期和风险等等

 合同本身的条款:是否有公司完全不能接受或者完全无法接受的条款;例如知识产权、“全员全程现场”等类似条款。

 其它:行业、客户、解决方案未来的市场分析。

以上的评价必须要完成,这样,项目在开始时,公司就对项目信息有一个全面的了解,而不会出现信息黑洞。

总之,一切都要有序,都要可以被管理,这样才能步步为营,向成功推进。

基于上述的思路,2004年至今,笔者先后在长天集团、长城软件进行过一些尝试,事实证明,客户也期望能够有一个“双赢”的契约,确保双方能够逐渐形成稳定的、战略层面的合作。

例如,笔者曾经进入武汉某客户,签约的过程不可谓不艰难,但在我们的引导下,客户逐渐放弃了最初的“快速上线”的想法,项目按照极其规范、严格的程序一步步走来,开始的过程大家都很辛苦,但现在,双方建立了良好的、持续的、稳定的合作关系,最终,双方都是利益最大化的,我们也赢得了客户一系列的后续项目机会。

作者简介:郑爱军,长城计算机软件与系统有限公司技术总监、独立咨询顾问。曾任长天科技集团产品经理、行业技术总监、金融服务部(南京研发中心)总经理。在长天集团和长城软件工作期间先后完成了长天企业银行(长天Easybank)、网上银行(长天集团)、银行客户服务中心(长天e-center)、金融服务开发平台(长天ESSE)、界面开发工具(长天EasyTeller)、柜面查询工具(长天Easyquery)、银行中间业务平台(长天)、邮政综合服务平台(长天集团)、面向银行大集中的特色业务平台(长天集团)、商业银行大前置平台(长天集团)、烽火台-基于J2EE架构业务基础件平台(长城软件Beacon)、个人联合征信系统(长城软件)、企业联合征信系统(长城软件)、担保企业信用风险管理系统(长城软件)等系列产品和解决方案,历经了长天、长城等大型IT服务企业变革的过程。