报名参加CloudWeGo黑客松,奖金直推双丰收! 了解详情
写点什么

BDD 怎样帮助你解决沟通问题并增进协作

  • 2015-05-10
  • 本文字数:1630 字

    阅读完需:约 5 分钟

行为驱动开发(BDD)能够用于改善测试人员、开发者和业务人员之间的沟通。举例来说,你能够使用以 given-when-then 方式表述的场景开发测试脚本,同时定义系统的需求。在敏捷测试日荷兰2015 大会的某场演讲中,Nick van Giessel 探讨了使用BDD 改善沟通与协作的方式。

van Giessel 说道,只有当我们把软件发布到生产环境之后,才能获得它的价值。而敏捷能够帮助你将软件更快地推向生产环境,并且更早的获得反馈。如果在开发软件时,开发者和测试人员依然无法打破壁垒,那么你只是在敏捷中继续使用传统的瀑布式开发罢了。van Giessel 表示,你必须打破不同专业人员之间这堵无形的墙,让他们成为平等的团队成员,这样才能够实现真正的敏捷。

van Giessel 说道,使用 BDD 的主要目的在于让团队中的所有人达成一致的理解。他在演讲中表示可以通过不同的方式实施行为驱动开发,例如采用实例化需求方式、举办 3 Amigos 会议(又称为实例工作间)、定义验收标准或使用 given-when-then 场景等等。这些方式都需要将团队成员聚在一起,并帮助他们对这个项目进行思考。你也同样可以使用 given-when-then 场景开发自动化测试脚本。

Nick van Giessel 认为,使用同一种语言有助于帮助人们进行沟通,并更好地互相理解,这一点对于团队来说也是一样的。比如让开发者与测试人员使用 given-when-then 场景,他们就能够描述系统的行为。这些场景也可以用于设计测试脚本,并且用于定义系统的需求。

InfoQ 有幸采访了 van Giessel,内容涉及团队之间的协作以及团队和业务人员之间的协作,如何处理沟通问题,以及行为驱动开发所能产生的价值。

InfoQ:你提到让大家使用同一种语言对于团队来说是非常重要的,对于这一点你能否详细说明一下?

van Giessel:在一个 Scrum 团队中存在着各种不同的专业,例如开发者、测试人员和业务人员。人们对于问题有着不同的思考方式,这本是一件好事,但它也会导致沟通的低效。团队工作的一个必要条件是共同的理解,而行为驱动开发描述了某个客户的实际行为。因此要通过 BDD 创建一种每个人都能够理解的语言。客户始终是最重要的人,因为是他在为你的 IT 项目买单。

InfoQ:你能否举例说明一下,你曾看到敏捷团队中出现过哪些沟通方面的问题?

van Giessel:我曾经在某些团队中工作过,这些团队中不同的专业人员之间形成了一道壁垒,他们不会在整个团队之内对问题进行沟通。这种方式好像是在 Sprint 中进行瀑布式开发一样,虽然我们尝试每两周一次交付承诺的工作,但使用的方法仍然是瀑布式的。由于这种方式延迟了获取反馈的时间,因此导致软件交付的延误与出错。当发现问题与错误的实现时往往为时已晚,因而导致了更多的返工。

InfoQ:你是怎样解决这些问题的呢?

van Giessel:我们将不同团队的成员混在一起,向他们详细地介绍了 BDD。我们打破了成员之间的壁垒,在 Sprint 还没有开始之前就邀请每个人参与到会议之中,共同讨论我们的产品。这需要投入一些时间与精力,但经过几个 Sprint 后就会显出效果。这其实是一种心态,即每个人都对最终结果负责,我们都是同一专业的团队成员,而不是泾渭分明的测试人员、开发者或业务分析师。

InfoQ:你能否分享一下你对行为驱动开发的看法?你认为它的价值体现在哪里呢?

van Giessel:本质上,BDD 是一种帮助敏捷以本来面貌进行应用的方式。它的一个主要价值(对于我这个软件测试人员来说)在于在开始创建软件之前,先从测试开始设计,并思考它的业务价值。这就减少了每个 Sprint 临近结束时团队中每个人的压力,尤其是负责测试的人的压力。与其它专业的成员进行沟通让我的工作变得更为轻松,最重要的是它给我带来了更多乐趣。

