实例化需求 (SBE)

技能范畴归属 & 历史发展脉络
🧭 技能归属:多学科交叉的结晶

SBE 是一项跨学科技能,本质上归属于软件工程,但它连接了业务与技术,因此涵盖了以下关键子范畴:

📋 需求工程
这是 SBE 的核心归属。它是一种需求获取与分析技术,将模糊的愿景转化为精确的规范。
需求澄清 消除歧义
🧪 质量保证 (QA)
SBE 的落地手段。它将"事后检验"转变为"事前预防",产出的实例直接作为自动化验收测试。
自动化测试 回归测试
🏃 敏捷与精益
SBE 的生存土壤。它是实现迭代交付的关键实践,体现了"客户协作重于合同谈判"。
Scrum/XP 持续交付
📚 知识管理
SBE 的长期价值。生成的"活文档"解决了传统文档与代码不同步的工程难题。
活文档 系统资产
🗣️ 领域驱动设计 (DDD)
SBE 的思想伙伴。两者都致力于消除业务与开发的语言隔阂,建立通用语言。
通用语言 业务建模
发展脉络:从代码到业务的回归
1970s - 1990s
史前时代:瀑布与形式化
需求与测试分离。人们尝试用数学语言(形式化方法)写需求,但因太难懂而失败。这是SBE试图解决的"痛点"时期。
1990s 末
萌芽期:XP 与 TDD
Kent Beck 提出极限编程(XP)。TDD诞生,同时提出了"客户测试 (Customer Tests)"概念——即由客户定义的验收测试,这是SBE的雏形。
2002 - 2005
工具探索期:FIT / FitNesse
Ward Cunningham 开发了 FIT,Uncle Bob 开发了 FitNesse。这是第一次试图让业务人员通过"表格"直接参与测试定义。
2006 - 2009
概念分化期:ATDD 与 BDD
分裂为两派但殊途同归:ATDD 强调验收测试;Dan North 提出 BDD(行为驱动开发),发明了Given-When-Then语法,强调通用语言。
2011 (关键节点)
集大成期:Specification by Example
Gojko Adzic 调研了全球50多个团队,统一了 ATDD、BDD 等实践,正式定名为"实例化需求 (SBE)"。从此不再纠结工具,专注于协作模式。
2012 - 至今
现代融合期:DevOps
SBE 产出的自动化测试成为 CI/CD 流水线的标准门禁。Cucumber 等工具成为行业标准,用于构建微服务和复杂业务系统。
演化路径总结
1990s: 极限编程 (XP)
TDD (单元测试)
客户测试 (Customer Tests)
工具化: FIT / FitNesse
ATDD (验收测试驱动)
BDD (行为驱动)
Specification by Example (SBE)
Living Documentation (活文档)

原文

源链接