写点什么

为什么 BDD 可以拯救敏捷

  • 2015-03-17
  • 本文字数:904 字

    阅读完需:约 3 分钟

在 2015 年 QCon 伦敦大会上, Cucumber Ltd 创始人 Matt Wynne 讲述了 BDD 如何利用敏捷在团队作战的优点解决缺乏预见性、沟通和质量这些常见问题的。

在与一些需要帮助的公司一起工作中,Wynne 发现他们经常会受困到上述问题之中,因为他们误解了成为敏捷、达到敏捷和某些像货物崇拜形式的敏捷实践的区别。

为了抚平常见的痛点,Wynne 提议找回那些最终丢失的敏捷特性。当团队开始将软件以组件为单位构建时,预见性就会增加;当团队在每天的基本事务中都有合作时,沟通就会更好;当技术规范能被贯彻时,质量就会提高。

接着,Wynne 从其自身角度解释了为什么 BDD 可以做到这点。

维基百科上说,

“行为驱动开发(BDD)是从测试驱动开发(TDD)中产生的软件开发过程。行为驱动开发结合了 TDD 的一般方法和原则,使用领域驱动设计和面向对象的分析和设计思路,为软件开发和管理团队提供共享工具和软件开发合作的共享过程。”

Wynne 专注于他自己对使用者预期行为上的定义。

“BDD 实践者使用对话、具体实例以及自动化测试,探索、发现、定义并得到预期的软件行为。”

他使用不确定性的锥图展示了该如何从不确定性最大的探索阶段出发,获得尽可能多的确定性。Wynne 祭出了探索之旅的三大法宝:对话、具体实例和测试驱动开发。

对话很重要,因为软件是人做出来给人用的。每个人都有一个独特的视角,而每个视角都很重要。有一种技术叫发现工场(discovery workshop),可以用来加强对话,每个用户故事都有一个“锵锵三人行(three amigos)”工场来发现场景。

具体实例很重要,让人们觉得合乎情理,具体实例植根于问题领域,有利于构建通用语言和分享事实的起源。

测试驱动开发是必选的,因为自动化测试是警示灯,不要忘记倾听测试在说什么。

Wynne 在演讲的最后出于某种原因追溯了 TDD 的根源:

“夫无代码整洁之道,岂可保持敏捷;

若无重构,焉有代码整洁之道;

然非自动化测试,何有重构哉”

查看英文原文: http://www.infoq.com/news/2015/03/bdd-save-agile


感谢夏雪对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2015-03-17 00:442615

评论

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

编程太难学?你可能还没试过这个神器

代码生成器研究

Databend 开源周报第 121 期

Databend

解锁 ElasticJob 云原生实践的难题

宋小生

Redis 慢操作

zurhan

Programming Abstractions in C阅读笔记:p197-p201

codists

芯片国产替代发展得怎么样了?

IC男奋斗史

华为 芯片 校园招聘 国产替代 中芯国际

华为云耀云服务器L实例助力小程序开发的成本与效率之选

轶天下事

Autoscaler 中 VPA 的设计与实现

Greptime 格睿科技

k8s 时序数据库

企业为什么需要进行敏捷开发培训?有哪些好处?

顿顿顿

敏捷开发 敏捷项目管理 scrum培训 敏捷培训

新形势下,2024年企业数字化转型该如何进行?

优秀

数字化转型 企业数字化转型

华为云耀云服务器L实例助你轻松搭建个人网站

轶天下事

Java 学习之路

玄兴梦影

Java 编程

想要更高的压缩率?一文带你深入了解 TDengine TSZ 压缩算法

TDengine

tdengine 时序数据库

Redis - AOF 日志

zurhan

数据同步:主从如何实现数据一致性

zurhan

Java 对象的内存布局

zurhan

企业数字化浪潮来袭,华为云耀云服务器L实例打造中小企业

轶天下事

细微之处决定胜败:从云厂商事故报告中学习经验教训

WuKongCoder

云计算 腾讯云 阿里云 华为云 AWS云

竞放数字力量,释放无限潜能!

天翼云开发者社区

云计算 大数据 IDC

性能调优五步法

天翼云开发者社区

Linux 性能优化

卓越性能下的华为云耀云服务器L实例:小程序竞争中的利器

轶天下事

数字经济时代:城市到底如何演绎?产业将何去何从?

平平无奇爱好科技

华为云助力中小企业应对挑战:云耀L实例在跨境电商的应用探析

轶天下事

解放你的双手,让 ChatGPT 来帮你完成 Jenkins 到极狐GitLab CI 的迁移

极狐GitLab

ci DevOps jenkins openai ChatGPT

CORS跨域问题

zurhan

RWA+AI 叙事下的 ProsperEx,对 Web3 时代交易的重新定义

股市老人

轻松搭建,轻松上云——华为云耀云服务器L实例助力小程序开发

轶天下事

SQL FULL OUTER JOIN 关键字:左右表中所有记录的全连接解析

小万哥

MySQL 数据库 程序员 sql 后端开发

SocialFi 和 GameFi 的碰撞 — Socrates 构建新的 Web3 流量入口

股市老人

为什么BDD可以拯救敏捷_研发效能_Rui Miguel Ferreira_InfoQ精选文章