技术开发 频道

离岸软件开发中采用敏捷过程并从中获利

    结合趋势

    离岸软件开发交易中存在各种不同的聘用方式,可从 rentacoder.com 雇用一个国外开发人员,也可与拥有海外分公司的美国公司进行上亿美元的交易。不过即使交易的某一方希望采用敏捷软件开发过程,某些交易也不会按照这样的过程来安排。

    要执行敏捷过程,所选的外包模式应该鼓励通信和协作,具有灵活性,以及经常发布。能够在外包交易中采用的标准有很多,不过其中最值得关注的是定价模型。关于最常用的定价模式计划,请参阅图 1。

    可预测的结果暗示了可预测的过程。图 2 中列出了按预测自适应等级进行排列的开发过程组。如果使用预测自适应标准和可预测模式(这更靠近等级的左端,请参阅图 1),则软件开发过程需要具有更大的可预测性;同时敏捷开发过程会处于软件开发过程整体的另一边。

    可预测性因素与“固定范围-固定价格”的聘用方式密切相关。如果在外包交易中采用此类合约,则客户和供应商都只能采用可预测软件开发过程及其结果。因此这类合约不适用于敏捷软件开发。所以在制定外包聘用时,请记住鼓励采用时间和材料等的定价模型来应对变化,这既为客户和供应商提供了灵活性,也更适合进行敏捷开发。

    处理这项交易时,需要考虑所选模式将如何影响通信和协作。敏捷开发过程需要开放的环境、联系紧密的合作团队、共同的目标、显而易见的商业价值和频繁的沟通。工程师、客户、用户、经理和其他股东之间的壁垒越多,进行敏捷软件开发就越困难,这意味着需要减少中间人以在团队之间最大化透明度和集成性。

    重量级人物们通过在其他国家建立分支机构来处理这个问题,如果公司希望自己的海外开发中心拥有 100 名以上的工程师,这是很有经济意义的。工程师的确切数量在很大程度上依赖于其他国家的实际情况,例如该公司是否能轻易地在这些国家招募到人才。

    考虑这个选择时,不要重复一些中小型企业的错误,例如低估高层管理时间、旅行预算、当地律师费和其他费用等隐性支出。另外,发展中国家经济的快速增长引起了人才短缺,这有可能给新到来的小型外国企业带来更大的压力。虽然本地企业更容易被本地人所接受,但是大公司的分支机构可通过知名品牌、更高的薪水和更完善的社会福利来弥补在这方面的不足。

    不过对于只希望在海外聘用 15 个开发人员的小公司来说,几乎不可能实行这样的措施。成功的中小型企业往往使用专门的开发团队、离岸开发中心 (ODC)、建造 - 经营 - 移交 (BOT) 模式、虚拟办公室、虚拟团队等模式来克服远程办公费用过高所带来的困难。然而无论这些模式如何变化,它们都有一个共同点:海外供应商更强调向客户提供硬件、法律、IT 和人力资源基础结构,而不是直接参与开发过程。在这类交易中,客户和供应商都对项目交付负有责任。

    要从这类交易中充分获利,必须向客户指派工程师,而且双方都必须拥有稳定的团队。供应商和客户之间的沟通必须完全透明,其中包括开发人员之间的沟通。所有人员都必须讲一种语言,而不需要翻译。

    在成功的合作中,有时远程办公室中的人员尽管从供应商处领取工资,但是他们与客户的联系更为密切,而且他们共享供应商和客户的价值观和企业文化。

    使用正确的实践和工具

    成功的软件开发团队所使用的实践中,众所周知的有:共同的编码标准;源代码控制服务器;一键建立和部署脚本;连续集成;单元测试;错误跟踪;设计模式;以及应用程序块。与本地团队相比,分布式团队必须以更严格的标准应用这些实践。

    以连续集成为例进行说明。如果操作人员与源代码控制服务器之间的距离非常远,那么使用源代码控制服务器来获得突破是非常困难的。对于在另一个办公室工作的人员而言,这也许没什么影响,但是对于追求工作效率和通信的分布式应用情况而言,这就有可能成为一个主要的问题。只要坚持在团队中进行连续集成实践并安装相应服务器(例如 Microsoft Team Foundation Server、CruiseControl.NET 和 CruiseControl),就可以最小化这种风险。

    在 Microsoft .NET 平台上工作的团队可以使用 Microsoft Visual Studio Team System 提供的各种新功能。可获取带有说明的 Microsoft Solutions Framework for Agile Development 和支持工具。如果团队需要更多关于在分布式环境中进行敏捷开发的指导,则该产品会非常有用。对于有经验的团队而言,这是一个可提供优秀 ROI 的集成解决方案。

    另一个为分布式团队带来巨大价值的 Microsoft 产品是 Windows SharePoint Services (WSS)。Wiki 能够有效地帮助分布式团队进行敏捷开发,而且 WSS 的下一个版本计划在其增强功能中提供 wiki。WSS 同样紧密集成了 Visual Studio Team System,这使得它成为团队的 Web 门户的非常好的选择。

    从 IT 基础结构的角度来看,我建议使用虚拟专用网络 (VPN),这样团队就可平等的共享资源。该 VPN 环境不像公共网络那样严格,可在其中使用 Windows Live Messenger 的应用程序共享、视频和语音呼叫、远程协助和白色书写板。

0