5陷阱,以避免在外包软件开发

这篇文章最初发表于堆栈溢出通过我们的创始人拉胡尔Varshneya。

资讯科技外判业囊括$ 62十亿收入在2018年已经成为真正的全球性商业;你只是作为可能工作外包给乌克兰和加拿大因为你是印度或巴西。它不是为创业公司和非高科技公司只是帮助。主要公司,如时差,GitHub上,阿里巴巴和WhatsApp,有成功地利用在他们的最初几天外包发展带来的好处,达到目前的成果的高度。

外包已经提高贵企业的工作效率,减少时间,你的应用程序的市场,并导致显著的成本节约,但只有当它是做正确的潜力。有参与外包发展以及显著风险。这些可以在你的企业的底线,导致项目产生负面影响来轰然倒塌,你有机会在发布之前。

起草一个有效的外包战略

外包发展有它的一套好处,它可以迅速变成是有害的,如果不建立和有组织地管理其业务目标。让我们面对现实,在您的开发工作可能是一个棘手的任务,找到一个值得信赖的开发公司与您合作。yabo.com下载如果公司外包发展不是一个高科技公司的任务将变得更加复杂。yabo.com下载

已经在过去,随后联合建立一个自定义的软件开发公司,外包公司广泛合作,这里是我的引导到DOS和外包软件开发的注意事项。yabo.com下载

外包开发中的常见陷阱以及如何避免它们

1.沟通障碍

外包的发展来说,获得的人才全局池的最大好处,还创建了主要缺陷之一 - 在通信问题。你需要克服不同的时区,语言和文化习俗。建立沟通的正常渠道与外包团队成为保证项目的成功至关重要。

Qlicket的创始人兼首席执行官维韦克•库马尔(Vivek Kumar)将员工反馈亭的开发外包出去时,亲身体验了沟通渠道不良的不利影响。他在最近的一次调查中提到,有一天开发人员突然停止了响应,并未能交付任务。不管是以搬迁创始人、频繁接听电话还是其他方式,透明和频繁的沟通对于小企业外包来说都是必要的告诉离合器。合。现在,他坚信的频繁沟通和远程承包商参与的重要性。

有效的沟通是有技巧的,而英语仅仅是一种语言。当与外包开发商沟通,对项目的要求和明确的交付理解是最重要的因素。

协作工具的使用,像吉拉和体位,通过视频或音频的沟通,并定期站立会议,远程团队正常啮合,都是与外包开发团队建立沟通渠道的最佳做法。

2.未能在了解项目的范围

外包发展到远程团队之前,清晰度的要求和交付您期望,预期时间表交付,项目的整体范围,是成功的外包是必不可少的。

沟通失败这些细节可能会导致范围蔓延和不对的产品愿景。如果不解决这些问题,软件工程师将继续在发射井的工作将会有你的期望与实际成果之间的差距不断扩大。

