Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >远程项目交付的敏捷管理

远程项目交付的敏捷管理

原创
作者头像
用户10443079
修改于 2023-03-22 05:38:36
修改于 2023-03-22 05:38:36
9370
举报
文章被收录于专栏:测试技术干活测试技术干活

对于日益重要的国际化市场,越来越多的离岸项目(内包或外包)在进行中,即需求方/客户在A地,开发团队在B地甚至海外。这种情形下,常见的敏捷实践活动也都是适用的。敏捷和精益关注的是价值观和原则。价值观也是文化的一部分,因此需要和离岸团队交谈并学习如何共同工作才能建立。本文内容也适用于任何远程项目的敏捷管理。

对于远程项目,关键的不足在于缺少致力于理解和应用敏捷价值观的利益相关方(即客户和管理层),因此,我们要教导真正客户和真正开发者之间通过反馈循环进行紧密而持续的协作。所有利益相关方的思维模式和行为要为了敏捷而改变。

客户的期望

销售人员可能会给新客户不切实际的许诺,但却不关心采用Scrum所需的行为改变。建议和远程团队一起,准备一个清晰简单的指南,请销售人员和潜在用户阅读。

传统理念的客户不太习惯与实际开发人员对话,而宁可和一个中间人(项目经理)对话,客户认为只要移交了规格说明,那么在项目结束时就能得到一个好系统。

因此,当我们和新客户开始新项目时,尝试进行一天的“远程敏捷”研讨会吧。在这个会议上,像客户分享敏捷开发的基本理念,探讨如何降低各种生产中的浪费,演示一个Scrum发布周期的过程。

邀请客户去远程团队所在地GoSee(实地查看),让他和开发及测试工程师建立直接联系,并明晰产品负责人的角色职责。

开发团队与客户的互动

远程团队和真正客户之间如果有中间代表,那他应该是牵线搭桥的角色,鼓励双方直接会面,互相拜访或者视频通话。邀请客户参加迭代计划会议,迭代评审和回顾会议,或远程需求研讨会。对于跨国项目,公司甚至可以雇佣翻译,克服双方沟通上的困难。

远程外包一个普遍的毛病是客户看不到真正的问题,所以通过邀请客户参加一次迭代回顾会议对增加信心会有帮助。我们也鼓励让远程团队部分成员出差到客户所在地,完成一个到几个迭代。

如果可能的话,说服客户找到更好的产品负责人,他应该更接近用户,但并非客户IT部门内的人员,积极接受Scrum培训。

远程敏捷开发需要各方之间大量持续沟通,因此要特别确认对方的回答,不同国家的回答可能含义不同。建议提出开放式问题,或者让对方反向提问。

将需求外包给远程团队

远程外包团队可以突然被要求开发自己不熟悉的系统,就会面临“知识转移”问题,尤其面临文化、时区和语言的不同,这个问题挑战更严峻。

通常的传统做法是派人去客户那里出差,写需求,成为业务主题专家(SME)。事后发现这些SME可能成为了研发瓶颈。每个迭代的详细需求从客户发到远程团队,都依赖SME的仔细阅读。

因此,我们建议每次迭代都召开一次远程需求研讨会。整个团队一起消化需求材料,同时用白板进行问题说明和大量交谈,将争议点记录到共享WIKI上供客户侧阅读,然后两边团队举行视频会议审查争论点并把结论在线更新。这个需求研讨会也是产品代办事项清单提炼的一部分,以此方式把交接浪费降低。

远程团队还可以为新接触的大型系统,在首次迭代前组织一场“产品愿景研讨会”,先创建业务领域视图,建立共同的概念和词汇,然后认知产品未来的愿景宏图和主要特性。

发给远程团队的需求文档也不是越详细越好,而是在迭代回顾会议上确认用户故事的细节程度是否满足要求,灵活适应。详细文档并不能替代面对面交流。

还有一个技巧是,请客户方的UI设计师尽早地(最好每次迭代)制作UI原型图,或者通过视频通话共同创造UI,以尽量扩充交流的可能。

从一开始就安排验收测试用例来表达需求,对于远程短期外包项目有特殊的好处。明确客户的验收测试用例UAT,如果每个用户故事完成后,客户都能进行手工UAT,可以进一步成批地降低工作量。

稳定的远程Scrum团队

管理层需要意识到尽量把团队保留在一起的价值,不管是长项目还是短项目,理想情况下长期稳定的团队有利于保障交付和学习。但在特殊情况下可以组建新团队,比如领域专家分散在公司不同部门,或稳定团队的提升趋势缓慢。

