`
vikki
  • 浏览: 114643 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

外包能“敏捷”起来吗?

阅读更多

真么多装备还搞不定外包吗? Agile,敏捷开发被越来越多的开发企业和团队所接受。敏捷恰当,可以显著提高开发效率和产品的开发周期。问题是,“敏捷”方法是否能适用到软件外包行业,这个争论由来已久,各有说辞。最典型的争论就是,作为外包的一个显著特点,用户和开发团队是相对远程,甚至开发团队内部也存在远程的问题。如果一个团队不能身处一室,其中强调的沟通和互动是否能够得到有效的执行,是一个大问题。
这个问题也是Taskcity一直致力于解决的课题。下面是我们的一些理解。
传统的外包商业环境,是客户和服务提供方达成一个长期的合同,基于一个相对较长的阶段,提供稳定的外包服务支持。现在,越来越多的企业客户开始考虑将外包项目划分为小的可执行单位。风险可控,操作灵活。而服务提供方相对也达成了这个共识。其实,这两种情况,如果通过敏捷的开发模式,在一个长期的合作过程中,大家会发现,Agile不仅可行,而且的确能形成一个双赢的局面。一起来看看我们的发现吧。
 
方法恰到好处
如果我们追求看到一个项目完成的效率和效果,敏捷开发其实优于传统的开发模式,即便对于初次接触这个概念的发包客户亦如此。我们大家都知道,在很多情况下,发包客户和服务提供方在涉足将项目外包出去开发之前,都拥有自己比较熟悉的开发模式和方法。敏捷开发或者说增量开发,可以让双方很轻易的统一到一个接口。传统的开发方法基本上都是基于一个反复推敲的合同,合同中对于功能设计以及权利义务定义原则上都进行了仔细的定义。但是,根本的问题是,很多用户在项目开始前,甚至开始的初期都没有一个明确的,或者说准确的描述。这样,很多时候,客户为了保护自己的利益,会尽可能多的添加功能到这个项目书中。而开发服务提供方考虑的是如何在自己的成本控制内得到尽可能多的盈利。在一开始,其实就为双方日后的纠纷埋下了种子。我们能看到,在传统的开发外包中,相当比例的项目最后,即便完成交付,完成支付,最后双方的心情都是不太好。敏捷开发强调了阶段性交付,增量开发,用户互动。最后的交付物有时和原始的设计已经有了很大的出入,但是客户贯穿了整个开发的周期,了解了所有的变动以及缘由,其满意度甚至超过一个100%吻合的交付结果。用户的满意度和开发完成的代码量不是直接的因果关系。而在软件外包行业中的同行们都知道,一个满意的客户意味着可能的后续项目,而这也是服务提供方最希望看到的结果。
 
沟通的威力
肖伯纳有一句名言“England and America are two countries divided by a common language。”意思是英国和美国是被一个相同的语言所分隔的两个国家。这里不是指的地理上的分隔,而是文化沟通上的差异,即便他们都说一种语言。英美尚如此,何况作为一个典型东方文化代表的中国和我们的欧美客户呢?不同的时区,不同的文化,不同的工作方法和原则,导致沟通成为了我们进行海外外包的一个瓶颈。敏捷开发既强调了沟通,又为顺畅的沟通提供了方法和指导。其中持续的交付实际是在用实实在在的形式进行了项目的沟通,从而降低了最后的交付风险。想想吧,作为传统开发模式,比如一个瀑布式的开发,六个月后,客户才能第一眼看到自己想要的产品,这里面能产生错愕的概率有多大,大家可以想象一下。
 
迭代是趋于完美的过程
罗马不是一天建成的。不要尝试对完美的一步到位,除非你的用户愿意牺牲宝贵的进入市场的时机。外包开发不象是一个公司内部的开发团队的管理模式,对于离岸外包而言,双方远隔万里。所以我们的建议就是,只用尽最大可能不断地从客户那里得到进程中的反馈,进而对开发加以修正,才不会出现最终和用户意愿的大偏差。在双方可以接受的情况下,定义一个一个短促有效的迭代过程,第一时间发现问题,放到下一个迭代中去解决。一个典型的迭代包括计划-设计-反馈-执行(PDCA)。
 
勇于面对改变
需求变更在整个软件开发的生命周期中是一个永恒的话题。也是客户与服务提供方最纠缠不清之所在。改变的导火索可以来自方方面面,既有可能是一觉醒来后的灵光一现,也有可能是来自客户外部商业环境的改变。既然是现实,就接受它吧。当然,处理得当,这种变化可能协助双方得到一个更优秀的软件,也能让客户对你的快速应变产生好感。否则,如果固守原始的设计稿件,或者永远作为一个新功能要求追加资金,有可能得到一个Case,却失去一个用户。另外,我们总是陷在一个自己预设的陷阱里,客户的要求改变永远是对功能的增加。其实,一个过程中的再设计,有可能会降低开发的成本。
 
质量保证,真的吗?
听起来像是玩笑。敏捷开发这种快速交付,还能保证质量,象是天方夜谭。其实不然。快速交付,让用户能够尽快试用你的功能,尽快发现问题,就整个开发周期而言,整体质量一定会得到提升。在传统开发模式中,我们都会或多或少遇到这样的情况,因为开发时间的拖延(总是会拖延,这不可是玩笑!),测试时间永远是第一个被压缩的阶段。结果可想而知。更多的迭代引入了更多的测试周期和时间。
 
和Taskcity一起来“敏捷”吧!
当然,在具体执行的技巧中,在外包行业或国际外包项目中引入敏捷的开发思想,还有一些需要注意的地方。但是,远隔重洋的地理分离,如果再加上在开发流程中的用户与开发方的长期“分居”,结果就会是这样 :没有一方会满意。所以在Taskcity(给个链接)平台,我们从一开始就确定了在我们的在线项目管理工具和协同工作工具中引入敏捷的思想和原则。我们的海外Buyer用户到目前在项目的评价中都保持了一个惊人高的满意度,首先是Taskcity平台Provider用户的用心,从我们的反馈看,和我们的在线敏捷项目管理工具也是密不可分的。

 

原文地址 http://blog.taskcity.com/?p=40

 

1
0
分享到:
评论
2 楼 xuanyuan77777 2009-09-26  
外包能敏捷吗?现在我不知道,但感觉在中国敏捷不起来!
1 楼 lzy.je 2009-09-10  
和业务&合作模式关系紧密,看定位。

相关推荐

    敏捷项目管理,敏捷项目管理

    敏捷项目管理敏捷项目管理敏捷项目管理敏捷项目管理敏捷项目管理敏捷项目管理敏捷项目管理

    软件开发项目管理之敏捷模式管理

    软件开发项目管理运用敏捷模式管理。软件开发项目管理成功的关键

    .Net6.0快速开发平台3.4新版源码(教程运行视频齐全),net敏捷开发,全网最新有演示,报表设计,大屏设计,流程设计,实时

    .Net6.0快速开发平台3.4新版源码(教程运行视频齐全),net敏捷开发,全网最新有演示,报表设计,大屏设计,流程设计,实时通讯,动态表单,日程管理,APP端,双端代码生成全部具备,是你接外包的利器,开发管理系统...

    异地分布式敏捷软件开发

    异地分布式敏捷软件开发(DistributedAgileSoftwareDevelopment)异地分布式软件开发(DistributedSoftwareDevelopment)是指由多个位于不同地理位置的团队进行同一个软件项目的开发过程。这个词越来越频繁的出现在...

    trabalhe-conosco:您想在Leanwork工作吗? 告诉我们你的一些技巧

    我们是WEB软件开发和外包的专家,专注于管理和结果,通过敏捷方法论和尖端技术来构建电子商务平台和定制系统。 我们对新技术充满热情,无论在管理,项目,产品还是与客户的关系中,我们都不断寻求在整个工作过程中...

    敏捷软件开发和极限编程介绍

    对应到软件生产的(子)项目外包。这个话题在本文就不扩展了),进入生产、组装、测试车间,进行一系列规定的工作流程。正常情况下,如果不发生不可抗拒的事件,那么可以按时完成合同规定的交付。这中间不会有什么变动...

    【Axure资源】产品需求文档模板 (v2.5),含PRD和用户故事的编写规范

    对于外包项目或投标项目,还需要增加产品介绍、受众群体分析等内容。 模板页数:共20+页 兼容软件:Axure RP 9/10 应用领域:敏捷开发团队 模板预览:https://u.pmdaniu.com/kRG96 详细说明:...

    24小时知识工厂环境的敏捷软件流程-研究论文

    外包和离岸外包概念的日益普及为分布式软件开发提供了新的机会。 受24小时制造模式的启发,“ 24小时知识工厂(24HrKF)”的概念试图在信息系统领域进行类似的转变:特别是要转变软件和相关无形产品的生产以从中受益...

    PrimeFaces教程(中文)

    内容截取: 什么是PrimeFaces?...PrimeFaces由Prime技术维护,它是一个Turkish软件开发公司,专门从事敏捷咨询,企业Java和外包软件开发服务。项目由Çağatay Çivici领导,他是一个JSF专家组成员。

    异地分布式敏捷软件开发探讨分析

    异地分布式软件开发不同于外包,它建立在平等关系的两个团队之间。通常是一个公司的不同分公司或办公室间的协作,他们之间大多不存在博弈的合同关系。而外包是指一个公司将其软件系统的开发委托给另一个公司或组织...

    【Axure资源】产品需求文档PRD模板(v1.4)附赠用户故事规范

    对于外包项目或投标项目,还需要在产品概述处增加产品介绍、受众群体分析 模板页数:共20页 兼容软件:Axure RP 8/9 应用领域:敏捷开发团队 模板预览:https://u.pmdaniu.com/73YQ1 详细介绍:...

    软件工程综合训练.docx

    软件外包类:按软件开发阶段分阶段的部分工作外包完成。 测试人员和文档人员职责? 测试人员职责: (1)为项目制定测试计划,并按得到批准的计划开展活动; (2)为项目编写集成测试及系统测试用例,并执行软件...

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

    在这样的情况下,流向新兴市场国家的外包软件开发(离岸开发)的趋势开始增强。经济驱动力并不是造成这种趋势的唯一动力。最近由通信基础结构的进步所带来的迅猛增长也发挥了重要作用。无论是传统的分布式团队还是...

    H3C安仔运维充电站技术参考资料汇总集.rar

    02 IT服务外包转型之路探讨 03 企业级AIOps实施建议白皮书 04 IT运维自动化的过去、现在和将来 05 IPv6智能运维管理的探索与实践 06 基于机器学习的KPI异常检测 07 网络自动化向智能化运维演进之路 08 基于...

    恒丰银行金融云介绍.pptx

    * 运营方式:自营 / 托管(给大行) / 外包 * 环境规模:几百到几万( OS 数量) * 监管要求:两地三中心、等保 银行业 IT 云转型痛点: * 成本中心,资源浪费(向用者付费模式转型) * 机制体系,太成熟(部门多...

    java版商城源码下载-GoMybatisMall:Mallmacroserviceproject,basedGoMybatisandGola

    非常适合需要快速敏捷业务开发的(哪怕是需求变化快速的外包后台项目,基于它 改起来 也是游刃有余),执行异常快速,适合低功耗电脑(例如笔记本),go本身写test和benchamrk简单,利于测试,压测 查看此项目源码的...

Global site tag (gtag.js) - Google Analytics