写点什么

如何实现分布式开发

  • 2017-04-09
  • 本文字数:2359 字

    阅读完需:约 8 分钟

良好的分布式开发依赖于有效的沟通:Abby Bangser 和 Bhagya Perera 解释说, 在各式各样的沟通过程中,需要寻找到正确的方法实现高效和可靠。要建立相互之间的共鸣,鼓励及时地反馈,并关注大家的积极性。让团队成员更有参与感和创造性,从最初的想法到完整交付出产品的过程中,都要让分布式团队共同承担所有权和责任。

ThoughtWorks 的质量分析师 Abby Bangser 和里德商业信息公司的高级分析师 Bhagya Perera,在 2017 年欧洲测试会议中谈到了洞察分布式开发。InfoQ 工作之一就是负责推荐会议问答、内容总结和文章汇总。

InfoQ 采访了 Abby Bangser 和 Bhagya Perera,邀请他们谈谈分布式开发中的一些问题,例如有哪些主要挑战,组织应该如何应对这些挑战,如何提高分布式团队之间协作和沟通,分布式工作是如何影响团队的,以及如何利用现场和远程测试各自带来的好处等等。

InfoQ:分布式开发的主要挑战是什么?

Bhagya Perera:沟通绝对是首要的。在需要讨论时,团队往往会“忘记”或“忽视”沟通,这可能会导致工作混淆,甚至失去动力。文化差异、时区不同、工具不同很大程度也会导致这个问题发生。举一个典型的例子,出于对安全规则的考虑,在关联不同特定领域的过程中,我们也会碰到这样的挑战。

Abby Bangser : 我同意沟通是其他挑战的基础。不能面对面建立互信关系,确实是真正的挑战,会带来合作的不便。还要补充一点,关注那些和业务不在一起的团队的动力是重要的。给他们指派“容易的”工作(往往并不容易)其实是一个陷阱,最后可能真的导致失去动力。

InfoQ:组织如何应对这些挑战?

Bangser:像其他事物一样,意识到挑战并进行公开讨论是第一步。我发现,从最初想法到最后产出的过程中,如果每个团队成员都拥有完整交付产品的所有权和责任,在解决沟通问题时,他们会更投入并更有创造性。要做到这一点,简便的方法就是用特征而不是活动来拆分工作。

Perera:分布式的成功主要取决于团队间是否愿意进行更多的沟通。不仅沟通日常工作,还需要检查基本的需求,比如连通性、沟通明晰、甚至需求讨论以及不同团队之间的工作评估。要建立相互之间的共鸣,这能鼓励远距离的团队积极进行反馈,也意味着能指出问题同时积极解决问题。

InfoQ:对分布式团队有什么可以提高沟通和协作的建议?

Perera:识别团队的沟通问题是一个好的开始。用开放的心态,并带着解决它的意图来讨论问题。更好地了解团队,了解他们的文化和背景。不管是负面的还是正面的反馈,要学习如何传达。建立共鸣、分享利益,建立工作以外的关系,这有助于树立信任。如果你开始听进去这些建议,其实有很多事情可以做。

Bangser:首先,我会从明确你的现场团队成员之间有什么不同的沟通类型开始。可能有正式的围绕预期的会议,有非正式的头脑风暴、白板会议,或者昨天晚上你做了什么之类的社交性玩笑,也许还有别的什么。然后我会建议考虑下如何不在同一个办公室与团队成员沟通。你可能会发现,所使用的沟通方式都已被包括其中,而他们几乎都围绕在正式的会议类型中(也许还有一些非正式的在线聊天)。增加其他沟通方式的方法是找到支持它们的工具,也许在视频会议中用额外的相机对着白板,也许在“喝咖啡的休息时间”用聊天工具说说每天的笑话或搞个小测验。总之要寻找各种方法,就像在现场一样,在跨越不同的地点进行高效可靠和多样化的沟通。

InfoQ:对于分布式团队来说,哪些开发活动最受影响?

Perera:我个人认为,任何移交到分布式团队的活动(不仅仅是测试),都会带来额外的复杂性。在第一个问题中讨论的所有挑战都将升级,分布式团队会感觉到受冷落。分布式团队要求主动分享信息,但如果项目只发生在一个地方,信息的可用性会让团队运行得更加顺畅。特别对于团队内的隐性知识,成功的分布式团队会鼓励更多的文档工作、更多的讨论和更多的依赖。而这一切,都取决于有效沟通。

Bangser:虽然跨时区、口音和文化的沟通很具挑战性,但我个人并不总是觉得它有多么困难。我所参与的一些分布式团队已经做得很完美,通过很多直观的事例、经常使用并保持更新的文档,以及非常积极的意识来分享每天的成功和挑战,他们能识别和纠正沟通的差距。“走廊谈话”是深受分布式协作负面影响的沟通方式,通过随机的交谈(尤里卡时刻)或许能够让人豁然开朗,但这种效果难以复制。所以我希望有一个更好的解决方案,来支持上面那些良好的习惯。

InfoQ:我们如何能够利用现场和远程测试各自的好处?

Perera:我希望看到分布式团队成员成为一个整体,它本该如此。复杂性随着现场和分布式团队的分离就开始了,而多样性总是带来不同的经验和想法,这会让产品成功。时区的差异和语言的差异会让大家都觉得沮丧,还会影响整体的质量。我个人很喜欢分布式测试,因为远程团队往往有丰富的经验。他们可以在不同的客户之间轮换工作,这意味着他们接触到的问题、技术和流程,我们都可以借鉴。现场测试人员也有优势,他们能与那些间接为产品做贡献的人,以及与带来不同测试理念的人建立良好的对话。