鼓励远程团队说“不”,这是自组织团队的自我赋权,改变过度承诺,获得个人安全感。Scrum的原则之一是工作不能强加给团队

建立长期的敏捷指导中心团队,为远程团队引入外部可以充当感染源的敏捷指导专家,给新人分配经验丰富的伙伴。

健康的合作关系

避免“本地管理,离岸开发”的模式,这是差劲的泰勒主义形式,和精益敏捷开发实践违背。不要把单职能或组件外包出去,而是可以外包一整套以客户为中心的完整特性。绝大多数工作都由外包方承担,除了接近真正客户的本地团队帮助进行详细的需求分析。

把远程外包团队当内部伙伴来对待,出现问题时拜访合作伙伴并寻找根本原因,要实地查看,而不是盲目遵循所谓的“质量准则”来兴师问罪。

在远程团队和本地团队中不偏爱一方。比如多地点会议时不要总安排远程(离岸)团队不方便的时候,不要忽视离岸团队的假日。

远程外包团队可能是经验不丰富的年轻人,如果我们采取本地经验丰富的专家来做设计,指挥远程团队将其编码实现,那么就会带来大量的交接和转移浪费,更多的规范,以及更糟糕的代码。因此,我们要反过来,尝试让本地丰富经验的“设计师”充当指导和审阅者角色,让远程团队采取小幅度的创造性编码和设计。本地老手带异地新手,充分利用共享桌面的结对编程,短周期代码评审。

基于敏捷来甄选外包公司

外包公司有可能号称自己支持各种敏捷研发模式,实际上将其变异成自己能够重新定义,控制的东西,兜售逐利的商业工具,但是有些敏捷原则可能在该外包公司根本无法支持。

在头重脚轻的外包公司中,资深的人做为管理者积极强化传统管理,“控制”经验少的年轻群体,形成“假冒敏捷”的组织。因此,要亲身Go See外包公司的程序员,看他们的才能是否匹配一个自组织团队的高要求。警惕外包公司仅仅以“擅长编程”来招聘员工,而是观察员工的编程质量,以及结对工作时的表现。

而这些外包公司的环境布置可能也和敏捷倡导的背道而驰,需要进行互动可视化和创造力的改造。

把编码和测试工作比喻成“工厂”的外包公司,没有理解反馈循环的意义,“工厂”强化了长队列上的大批量工作,把“半成品”交付给其他团队。

大型外包公司和工程师才能似乎有反向关系。大型公司的管理者距离实际工作更远,也不指导他人,缺乏对优良设计和卓越技术的持续关注。

如果你选定了一家外包公司,就要鼓励他们和你一起采用精益和敏捷,共同提升。

结论