Nick van Giessel 是敏捷测试日荷兰 2015 大会中 “优秀的荷兰敏捷青年才俊”这一专题的演讲者之一。InfoQ 之前也发表过这一主题中其它一些讲座的内容,包括“ Scrum Master 如何帮助团队增加敏捷性”以及“变得更透明有助于管理工作”。

查看英文原文: How BDD Has Helped to Address Communication Problems and Improve Collaboration

2015-05-10 09:582159
用户头像

发布了 428 篇内容, 共 184.9 次阅读, 收获喜欢 39 次。

关注

评论

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

万界星空科技商业开源MES系统全面解析

万界星空科技

开源 mes 开源mes 万界星空科技 mes源码

参赛故事|背水一战的机会,金蝶云苍穹助我圆保研梦

金蝶云·苍穹

开发者大赛 金蝶 金蝶云苍穹 中国软件杯

Gradio离线部署到内网,资源加载失败问题(Gradio离线部署问题解决方法)

明金同学

链游开发:TON链小游戏与其他链DApp小游戏开发指南

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 NFT开发 公链开发

掌握IT资产发现的三个步骤

ServiceDesk_Plus

IT资产 IT资产安全 IT资产管理

解密Elasticsearch:深入探究这款搜索和分析引擎

京东科技开发者

华为Mate XT 非凡大师 大屏阅读 海量好书非凡体验尽在掌握

最新动态

京东商品属性的详细api数据解析:颜色、尺寸与材质

技术冰糖葫芦

API Gateway API 接口 API 测试 pinduoduo API

《2024网络安全十大创新方向》发布,云起无垠引领新风向

云起无垠

云栖大会Day1:云应用开发平台 CAP 来了

阿里巴巴云原生

阿里云 云原生 云栖大会

RAG+Agent人工智能平台:RAGflow实现GraphRA知识库问答,打造极致多模态问答与AI编排流体验

汀丶人工智能

智能问答 rag RAGflow

第二届Apache Flink极客挑战赛冠军比赛攻略_SkyPeaceLL队

阿里云天池

华为发布智算数据中心基础设施十大建设原则

极客天地

VLDB来啦!企业上云“搭子”天翼云TeleDB数据库有话说

天翼云开发者社区

数据库 云计算 天翼云

“创新驱动·融合发展”长三角软件产业盛会“2024南京软博会”

AIOTE智博会

软件展会 软博会 南京软博会

云南大理等级保护测评机构在哪里?电话多少?

行云管家

等保 云南

java线程池使用指南

巧手打字通

Java 性能优化 线程池

TiDB 和 Flink 数据集成实战

TiDB 社区干货传送门

eggtart队比赛攻略

阿里云天池

“模”力十足!天翼云息壤一体化智算服务平台训推服务能力重磅升级!

天翼云开发者社区

云计算 大模型 天翼云

华为全联接大会2024︱鲲鹏计算产业峰会成功举办

极客天地

望繁信科技受邀出席ACS2023,为汽车行业数智化护航添翼

望繁信科技

数字化转型 流程挖掘 流程资产 流程智能 数字北极星

行业革新,数据先行:智源研究院数据与行业应用 Workshop第三期

智源研究院

【Tomcat源码分析】从零开始理解 HTTP 请求处理 (第一篇)

派大星

tomcat源码解读

Zilliz Cloud 最新功能速览:迁移服务、Fivetran Connector、多副本 Replica

Zilliz

AI 向量数据库 zilliz cloud

AI助力低代码平台:从智能化到高效交付的全新变革

天津汇柏科技有限公司

低代码 AI 人工智能

还在自己实现责任链?我建议你造轮子之前先看看这个开源项目

京东科技开发者

百度网盘企业版数据快速上云,数据流转平台 CloudFlow 加速大模型训练迭代

Baidu AICLOUD

数据迁移 百度网盘 数据流转

在k8s上部署tidb数据库

TiDB 社区干货传送门

绿色成就+1!天翼云在“新绿杯”斩获佳绩!

天翼云开发者社区

云计算 存储 天翼云

BDD怎样帮助你解决沟通问题并增进协作_Scrum_Ben Linders_InfoQ精选文章