写点什么

用户故事图谱与领域驱动设计的结合应用

  • 2015-12-28
  • 本文字数:976 字

    阅读完需:约 3 分钟

Eriksen Costa 在一篇博客文章中讨论了在项目设计中结合使用用户故事图谱(User Story Mapping)与领域驱动设计(DDD)所带来的优势。在他看来,开发者们往往会由于某个需求特性开发的压力而忽略一些必要的对话,而这种对话能够帮助参与者建立起对业务的共识。这些开发者们更愿意参与技术性的讨论,并直接进入特性的实现阶段。这样一来,他们就丧失了深入学习相关领域,并通过领域的概念对软件进行建模的机会。

Costa 是 Wikidu 公司的 CTO,他表示:虽然我们会通过各种不同的实践保证软件系统的质量,例如测试驱动开发(TDD)和持续集成,但并不意味着这样设计出的系统能够自然地反映出对应的领域概念。为此,他引用了 Eric Evans 所编写的 DDD 著作中的内容:

如果程序员对于领域本身不感兴趣,那么他们所了解的仅限于应用程序所应有的行为,却丢失了这些行为背后的原则。虽说通过这种方式也能够创建出实用的软件,但这样的项目永远无法达到一种理想的状态:即强大的新特性将随着旧特性的演变而自然地浮现出来。

Costa 特别强调,DDD 方法为软件的开发提出了一种新的途径,它不再关注于技术本身,而是专注于通过开发者与领域专家的交流达成一种共识,在此基础上打造出一个模型以及通用的语言(即通用语言 Ubiquitous Language)以描述这一领域。

Costa 相信,创建用户故事图谱是实现共识的第一步,它有助于促使开发者们采用 DDD 方法。用户故事图谱能够更清晰地以可视化的方式显示整个项目的全局信息,帮助开发者确定用户故事开发的优先级。通过一种协作式的方式进行用户故事图谱的创建,能够模拟出相关的全部信息,并通过这些结果展开有效的对话。而开发者们也能够通过这一过程更好地理解他们的工作在全局中所扮演的角色。他同时相信,通过采取这种方式,能够在团队成员之间建立起更密切的联系,让他们更好地理解业务的目标。

Costa 在文中通过一个简短的速成教程解释了用户故事图谱的基本概念。除此之外, Jeff Patton Gojko Adzic 也撰写了大量有关用户故事和影响地图(Impact Mapping)的内容,其中一个示例叫做“通过汉堡方法切分用户故事”。

Costa 最后的结论是:在处理复杂领域的项目采用 DDD 方法时,使用用户故事图谱是一种简单而有价值的模式。它将帮助开发者与领域专家创建共享的领域知识,以及项目起始的通用语言词汇表。

查看英文原文: Combining User Story Mapping with Domain-Driven Design

2015-12-28 18:003645
用户头像

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

关注

评论

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

阿里P8纯手写SQL文档:收获不止SQL优化抓住SQL的本质

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

GraphQl Calculator计算指令@distinct:使用表达式对列表进行去重

杜艮魁

数据中台 graphql

世界顶级安全专家整理出的这份笔记告诉你Linux应该怎么学

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

逆袭!裸辞26天,历经4面,60w“跳”进鹅厂(附面试流程和真题)

Java~~~

Java 架构 面试 微服务 JVM

单链路性能测试实践

FunTester

性能测试 接口测试 测试框架 压力测试 全链路测试

Go- 方法-1

HelloBug

方法 Go 语言

Go- 方法-2

HelloBug

方法 Go 语言

🚄【Redis干货领域】从底层彻底吃透AOF原理(基础篇)

洛神灬殇

redis aof Redis 协议 9月日更

发布半小时登上GitHub首页的Spring Boot实战笔记,竟是京东T8编写

Java~~~

Java spring 架构 面试 Spring Boot

阿里P8终于总结出这份SpringBoot分布式架构精髓笔记

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

大牛分享,献出这份年薪68W的蚂蚁金服Java高级开发封神宝典!

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

美团面试:说说MySQL存储引擎原理,幸好我准备过!

Java MySQL 程序员 面试 计算机

Go- 结构体

HelloBug

Go 语言 结构体

【LeetCode】二叉搜索树的最近公共祖先Java题解

Albert

算法 LeetCode 9月日更

膜拜!清华大佬手撸多线程并发源码笔记Github上线3天星标35k+

Java~~~

Java 架构 面试 JVM 多线程

GitHub阅读量最高的文章竟是图解Java,不愧是Alibaba内部资料

Java~~~

Java 架构 面试 JVM 基础

美团面试:请手写一个快排,被我怼了

程序员 面试 算法

世界顶级安全专家耗时三年写出了这份4308页的Linux笔记

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

头一次见,阿里大牛把计算机网络协议讲得这么有趣,已火爆Github

Java~~~

Java 架构 面试 网络协议 计算机

软件工程师必备沟通技巧

俞凡

沟通 认知

华为顶级网络工程师分享出这份TCP/IP网络编程笔记!已封神

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

GitHub破百万访问的阿里神作:并发实现原理JDK源码笔记

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

仅靠七个步骤,4面通过拿offer,终“跳进”字节跳动

Java 程序员 架构 面试 计算机

链路性能测试中参数多样性方法分享

FunTester

性能测试 测试框架 全链路测试 FunTester 链路测试

GitHub标星翻倍!阿里大牛呕心沥血终成39w字Java面试笔记

Java~~~

Java 架构 面试 微服务 多线程

Ubuntu Server 20.04 搭建安装Harbor

玏佾

Docker k8s Harbor

大厂慌了!由国外技术工程师亲自操刀的微服务实战手册限时分享

公众号_愿天堂没有BUG

Java 编程 程序员 架构 面试

微信朋友圈架构设计

小智

架构实战营

不愧是阿里内部“SpringCloudAlibaba学习笔记”从头到尾,都是精华

Java 架构 面试 微服务

不愧是华为内部的“操作系统学习笔记”,一篇说细节,一篇讲哲学

Java~~~

Java 架构 面试 操作系统 网络

微信朋友圈高性能架构设计

毛先生

用户故事图谱与领域驱动设计的结合应用_语言 & 开发_Jan Stenberg_InfoQ精选文章