某些尝试过远程交付,而且还是跨国外包交付的人,可能感到泄气,感到项目浪费巨大。敏捷的远程开发,不仅意味着远程团队要采用Scrum框架,也要求这个团队和本地客户的关系发生变化。即:建立更直接更人性化的联系,移除中介角色,频繁使用视频或者出差,采用丰田精益理论的GoSee实地查看远程团队的工作和代码。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
敏捷实践指南
2 敏捷概述 《敏捷宣言》及思维模式 价值观的十二大原则 我们的最高目标是,通过尽早持续交付有价值的软件来满足客户的需求 欢迎对需求提出变更 ,即使在项目开发后期也不例外。敏捷过程要关于利用需求变更 ,帮助客户获得竞争优势 要经常交付可用的软件,周期从几周到几个月不等,且越短越好 项目实施过程中,业务人员与开发人员必须始终通力协作 要善于激励项目人员,给予他们所需的环境和支持,并相信他们能够完成任务 无论是对开发团队还是团队内部,信息传达最有效的方法都是面对面的交谈 可用的软件是衡量进度的首要衡量标准 敏捷
yeedomliu
2021/03/16
1.4K0
敏捷实践指南
PMI-ACP 敏捷项目管理——模拟试题4
1、在第五次sprint审查期间,团队获得产品负责人对所有功能的签署同意。但是,产品负责人注意到在第二次sprint期间开发和验收两个功能不能正常工作。随着新功能的开发,在之前开发的功能中,故障出现越来越频繁。若要控制这个问题,事先应该怎么做? A Scrum 主管谴责团队 B 在下一次Sprint期间,团队应该在开始任何新功能之前解决所有问题 C 应该包含自动化测试。作为已完成定义的一部分,以便能够不断测试新功能。 D 在回顾会上。团队应找出为导致这些故障的开发人员
隔壁老李头
2018/08/30
3.6K0
PMI-ACP 敏捷项目管理——模拟试题4
敏捷 | 如何正确理解敏捷?
在过去的五年时间里,我所在的公司和团队一直使用的都是敏捷开发模式,我也在2018年底获取了Scrum联盟的CSM认证,对于敏捷的理解也是从最初的感性认识到现在的理性认识。今天开始和你一起重新温习敏捷,先来正确理解一下敏捷吧。
Edison Zhou
2020/12/25
8530
敏捷 | 如何正确理解敏捷?
【敏捷1.2】敏捷宣言的官方解释:12条敏捷原则
上一篇文章中说到的敏捷宣言,可以说是整个敏捷体系中最精髓的部分了。说实话,不仅你觉得,我也觉得这四句话有点太简单,太抽象了。难道真正的敏捷只是遵循这四句话就可以了吗?不要 too young too simple 了。
硬核项目经理
2023/03/09
6910
【敏捷1.2】敏捷宣言的官方解释:12条敏捷原则
敏捷开发团队不可或缺的项目管理工具
很多软件企业随着业务发展,出现了诸多研发问题,如产品交付延期,研发加班,产品故障率高,测试压力大,客户满意度低。这些问题更多是提升研发效能不得当所致。软件研发是一个复杂的系统工程,效能提高也就需要系统化端到端地思考,需要从多方面入手。研发流程优化,做好每个环节,做好环节与环节的衔接,助力提效。在敏捷和精益的推动下,很多软件研发项目只是望文生义,只学到了“速度”,提出了快速迭代,快速交付,忽略了做好每个环节才是提效的根本。
初级项目管理学习者
2022/07/28
4670
ThoughtWorks的敏捷开发 | 洞见
ThoughtWorks的敏捷开发方法一直是一种神秘存在。在敏捷开发还没有主流化的年代,为了让外界理解ThoughtWorks全球团队怎么做敏捷,我们商定了一个“60% Scrum + 40% XP”的经典答案。当然其实ThoughtWorks的敏捷开发既不是Scrum,也不是XP。
ThoughtWorks
2018/08/03
1.2K0
ThoughtWorks的敏捷开发 | 洞见
中国台湾资深老专家:你实施敏捷的路子对吗?
作者简介: Ruddy Lee(李智桦)老师,DevOpsDays北京站金牌讲师,中国台湾著名精益布道师,敏捷专家,著有《精益开发与看板方法 》。 中国台湾敏捷大师李智桦老师手把手教你
DevOps时代
2018/02/02
9720
中国台湾资深老专家:你实施敏捷的路子对吗?
敏捷软件开发-规模化敏捷框架(SAFe)
SAFe ® for Lean Enterprises 是一个知识库,其中包含使用精益、敏捷和 DevOps 实现业务敏捷性的经过验证的集成原则、实践和能力。
学习中心
2023/03/28
2K0
通过Scrum实现最大生产力的五种方法
在数字化、信息化、智能化蓬勃发展的今天,敏捷开发和Scrum已成为重塑项目管理的重要方式。
敏捷开发
2023/11/21
2260
通过Scrum实现最大生产力的五种方法
敏捷开发:拥抱变化,持续交付价值的艺术
在快速变化的技术和市场环境中,软件开发项目面临着前所未有的挑战。传统的瀑布模型,尽管在某些情况下仍然有效,但往往因为其僵化和缺乏灵活性而受到批评。敏捷开发,作为一种新兴的软件开发方法论,应运而生,旨在解决这些问题,提供一种更加灵活、响应快速的开发方式。
正在走向自律
2024/12/18
1880
敏捷开发:拥抱变化,持续交付价值的艺术
(五)敏捷方法(实践)有哪些?
“敏捷方法”是一个囊括了各种框架和方法的涵盖性术语,它指的是符合《敏捷宣言》价值观和原则的任何方法、技术、框架、手段或实践。
砖家认证
2019/12/17
5.8K0
(五)敏捷方法(实践)有哪些?
除了敏捷你还知道啥?说说软件开发的10种主流方法
1、敏捷开发 2001年,17位软件开发人员签署了敏捷宣言(Agile Manifesto),因此载入史册。自那以后,敏捷软件开发迅速流行起来;实际上,在2015年弗雷斯特调研公司的一份报告中,54%的受访企业表示,其内部一半以上的开发团队在使用敏捷方法。敏捷理念基于12个核心原则,这些原则注重简短迭代、持续交付、简洁性、回顾以及最终用户和开发人员之间的协作。 2、Scrum 敏捷软件开发有多种版本,Scrum是最受欢迎的版本之一,接受《2015年敏捷现状》报告调查的受访者中70%表示,他们采用Scru
企鹅号小编
2018/01/29
1.9K0
相较于Scrum, 我更推崇精益Kanban,帮助团队建立价值交付流,识别瓶颈问题
Agile是一套理论和原则,就像天边的北极星。Devops是一种软件开发和运维团队间自动化和集成过程的方法。当实现Agile和Devops方法时,Kanban和Scrum提供了管理这些复杂工作的不同的实践。 简单来说,Kanban和Scrum是进行敏捷开发或项目管理工作的两个不同的策略或者方法论。
DevOps在路上
2023/08/29
6010
相较于Scrum, 我更推崇精益Kanban,帮助团队建立价值交付流,识别瓶颈问题
从敏捷转型到精益企业 | TW商业洞见
科技即商业 TECHNOLOGY IS BUSINESS 数字化大时代下传统企业面临着种种挑战:效率永远跟不上市场业务需求,质量总是修修补补过日子,协同在部门墙面前无从谈起。很多企业结识了「敏捷」,开始尝试用敏捷组织转型来应对这些问题。2008年我在国内接到了第一个敏捷转型项目,一转眼八年过去了。尽管在这个领域里,持续交付(Continuous Delivery)、开发自运维(DevOps)、规模化敏捷框架等一系列新概念如雨后春笋般冒出来,但敏捷宣言没变,敏捷核心实践没变,敏捷咨询好像也没有太大变化。最近在
ThoughtWorks
2018/04/20
9810
从敏捷转型到精益企业 | TW商业洞见
【敏捷3.4】增量交付与敏捷合同
在学习了评估价值和为需求排定价值优先级的一些方法之后,我们接下来就看看在迭代或者冲刺中应该注意些什么才能不枉费之前的努力。毕竟前期花了那么大的精力,但是迭代冲刺之后却提交了一个没什么价值的产品,那可不是所有人愿意看到的结果。如果把之前的操作都看作是计划的话,那么敏捷最主要解决的就是一个 计划赶不上变化 的问题。我们拥抱变化,前提是这些变化确实是对客户有价值的。
硬核项目经理
2023/03/03
3240
【敏捷3.4】增量交付与敏捷合同
敏捷软件开发简述
前言:由于我读了邹欣老师的《构建之法:现代软件工程(第二版)》,因此对敏捷软件开发有了比较大的兴趣。于是我在网上找了一些论文,比如Requirements Engineering and Agile Software Development、A decade of agile methodologies: Towards explaining agile software development。在读了这些论文之后,对敏捷软件开发有了大致的了解。这篇博文主要是简单介绍敏捷软件开发,重点集中在主要的敏捷开发方法和它的优势,同时也作为一个备忘录,来记录我在这个过程中收获到的重要的知识。
庞小明
2018/09/19
1.5K0
敏捷软件开发简述
什么是敏捷框架 Scrum 中的 “3355”?
接触过敏捷的我们,一定对Scrum都不陌生,Scrum是众多轻量级敏捷框架中应用最广泛的一种。
DevOps时代
2019/03/08
10.4K0
什么是敏捷框架 Scrum 中的 “3355”?
深入核心的敏捷开发
如何破局? 正如《管理3.0:培养和提升敏捷领导力》所说,所有变革最后的失败都是管理的问题。应该把绩效考核这种管理手段当成『敏捷铁三角』中一角来对待,那就是调整约束
yeedomliu
2021/03/16
1.3K0
深入核心的敏捷开发
什么是敏捷软件开发?
Scrum是一个框架,在这个框架中,人们可以解决复杂的适应性问题,同时高效、创造性地交付最高价值的产品。它用于管理软件项目、产品或应用程序开发。它的重点是自适应产品开发策略,其中跨职能团队作为一个单位,在2-4周内(Sprint)达到一个共同的目标。它由价值、工件、角色、仪式、规则和最佳实践组成。
增强现实核心技术产业联盟
2020/06/12
1.4K0
什么是敏捷软件开发?
能带不同类型的团队,才能叫“敏捷教练”
敏捷教练是一个职业。Scrum Master 和敏捷教练是同一职业的不同阶段。当一个人能带好一个 Scrum 团队时,他是一个 Scrum Master。当他能带各种不同类型的团队,并持续追求更好,他就是一个敏捷教练。
CSDN技术头条
2018/07/30
1.6K1
能带不同类型的团队,才能叫“敏捷教练”
推荐阅读
相关推荐
敏捷实践指南
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文