写点什么

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

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

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

关注

评论

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

区块链公链开发

区块链开发团队DappNetWork

StarUML for Mac(UML软件建模器) v5.1.0版

Mac相关知识分享

公链开发的时间周期

dappweb

公链开发的时间周期

区块链开发团队DappNetWork

职场<火焰杯>测试开发大赛决赛即将开始!

测吧(北京)科技有限公司

测试

Dash for Mac(好用的API文档工具) v7.2.0版

Mac相关知识分享

开发一个公链需要多少钱

区块链开发团队DappNetWork

区块链是什么?

dappweb

职场<火焰杯>测试开发大赛决赛即将开始!

测试人

软件测试

【论文速读】|FuzzAug:探索模糊测试作为神经网络测试生成的数据增强

云起无垠

生产管理MES系统在灯具照明行业怎么数字化转型

万界星空科技

mes 万界星空科技 灯具行业 灯具 照明

开发一个公链需要多少钱

dappweb

【邀请函】相约CommunityOverCode Asia 2024,共探Flink、Paimon、Celeborn开源新境界!

Apache Flink

大数据 flink Celeborn paimon

区块链是什么?

区块链开发团队DappNetWork

SMART Utility for mac (磁盘诊断工具) v3.2.7版

Mac相关知识分享

用flutter实现五种寻路算法的可视化效果,快来看看!

编程的平行世界

flutter 算法

公链开发平台

区块链开发团队DappNetWork

“自我实现的预言”摩尔定律,如何继续引领创新

E科讯

Rust编程语言到底是不是炒作的噱头?

伤感汤姆布利柏

一文搞懂到底什么是 AQS

不在线第一只蜗牛

Java JVM

MES系统生产计划的实施流程

万界星空科技

生产管理系统 mes 万界星空科技 生产计划

一文让你简单了解教育行业为什么需要堡垒机,保护什么?

行云管家

网络安全 教育 堡垒机

2024年成都等级保护测评机构名单看这里!

行云管家

网络安全 成都 等保 堡垒机

一款EF Core下高性能、轻量级针对分表分库读写分离的解决方案

EquatorCoco

C# .net

区块链公链开发

dappweb

公链开发平台

dappweb

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