增进离岸Java开发效率的10个提示
本文来源于我在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开发外包的效率与生产力。你之前尝试过这些提示么?请与大家分享你的感受。
增进离岸Java开发效率的10个提示的更多相关文章
- 提升你的开发效率,10 个 NPM 使用技巧
对于一个项目,常用的一些npm简单命令包含的功能有:初始化一个文件夹(npm init),下载npm模块(npm install),创建测试(npm test) 和自定义脚本(npm run).但是, ...
- 成为杰出Java开发人员的10个步骤
在优锐课的学习分享中,讨论了如果你是Java开发人员并且对技术充满热情,则可以按照以下十个步骤进行操作,这可以使你成为杰出的Java开发人员. 1.具有扎实的基础和对OO原理的理解 对于Java开发人 ...
- 提升Java开发效率必看!教你如何在MyEclipse中使用内联搜索
MyEclipse CI 2019.4.0安装包下载 Inline Search取代传统Eclipse查找和替换对话框,提供更搞笑.更具侵略性的搜索体验——一种不会中断开发工作流程的工具. DevSt ...
- 提高Java开发效率,Idea必装的几款插件
1.codeMaker 重复代码生成工具 domian和dto两个类基本差不多,这个工具就可以通过一个类快速生成另一个类. 2.gsonFormat json转换成Java类 很多时候根据别人接口给的 ...
- Java 开发环境搭建
找到一篇很不錯的Java開發環境搭建的博客, 原文地址為:http://www.cnblogs.com/bribe/p/3377008.html Java 开发环境搭建 一.开发工具获取 1.开发工具 ...
- atitit.提升开发效率---使用服务器控件生命周期 asp.net 11个阶段 java jsf 的6个阶段比较
atitit.提升开发效率---使用服务器控件生命周期 asp.net 11个阶段 java jsf 的6个阶段比较 如下列举了服务器控件生命周期所要经历的11个阶段. (1)初始化-- --在此 ...
- Atitit. 提升软件开发效率and 开发质量---java 实现dsl 4gl 的本质and 精髓 O725
Atitit. 提升软件开发效率and 开发质量---java 实现dsl 4gl 的本质and 精髓 O725 1. DSL主要分为三类:外部DSL.内部DSL,以及语言工作台. 1 2. DSL ...
- atitit.为什么java体系开发效率这样低的原因and解决
atitit.为什么java体系开发效率这样低的原因and解决 #---开发理念问题(影响度:很大的,2-3倍效率) mvc<>webform server control ajax< ...
- tomcat免重启随意更改java代码 提高开发效率
转载:http://developer.51cto.com/art/201012/241243.htm 做为了一个java开发人员,总是为因为要增加一个类,或是增加删除一个方法,甚至修改一个小处代码而 ...
随机推荐
- 【Android】手机号码获取问题
手机号码不是所有的都能获取.只是有一部分可以拿到.这个是由于移动运营商没有把手机号码的数据写入到sim卡中.SIM卡只有唯一的编号,供网络与设备识别那就是IMSI号码,手机的信号也可以说是通过这个号码 ...
- 射频识别技术漫谈(25)——Felica简介
Felica是SONY公司开发的射频识别技术,该技术使用的载波频率与ISO14443A和ISO14443B一样,都是13.56MHz,所以有人把它称为ISO14443C,但SONY并没有正式接受这样的 ...
- Protel99se教程七:创建PCB元件封装
在上一节课当中,我们给大家讲解了如何制作SCH原理图的元件库,这一节课,我们给大家讲解的是如何制作protel99se封装,在我们制作好元件好,需要制作对应的封装库,以供PCB设计所用. 第一步:进入 ...
- ubuntu安装hadoop 若干问题的解决
问题1:安装openssh-server失败 原因: 下列软件包有未满足的依赖关系: openssh-server : 依赖: openssh-client (= 1:5.9p1-5ubuntu1) ...
- CDLinux环境下WiFi密码破解
> 准备好所需软件以及上篇教程中使用Fbinstool制作的可启动U盘 2 > 解压CDLinux-0.9-spring-0412.iso到U盘的根目录 如图 3 > 打开fbin ...
- swift3.0 hello swift(1)
一直对swift感兴趣,在前段时间的新闻中,大多是swift3.0发布和xcode8.0的改进,因为改动比较大,以前使用swift2.x做项目的人,都在担心其项目从2.x迁移到3.0+的问题.以前简单 ...
- echarts 应用数个样例
应用一:环形图和饼图嵌套 先说明一下内部文件分布: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGV4dGJveQ==/font/5a6L5L2T/fo ...
- Android SDK三种更新失败及其解决方法
更新Android SDK,居然失败了三次. 1.第一次失败 出现Failed to fetch URL错误提示 Failed to fetch URL https://dl-ssl.google.c ...
- 【原】Spring和Dubbo整合案例和过程
Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合).从服务模型的角度来看,Dubbo采用的是一种非常简单的模 ...
- [C#]窗体切换--避免开启多个线程
先说说这个多窗体的界面的解决的办法: 用到的方法很简单,就是程序运行就建立一个MainForm,在这个MainForm中设立一个Panel,同时设立几个按钮,按下每个按钮都在这个Panel中载入不同的 ...