对日软件外包项目被认为是世界上最难做的软件项目,其原因有很多。软件承包商的主观认识误区也是主因之一。过程不完整,是对日软件项目的一大特点。日本公司常常因为某种原因,只外包整个软件项目过程中的一部分给其它公司去做。而承包商在实际操作中往往容易忽视这个不完整的特点,反而按照完整的软件工程方法加以操作,其结果往往是成本高了,时间紧了,效果不满意了。比如,仅外包编码的项目。如果按照完整的软工方法,加以编码和测试,尤其是测试,这种成本相对编码项目而言是非常高的,但效果却难以体现。因为编码方对需求和设计没有一个全面的认识啊!类似情况在对日软件外包中是很常见的,所以很难做。以下试以编码项目为例,探讨对日软件外包项目操作中的一个注意点。
软件工程作为一门完整的学科,给出了系统开发的体系化思维模式。而作为其中一个片断的编码项目,并不适合采用完整的软件工程方法加以操作。因为在概念上有差别。比如,bug的统计,从软件工程的角度看,bug的一个主要来源是对需求不明确的设计过程;而编码项目中,对施工方而言,根本不存在设计bug这个概念(设计bug不是不存在,而是对编码者不存在)。编码项目中,对施工者的要求很简单,可以概括为一句话——“按照式样书编写代码”。
“按照式样书编写代码”,这是对日编码项目的一大特点!我们应该如何去理解这句话的含义?
首先,这句话明确了一个质量目标:“式样书”。式样书(设计说明书)作为一种非常重要的设计文档,在编码外包项目中其某方面功能被重点突出了。它是设计方与施工方的一种重要的沟通手段,其作用如同建设行业的施工图对施工单位那样。它是施工者的工作指导书,也是产品的质量目标书。那么,编码项目的目标就应该非常明确——达到“式样书”的要求。其次,这句话规定了施工单位的工作范围:“编写代码”。出于成本、时间、技术能力等等诸多因素的综合考虑,施工单位要做的就是编写代码,千万不要想得太多,更不要去做多余的事情!只要能让编写的代码符合式样书的要求,那就成功了!
按照以上观点,作为编码项目的施工方,想要做到低成本高效益,应该不难,那就是要做到责任明确!第一,研究编码技术,只编写易于检验的编码。我们大可不必去做完整测试,因为我们的质量目标是设计文档,通过观察代码和简单测试,完全可以确认编码是否符合式样书的要求,何必再去追求高成本的测试呢。实践也往往证明,紧随编码之后的单体测试,往往是花费了很大力气,bug却找得不够全面,更麻烦的是找到很多设计bug,因而拖延了工期。设计bug不是编码者的责任,但是却因为设计Bug的存在而拖延了编码工期,这个责任可就不那么容易说的清楚了!第二,研究测试技术,只要能够确定是否符合式样书就可以,适可而止。bug是永远抓不光的,千万不要去钻牛角尖!否则就是成本呼呼上涨,客户还要对你大呼小叫。作为价格低廉的编码项目,明确做到了以上两点,客户还能说些什么呢?
实际操作的复杂度远不止这些,但是责任明确是整个项目操作中的一个核心内容。从一开始的合同管理,到最终的产品提交及售后服务,都应该努力向这个方向发展。编码项目如此,类似其它项目亦如此。
当然,站在企业级的角度,对于提高企业核心竞争力而言,这个观点确实是太低了。但是站在项目角度,这个观点将能够确保项目成功。立于不败之地而后求胜,对日项目还是先确保责任明确,再逐步提升更为实际。