写点什么

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

  • 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:003725
用户头像

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

关注

评论

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

让家人饮水不再瞎凑合 A.O.史密斯冷热即饮净水机健康又便利

科技热闻

可怕!.Net 8正式发布了,.Net野心确实不小!

不在线第一只蜗牛

.net 编程语言

罗拉rola-ip详细解析HTTP协议连接与服务器

Geek_ccdd7f

如何挑选挑选到优质的HTTP代理平台呢?

Geek_ccdd7f

苹果系统下载:macOS 12 Monterey v12.7.1正式版

加油,小妞!

苹果系统下载 macOS 12 Monterey

sublime text Mac前端代码编辑工具 支持M1

加油,小妞!

Sublime Text 4下载 Sublime Text 4注册版

全方位探索:思维导图能在这些地方派上用场!

职场工具箱

思维导图 工具库

Util应用框架开发环境搭建(八)- 安装 Seq

何镇汐

开源 后端 软件开发 .net core

媒体行业的3D建模:在影视中创造特效纹理

3D建模设计

AI纹理 影视视觉特效 3D特效

Codewhisperer 使用评价

亚马逊云科技 (Amazon Web Services)

Python 人工智能 云上探索实验室 Amazon CodeWhisperer Amazon Cloud9

YOLO 施工安全帽目标检测模型

3D建模设计

目标检测 YOLO模型 安全帽模型

Util应用框架开发环境搭建(九)- 安装 Exceptionless

何镇汐

开源 后端 .net core

告别繁琐,ModelArts一键解决车牌号识别难题

华为云开发者联盟

人工智能 华为云 华为云ModelArts 华为云开发者联盟

罗拉Rola-IP海外住宅IP简介:全球互联网接入的另一面

Geek_ccdd7f

数字孪生协同仿真:复杂电机篇

DevOps和数字孪生

数字孪生 电机 仿真建模

准「AI 时代」下,如何衡量程序员的工作效率和生产力?

LigaAI

人工智能 研发管理 研发度量 AIGC 研发效能管理

PON网络是什么?

小魏写代码

2023开源产业生态大会OpenHarmony生态分论坛开幕在即

新消费日报

高性能、无界限:选择国外服务器的原因和技巧

一只扑棱蛾子

国外服务器

【2023云栖】郭瑞杰:阿里云搜索产品智能化升级

阿里云大数据AI技术

搜索引擎

AI创新下的生成式人工智能——Amazon Bedrock

淼.

NFTScan 正式上线 Viction NFTScan 浏览器和 NFT API 数据服务

NFT Research

NFT\ NFTScan nft工具

深度长文:全面探讨流程图的应用,打开你的新视野

职场工具箱

流程图绘制工具

HTTP方法罗拉rola-ip全面解读

Geek_ccdd7f

以程序员的身份使用curl获取速卖通详情

Noah

罗拉rola-ip为您详解HTTP网络通信的标准语言解析

Geek_ccdd7f

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