当考虑外包软件开发时,你首先需要检查你项目的预期ROI。如果你想花较少的成本,获得质量的工作的,那么你是在自欺欺人。对一外包的开发人员来说,价格是比较低的,尤其是在美国以外的国家的合同中;但常言说“一分价钱一分货”也适用于这时。在外包软件开发进一味地追求最低价格可能会错过最后期限、生产不良代码或浪费时间和精力。
你可以考虑一下与在美国一样的离岸价格。这是正式开发者的平均工资。支付比这高的工资也必将得到更加资深的人才,同样支付的少得到的人也是初级的。技能高的人员可在少量的时间内开发出更好的产品,海外价格的工作也是一样的。
服务提供商的文化也是一个很重要的因素。世界上的不同文化也意味着不同的意义,这些差异可使有效的沟通变得更难。
无论何时你描述你希望应用有的功能进,你是在做假设,可能在你未知情况下。当外包软件开发时,假设你向某人解释一些事情,他能够清晰地阐述他们所不明白的点。你还假设他们将会指出他们看到的,而被你忽略的设计中的缺点。你甚至假设你将按照你说的去做,不做他们认为不好的。这些潜意识的假设可能会让你陷入麻烦之中,而没有方法可以避免,因为你并没意识到这些。
如果与你合作的人有着相同的文化的话,那么你的假设和这些服务提供商的可能会很匹配,这可能会减少前进道路上的一些障碍。
对于第一个项目,最好是只做应用外包,合理化后端业务流程。努力保持企业内部战略优势的具体化。这并不总是可行,尤其是对于小企业来说,缺乏内部开发人员,但在任何情况下,在国外知识都很昂贵,且受到严格的保护。如果你需要外包你的“秘方”,一定要先了解你的外包提供商。
这并不是说你不能外包你的主要应用;只是不是关键部分。精心设计的应用的构建使用一大量的可交换的模块。继承公司战略优势的模块需要在内部开发,或者通过一个可靠的外包公司。那些提供支持功能的部分可以成功地由外包公司做,然后整合成一个整体。