【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

实施领域驱动设计团队的文档指南

  • 2013-05-30
  • 本文字数:808 字

    阅读完需:约 3 分钟

对于做一个新软件项目的团队来说,应该做的第一件事就是绘制情境图(context map),帮助他们理解情境和核心领域是什么,以及他们可能需要与哪些其他情境交互。最重要的就是要让所有与开发这个软件相关的人员都对领域有一致的理解, Paul Rayner 是一位顾问和教练,作为对问题的回应,它说明了实施领域驱动设计的团队应该创建什么类型的文档。

Paul 以终为始,先理解为什么我们要创建文档;每种文档的目标是什么? 考虑一下你的受众,并让你的文档适应他们的需要。读者是偏向技术层面还是业务层面呢,这是面向技术还是面向业务的文档呢? 正如 Paul 写到: “尊重你的受众”。
另一个重要的问题与时间相关: 这个文档是要当前在团队开发软件的时候为其提供支持,还是要支持将来的开发?

对于支持开发中的团队的情况,Paul 建议持续记录文档(作为持续进行、即时、活动的文档)而不是创建(一次完成不再改变的)文档,那更可能会保持文档正确而值得信任。
对于将来的开发,Paul 考虑到,在代码、支持性测试或者其他产品特别是与文档相关的内容中找不到相关的知识。没有这种知识文档,就没有人真正知道系统最终会是什么样子。

Paul 发现敏捷团队通常更喜欢使用轻量级的方法,来描述系统需要做什么,而不喜欢更详细的需求说明书。详细说明书的一个问题在于,设计决定通常做出得过于匆忙,对领域和技术的知识都准备不足,从而使设计与实现分离。Paul 引用了 Mary Poppendieck 的话:

经常看到的现象是,详细的需求列表和故事的 backlog 实际上都是业余选手所做的很糟糕的系统设计。

BDD
Paul 是使用 BDD 工具来为系统创建实时文档的狂热分子。他倾向于使用 Cucumber 工具,因为它使用的方式可以把普遍的语言和技术实现分离开来。

Paul Rayner 是一位经验丰富的设计教练和领导力导师,擅长 DDD、BDD 和精益与敏捷过程。在 DDD Exchange 2012 上,Paul 发表了演讲: 驱动建模漩涡的领域场景

查看英文原文: Documentation Guide for Teams Doing Domain-Driven Design

2013-05-30 01:291513
用户头像

发布了 340 篇内容, 共 126.0 次阅读, 收获喜欢 13 次。

关注

评论

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

第四周作业

Geek_4c1353

极客大学架构师训练营

go-zero流数据处理利器

万俊峰Kevin

stream functional Go 语言

spring-boot-route(十一)数据库配置信息加密

Java旅途

Java Spring Boot

浅析 Java 内存模型 三

朱华

Java volatile JMM

spring-boot-route(十二)整合redis做为缓存

Java旅途

Java redis Spring Boot

第三周课后练习

大大猫

极客大学架构师训练营

LeetCode题解:144. 二叉树的前序遍历,使用栈,JavaScript,详细注释

Lee Chen

大前端 LeetCode

《我想进大厂》之Redis夺命连环11问

艾小仙

Java redis 面试 程序语言

架构师训练营第 1 期 -week4

习习

数字人民币真的来了 六年历程全回顾

CECBC

数字货币 DCEP

第9周作业

Vincent

极客时间 极客大学

架構師訓練營 week4 總結

ilake

典型互联网公司使用的技术

happy

第三周架构师训练营作业

Geek_4c1353

极客大学架构师训练营

甲方日常 27

句子

生活 工作 随笔杂谈 日常

架构师训练营 1 期 - 第四周总结(vaik)

行之

极客大学架构师训练营

详解「区块链」溯源

netkiller

区块链 防伪 超级账本 标签 区块链产品溯源

Redis-技术专题-哨兵配置和原理

洛神灬殇

第4周 作业一

bearlu

架构师训练营 - 第四周作业

一个节点

极客大学架构师训练营

浅析 Java 内存模型 一

朱华

Java JMM

第二周课后练习

大大猫

极客大学架构师训练营

第9周总结

Vincent

极客时间 极客大学

第 4 周 系统架构总结

bearlu

系统架构

CPU 执行程序的秘密,藏在了这 15 张图里

小林coding

操作系统 计算机基础 计算机 编译器、程序语言、CPU 指令

架构师训练营 1 期 - 第四周作业(vaik)

行之

极客大学架构师训练营

Spring学习笔记(一)手写一个简单的Spring

无语

Spring Framework

架构师训练营第4周作业

悠哉

架构师训练营 - 第四周总结

一个节点

极客大学架构师训练营

一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?

knight

架構師訓練營 week4 作業

ilake

实施领域驱动设计团队的文档指南_架构_Jan Stenberg_InfoQ精选文章