Bangser:如果我们把测试定义为对一个产品新的理解,显然有利于重视现场和分布式团队成员的投入。我更喜欢看到一群能容易沟通的人可以对整体特征进行分析、设计、实施和验证,就像在同一个地方工作的团队那样。如果你发现自己处于一个根据活动来拆分(在一个地方开发,在另一个地方测试)的团队中,我会建议先明确团队看重哪些基于质量的活动并打算利用它们,根据谁会在这些活动中取得最大的成功来进行划分。分布式团队成员也许没有参与过新功能的所有决定,让他们来进行“黑盒”风格的测试,将会非常有价值。

查看英文原文 Making Distributed Development Work


感谢薛命灯对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-04-09 19:004315
用户头像

发布了 43 篇内容, 共 36.4 次阅读, 收获喜欢 136 次。

关注

评论

发布
暂无评论
发现更多内容

品牌出海本地化深度:产品适配与文化洞察的方法论

Wolink

跨境贸易 外贸独立站 品牌出海 海外红人营销 品牌推广

Apache DolphinScheduler VS. Crontab、Airflow:效率对比实测

白鲸开源

开源 crontab Apache DolphinScheduler airflow 任务调度平台

告别误判:基于n8n构建你的AI输出安全测试护盾

测吧(北京)科技有限公司

AI 知识加工平台:你的智能 “知识管家” 是怎么干活的?

上海拔俗

KOL营销危机管理:如何预防和处理合作风险

Wolink

跨境电商 kol推广 海外社媒营销 海外营销推广 海外红人营销

如何打破协作僵局,让团队效率翻倍?

axe

项目管理工具 办公软件 敏捷开发工具

为什么实时同步 UPDATE 要两条记录?Apache SeaTunnel 全链路拆解

白鲸开源

数据库 数据同步 Apache SeaTunnel Apache Iceberg CDC同步

KaiwuDB X 向明智控:基于 KaiwuDB 的煤矿综采数据分析系统

KaiwuDB

数据库 KaiwuDB 分布式多模数据库

品牌出海供应链重构:全球分布式供应链的布局与管理

Wolink

出海 海外营销推广 品牌出海 海外红人营销 品牌推广

不只是问数:如何利用 Aloudata Agent 的“智能报告”功能,生成周报、月报?

Aloudata

数据分析 AIAgent ChatBI 智能问数 智能报告

粗心大意必酿大祸,记录nginx配置文件的一次闹剧

BugShare

nginx 运维 https

全流程实操指南:一文读懂域名注册、备案与解析流程和常见问题

防火墙后吃泡面

区块链 DApp 外包开发周期

北京木奇移动技术有限公司

dapp开发 区块链开发 软件外包公司

离线环境 0 基础 10 分钟部署高可用 K8s?这个工具太强了!

北京好雨科技有限公司

容器 云原生 #Kubernetes# rainbond 企业号12月PK榜

MaxCompute SQL AI:让SQL成为你的AI语言

阿里云大数据AI技术

人工智能 sql 大数据 阿里云 MaxCompute

内容创新突破:海外网红推广中的互动式内容创作方法论

Wolink

跨境贸易 出海服务商 海外社媒营销 海外营销推广 海外红人营销

库存越压越多、爆品越抓越难?99%的品牌都输在这 3 个企划陷阱!

第七在线

深度探索:EKS MCP Server 与 Amazon Q Developer CLI 集成实践

亚马逊云科技 (Amazon Web Services)

人工智能

为什么国内许多著名开源项目经常虎头蛇尾?

禅道项目管理

开源 软件开发 开源软件 项目管理软件

如何从Ingress NGINX无缝迁移到OpenNJet KIC

通明湖

海外网红推广团队搭建:从零组建专业团队的完整蓝图

Wolink

跨境贸易 出海企业 海外社媒营销 海外营销推广 海外红人营销

Karmada v1.16 版本发布!支持多模板工作负载调度

华为云原生团队

云计算 容器 云原生 Karmada

如何基于Docker集群组网模式来部署Kuscia?

隐语SecretFlow

还在用 Nginx Ingress?这份阿里云迁移实操指南,让你无缝切换,功能升级!

阿里巴巴云原生

阿里云 云原生 Nginx Ingress

品牌出海价值评估:全球化品牌资产的计算模型与方法

Wolink

跨境电商 海外社媒营销 海外营销推广 品牌出海 海外红人营销

知识图谱和大模型哪个才是大方向?

测吧(北京)科技有限公司

全面对比:Apache SeaTunnel VS. DataX、Flink CDC 和 Talend 谁更强?

白鲸开源

开源 数据同步 DataX Apache SeaTunnel Flink CDC

GSoC 学生太强了!印度开发者为 DolphinScheduler 做出的 OIDC 升级内幕

白鲸开源

开源 开发者 Google Apache DolphinScheduler GSoc

华为擎云成功举办HarmonyOS 6 MDM交流会,加速鸿蒙生态商用布局

极客天地

数据驱动的海外平台推广:构建自动化效果监控体系

Wolink

跨境贸易 出海服务商 海外社媒营销 海外营销推广 海外红人营销

海外网红营销服务公司创新模式:基于AI的网红匹配算法解析

Wolink

跨境电商 出海服务商 海外社媒营销 海外营销推广 海外红人营销

如何实现分布式开发_软件工程_Ben Linders_InfoQ精选文章