软件外包发包给软件公司之前就必须规避的4个问题
以前做过软件开发,对软件业比较熟悉,所以经常有很多商界的朋友委托我帮他们来软件外包,因此积累了一些软件外包的经验,现在就写出来与大家共享,希望对有软件外包需要的人有所帮助。由于每个行业的经营管理都有着自己的特殊性,那些现有的通用软件可能无法满足你的需要,这时就需要把软件项目交给专业的软件公司或软件团队去设计完成,这就是我们日常所经常提到的软件外包。
首先,软件外包第一步要做的是,先弄清楚自己对于软件的详细要求。比如你使用这个软件要达到什么目的;要求这个软件有什么样的功能,对于软件有些什么特殊的要求。以超市经营者为例,他们后面是成百个供应商,前面是成千上万个消费顾客。怎样利用软件管理错综复杂的供应商和消费顾客,如何做好精细到一个小小调料包的进、销、调、存的商品流通工作,这些都是超市业主需要详细分析思考的。而且有时光是自己分析还不行,还必须与实际将要使用软件的业务人员进行讨论,这样才能使以后开发出来的软件能真正发挥作用。
我周围有不少朋友在实际的软件外包中就遇到过这种教训:一个经营商场的朋友说起他曾经软件外包过一个超市软件,由于他的需求非常笼统,因此对方按一般的超市软件进行开发,结果花上万元开发出来的软件在使用时才发现根本不符合该超市的特殊需求,最后只好束之高阁。还有一个朋友,由于当初没有把需求完全细化,等到软件开发出来才又要求增加功能,而临时增加功能就意味着增加费用,结果当初说好一万元的项目最后花了几万元。这些都是软件外包中实实在在遇到过的深刻的教训,希望各位有软件外包需求的朋友把自己对于软件的需要完全分析透,并最好用纸打印出来,并作为合同的一个附件。这样便于软件承接者更好地分析项目,开发软件,出现争议也能够更好地解决。
其次,是要明确把软件交给谁来开发。经常有朋友问我,这个软件是交给软件公司来开发好呢,还是交给软件开发团队?其实这个主要是根据你的实际情况来定,如果你是一家比较大型的企业,或者你所要开发的软件要求的功能很复杂,或者你的资金比较充裕,那就可以找一家比较有实力的软件公司来承接你的项目,虽然费用高一点,但完成项目的质量也相对更有保障;如果你的钱不够多,那最好还是交给软件开发团队来做。
这里所说的软件开发团队,是指由一些程序员、软件高手自发组成的软件开发团体,他们多数是兼职来进行软件开发的,其中也不乏一些软件公司中的编程高手。他们的特点是收费相对比较低廉,但是技术方面与软件公司比并没有太大的差别。当然也有所谓的SOHO族,就是在家专门编写程序的人。如果你的软件功能相对比较简单,那么也把项目交给个人SOHO族去开发,费用还可以进一步降低。
到哪里去找这些软件开发团队或软件公司呢,其实很简单,现在有很多专门提供软件外包信息的网站,比如软件商务网(bizsofts。com)等,你只要在上面发一个软件外包信息,很快就会有软件公司或软件开发团队与你联系接洽项目。我曾经在软件商务网上发出过几个软件外包信息,每次都是一个小时内就有十几个人来与我进行联系。最后成交的价格由于竞争激烈也就比较便宜。另外还有一个办法可以很方便地找到项目承接者,就是加入各地软件技术团队的QQ群,直接与你所在城市的编程高手谈项目(请参见附录中我搜集的各地软件技术团队QQ群)。
在有很多人与你联系时如何才能从中选择出最合适的项目承接者呢?最好的方法就是把你的需求交给他来分析,看他能否全面地理解你的各项要求,并用程序设计的技术语言准确地表达出来。如果做到这一点了,才可以继续谈下去,否则另找他人吧。我软件外包成功的几个项目都无一例外是由对方的项目负责人直接与我沟通,并详细写需求,我们之间反复磋商直到我完全满意之后才交付给他们开发的。
第三,要经常地监督项目的进展。是不是把软件交给一个软件开发团队后,就万事大吉了呢?如果你这样认为,那就大错特错了。在交付任务后,你还要每隔一段时间就去检查一下软件的开发进度,看看项目的完成情况,否则到时候你可能连软件的影子也看不到。我以前就有过这种教训,有一次把项目交给了外地的一家软件公司,由于距离太远无法亲自检查项目的进展情况,只能通过电话联系。而每次打电话去问时,他们总是说完成得很好,后来甚至说软件已经在测试了。结果到合同规定交付软件的那一天,他们才承认由于项目太多没有时间完成我的软件,要求延期。
最后规定一个月完成的项目三个月还没有做好,一气之下我干脆不要定金了,另外找了一家软件公司来开发项目。从这个教训中可以得出这