写点什么

为什么 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:442732

评论

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

甲方日常 20

句子

工作 随笔杂谈 日常 Java 25 周年

第7周的总结

Vincent

极客时间 极客大学

众盟科技2020智能化白皮书:穿越新商业周期,读懂商业智能化的真义

脑极体

网站日志分析最完整实践

MySQL从删库到跑路

oeasy 教您玩转 linux 010400 总结 summary

o

第2周

Geek_fabd84

架构师训练营第 1 期 第 1 周作业

李循律

救人于无形的“环境智能”,到底是一种什么智能?

脑极体

判断一个请求是否是Ajax异步请求

麦洛

ajax

架构师训练营 - 第 2 周课后作业(1 期)

阿甘

响应式编程到底是什么?

博文视点Broadview

Java 响应式 响应式编程 reactor 并发

第6周作业

方堃

分布式高并发下Actor模型如此优秀

架构师修行之路

系统设计 reactor 高并发

LeetCode题解:145. 二叉树的后序遍历,递归,JavaScript,详细注释

Lee Chen

大前端 LeetCode

一夜爆火,只因阿里内部作为参考的SpringBoot巅峰之作git开源

小Q

Java 架构 面试 微服务 springboot

架构师训练营第 1 期 -week2

习习

架构师训练营 - 第 2 周学习总结(1 期)

阿甘

看动画学算法之:排序-count排序

程序那些事

动画 看动画学算法 看动画学数据结构 count排序

“大数据+区块链”的智慧城市建设!

CECBC

区块链 大数据

c++杂谈-1

菜鸟小sailor 🐕

c++

船长梁晓玲的猎鹰号真的能赚钱嘛?不分析不知道……

成周

心理学 船长梁晓玲 诈骗

微前端qiankun从搭建到部署的实践

fengxianqi

大前端 微应用

添加字幕哪个视频剪辑软件比较简单?

奈奈的杂社

视频创作 视频剪辑 视频后期 自媒体 后期字幕

一个草根的日常杂碎(9月22日)

刘新吾

生活 随笔 记录

第7周作业

Vincent

极客时间 极客大学

Redis 发布订阅,小功能大用处,真没那么废材!

楼下小黑哥

Java redis spring

时空碰撞优化系列·二

誓约·追光者

hive Sparksql 计算效率 优化

高并发下为什么更喜欢进程内缓存

架构师修行之路

缓存 架构设计

架构师训练营 1 期第 2 周:框架设计 - 作业

piercebn

极客大学架构师训练营

Spring系列之新注解配置+Spring集成junit+注解注入

Java spring 微服务 架构师

超越色彩的魅力:读《黑白适界》

北风

艺术 摄影 黑白 摄影征文 画册

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