基础必须由您建立并要在应用中还需明确记录的功能。软件需求说明书(SRS文档可以是一个很好的起点,它使开发团队对需求有清晰的见解。

对于非高科技公司,起草这种文件可以令人望而生畏。我建议使用SRS模板可与文档过程中提供帮助。

SRS文档可以帮助您组织您希望外包开发团队在开始时知道的基本项目需求。然后,开发团队完成他们自己的工作,对其进行进一步的细化。这种协作允许双方建立一个共同的计划,在任何实际生产工作开始之前建立一个共享的蓝图。

例如,如果要开发的应用需要一个注册页面,初始SRS文件将只列出了注册选项,需要纳入。通过与软件供应商合作,这将是明智的,然后添加额外的细节:比如指定注册页面上的每个元素的功能规格,验证检查时需要加以到位,可能的方案,一个列表需要被覆盖。

清晰度文件是确保你的期望和外包公司提供的交付是相互同步的第一步。yabo.com下载

3.代码质量的挑战

确定外包开发团队是否秉承质量标准,同时编码您的应用程序是,当你的工作或没有显著编码专长运行非高科技公司,成为放大了挑战。代码质量是一个含糊的字眼因为,可以说是高品质和低质量的代码没有严格的定义。

代码质量属性的集合,需要与外包开发团队沟通。根据我的经验,良好的代码需要有两个关键素质:清晰度和可维护性。

证据充分的,并经过严格测试下面的应用程序被写成是长期成功和无缺陷的执行至关重要的编程语言的格式化最佳实践和编码约定代码(或接近无缺陷的任何人都可以reasonably expect. You can’t squash em’ all.)

当将开发外包给海外团队时,维护代码质量需要沟通预期,提前制定质量基准,并定期与团队进行简报,以保持开发工作的最高水平。

您要外包的团队应该进行检查,以确保代码质量的一致性。在你签约一家公司之前,问问他们是否采取了代码审查(包括点对点和管理)、单元测试和功能测试等措施。这些预防措施将有助于确保他们在向您发布应用程序之前已经开发出了健壮的应用程序。

其中只要任何更改了代码和使用的项目管理工具的问题和积压的管理记录做回归测试 - - 以全面的应用测试已经建立的质量保证过程的一些基本知识,我建议你看看选择在哪里时外包你的工作。

4.模糊的利益相关者

缺乏项目所有权是外包最大的缺点之一。如果你选择的外包伙伴雇佣的程序员是基于合同而不是全职的,那么实际的项目所有权就会变得危险。项目中资源的反复使用会导致可交付成果的不一致,因为没有项目负责人或一致的团队来负责工作并贯穿整个过程。

当一个外包软件项目开发,一定要了解谁将会在其上工作,并尽力确保至少有几个项目经理的留在整个过程中保持一致。这是谁,你可以追究,谁应该存在于电子邮件线程,视频通话,以及其他常规检查插件的乡亲。

我发现在团队中有一个业务分析师或项目经理作为关键干系人是非常有帮助的。这个人可以作为您和开发人员之间的协调人,记录功能规范并将需求分解给开发人员。

在选择外包合作伙伴时,你应该寻找的另一项资产是,一个不仅编写代码,而且还致力于为客户提供一流的用户体验的开发人员。寻找一家能够成为项目yabo.com下载潜在利益相关者的公司,并且这家公司致力于寻找正确的解决方案,而不是实施快速修复,这是成功外包的关键。

5.签订合同时存在漏洞

在启动初期,发放巨额资金用于法律费用似乎不是一种可行的选择。但是,一个松散的框架合同,或者一个有利于承包商的斜靠,可能导致可以由外包公司,并导致严重的经济损失漏洞被人利用。yabo.com下载

约阿夫·阿基姆,GuardianEYE的联合创始人,知道写得不好的外包合同的价格。在对技巧的文章签署外包合同他谈到了自己与外包公司签订合同时出现的所有问题。yabo.com下载“该合同不包括时间承诺、分配的人力布局、如果未能在截止日期前完成任务的处罚,也不包括如果开发速度快于预期的积极强化,”他写了。这并不奇怪,事情很快急转直下有

书面古老的谚语“得到它在软件开发中也是至关重要的。一份适当起草的合同可以作为外包承包商遵循的路线图,并在事情转错方向时保护你免受损失的冲击。

签署外包合同时的最佳实践

起草一份没有任何法律漏洞的严格合同有助于确保您在应用程序开发过程中不会错过任何重要问题。在起草外包代理合同时,你应该记住以下几点。

  • 勾勒出成果以及时间框架:合同需要以功能列表或用户描述的形式清楚地说明预期的可交付成果,以及承包商能够完成工作的估计时间线。遵循敏捷开发方法并将需求分解为sprint的外包机构可以帮助提供开发进度的准确描述。
  • 在基于时间的基于特征的接触:取而代之的是合同为基础的时间轮廓的开发和部署,具有优先在一个在开发商的动机简单地坚持一个时间表精心编写和全面的测试应用基于特征的合同。划分成交付任务级冲刺有助于确保您的外包公司的所有权和责任。yabo.com下载
  • 基于里程碑付款:将项目分解成不同的里程碑,并根据这些里程碑的成就定义付款时间表,简化了付款结构。定期计划完成里程碑的后续工作,并安排与团队的起立会议。有一个里程碑式的付款时间表可以让合同更加清晰,也可以帮助解决任何付款冲突。
  • 灌输代码保证:无码保证应用程序的接受是一个很大的禁忌。你签署合同应明确您收到的代码是没有任何恶意软件,并指定验收测试期。5-10天的时间是一个合理的时间内其应用需求中发现的所有错误将被固定在承包商的费用。该合同还应该指定虚拟主机或应用程序商店提交的文件将如何管理
  • 维护支持合同:任何外包公司称职不会离开你悬在空yabo.com下载中,没有任何支持合同。一个维护支持合同应载明时间,为球队将提供软件支持他们建造并交付使用。在该项目中指定的支持也导致增强对构建应用程序工作的开发人员的主人翁意识。他们知道马虎代码将意味着他们在道路上更多的工作。
  • 知识产权:作为一个客户,你有你的项目完整的权利,但要确保你有这个由包括在合同中的知识产权条款写。这将节省你从一些大的头痛,如果任何侵犯人权问题在未来弹出。它也将阻止承包商重用在未来可能的竞争对手工作时,你的应用程序编写的代码。
  • 保密协议:保密协议是一种保密条款,确保您与承包商共享的专有信息的机密性。它确保你的应用理念不会被复制或与他人共享。不披露和保密协议不仅应该与外包机构签署,也应该与个别开发商签署。这可以防止程序员离开外包公司,亲自为你的商业创意工作。
  • 免责条款:免责条款包含在合同中的法律规定,你和外包机构之间地址风险责任分配。它指出谁将会承担法律费用和付出相应的代价突然出现在正在开发的应用的任何诉讼。
  • 终止条款:当你希望事情应该顺利,它始终是最好的最坏的情况做好准备。请确保您在您的合同终止条款,明确规定当事情南下和项目未能达到完成将要采取的行动方针。
  • 管辖权的问题的解决:外包已取得软件开发一个真正的全球化进程。决定管辖中出现的任何争端都得到解决,并在合同中提到,有必要确定在该合同涉及的法律。
    拉胡尔Varshneya

    拉胡尔VarshneyaArkenea,为快速增长的企业,提供按需的工程技术人才和MVP开发服务定制软件开发咨询公司。