本文来源于我在InfoQ中文站原创的文章,原文地址是:http://www.infoq.com/cn/news/2013/12/10-tips-offshore-java-effective
Cygnet Infotech是一家位于印度的外包公司,主要通过技术驱动的业务解决方案来帮助公司改进业务流程的效率。公司所提供的IT服务涵盖面非常广,包括诸如.NET、SharePoint、CRM、Java、PHP、Delphi、iPhone及Android等技术,其客户遍及5大洲的20多个国家。Cygnet Infotech通过了ISO 9001、ISO 27001与CMMi III认证,此外它还是微软的合作伙伴。Cygnet Infotech聚集了大量有经验的开发者来交付可度量的产品,业务涉及到Web设计与开发等。由于高质量、透明,并且以客户为导向的工作方式,Cygnet Infotech在全球赢得了众多客户的一致赞誉。Cygnet Infotech的工作方式非常简单,但却能保证最大的利润,他们将行业知识转换为成功的战略,为客户带来价值。定义良好的流程与方法学帮助Cygnet Infotech交付出高质量的解决方案。近日,公司发布了一篇博文,谈到了如何增进离岸Java开发的效率。
众多的ISV与软件厂商总是在不断寻找能以最低的代价实现其业务目标的解决方案。其中最好的一种策略莫过于将软件需求外包给离岸开发公司,这样既可以节省开支,又可以降低开发与IT方面的投入。对于几乎每一种技术,你都可以找到可靠的外包合作伙伴,他们能够降低你的开发与维护成本。现在有很多人已经撰写了关于外包流程的文章与博文。当然了,熟悉外包流程是很有意义的,不过你知道对于业务来说,如何才能增进离岸开发的效率与生产力吗?
本文将会介绍对于那些将Java开发外包出去的ISV与软件开发公司来说该如何增进其整体的效率与生产力。
1. 不要忘记清晰定义Java开发的范围与计划。
在将Java开发外包出去时,这看起来是个必须要做的事情,不过任何成功的Java开发项目总是由清晰的项目范围开始的。你需要事先为服务提供商定义好项目需求,从而为项目得到精确的提案和合理的价格,这是非常重要的事情。此外,要直接描述清楚你期望从厂商那里得到的交付物。你还应该清楚项目的计划需求,因为这会对项目的总成本产生重大的影响。
2. 定义良好的标准与可度量的目标。
目标可度量是非常重要的,这样才可能通过外包的方式达成所愿。如果潜在的客户能够对成果与事先建立好的目标进行比较,那么外包的优势就能显现出来了。此外,这还有助于服务提供商清楚地知道在满足客户期望方面自己处于什么阶段。定义良好的标准有该使用哪些Java框架、部署到什么数据库上、部署到哪个Java服务器上等,这可以帮助你取得可度量的目标、服务数量、质量以及客户满意度等。
3. 了解、学习Java。
要想成功且高效地实现Java开发的外包,你需要增强对Java的理解,这是非常重要的事情。这将有助于你利用定性的Java服务实现Java应用开发。你所要做的就是提升Java的基础知识,如代码结构、框架、可用性、有用性等等。这可以通过在线文档进行学习。
4. 发现需求。
在掌握了Java基础知识后,你需要为Java开发创建一个路线图了。你可以通过网站或是Portal进行一项小小的研究来了解网站的本质特性,这将有助于你识别出应用或网站所需的特性。
5. 寻找适合于项目需求的有经验的Java专家。
一般来说,你所选择的离岸Java开发合作伙伴会拥有大量的项目开发经验,不过这并不意味着你可以忽略掉其他一些事情。如果项目需要大量技术专家时就会变得更加重要了。因此,请寻找专家和有经验的开发者帮助你理解业务需求并交付正确的解决方案来实现你的目标。如果可能的话,请寻找那些提供Java认证开发者的公司来实现你的项目。
6. 永远不要根据价格来选择服务提供商。
当然了,价格是在外包Java项目时需要考虑的一个主要因素,不过这并不意味着你只能根据价格来选择厂商。Java开发项目的成功与失败并不仅仅取决于服务提供商所给出的价格。能够提供合理的价格与高质量结果的服务提供商才是你应该选择的。
7. 监控与追踪项目开发。
选择好服务提供商之后,你应该花些时间了解一下项目开发流程。你可以让服务提供商每周或是每隔一段时间提供项目进度更新。这将有助于你通过报告来了解项目的进度。此外,你还可以在项目开发过程中对某个具体的任务表现出一定程度的关心,从而了解这个任务的实际完成情况。
8. 为预先定义好的项目里程碑付款。
你应该为Java项目开发预先定义好几个里程碑,同时做好相关的工作计划,这是非常重要的事情。在预先定义的检查点的帮助下,你可以查看项目的进度,这样才能更好地让项目的完成时间满足于截止期限的要求。此外,你还应该将付款与每个里程碑关联起来。你可以提前付20-30%的款项,剩下的则在每个预先定义好的里程碑完成之后再行支付。
9. 请直接与工作所有者进行协商。
在外包Java开发项目时,你需要清楚地知道谁才是拥有代码与最后产品的那个人,这是非常重要的事情。请确保离岸合作伙伴理解你是如何使用他们所交付的产物的。
10. 延伸合同。
如果对离岸合作伙伴的工作感到很满意,那么你可以进一步延伸合同,保留这些开发者,以便在需要修改或是技术支持时他们能够帮上忙。你可以制订一份长期合同,这样就可以通过便宜的维护与服务费用实现后续需求了。
请确保遵循上述这些提示来增进Java开发外包的效率与生产力。你之前尝试过这些提示么?请与大家分享你的感受。