写点什么

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

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

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

关注

评论

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

Go语言,定时器的使用

微客鸟窝

Go 语言 11月日更

Golang Gin 框架入门介绍(一)

liuzhen007

11月日更

题目二:架构设计题

arctec

再见了,纸币!数字人民币,席卷而来

CECBC

Android C++系列:JNI中的线程操作

轻口味

c++ android jni 11月日更

自动化前端页面性能测试介绍

刘冉

大前端 软件测试 性能测试 软件自动化测试

【Promise 源码学习】第七篇 - 实现 Promise 返回值 x 的处理

Brave

源码 Promise 11月日更

低碳企业和个人如何参与碳交易市场?

石云升

碳中和 11月日更 碳交易

测试右移与自动化测试

刘冉

自动化测试 测试右测

[ CloudWeGo 微服务实践 - 08 ] Nacos 服务发现扩展 (1)

baiyutang

golang 微服务 11月日更

模块三作业-外包学生管理系统

二手攻城师

「架构实战营」

架构营模块三作业

GTiger

架构实战营

如何使用 Prometheus Kafka Adapter 向 Kafka 推送 Prometheus 数据

耳东@Erdong

kafka Prometheus Adapter 11月日更

【LeetCode】键值映射Java题解

Albert

算法 LeetCode 11月日更

题目三、简述HDFS的读写流程

arctec

模块三作业

周文

「架构实战营」

.NET6新东西--CallerArgumentExpression

喵叔

11月日更

模块三作业 外包学生管理系统详细架构设计

小朱

架构实战营

设计消息队列存储消息数据的 MySQL 表格

缘分呐

模块三作业:学生管理系统架构设计文档

赵先生

架构实战营

基于Serverless的测试服务化-理论篇

刘冉

软件测试 自动化测试 测试服务化

极客时间架构实战营作业八

jjn0703

架构实战营

Go语言,测试功能详解-上

微客鸟窝

Go 语言 11月日更

PS 基础操作 - 缩放、抓手、移动工具

hepingfly

ps教程 ps学习笔记

架构实战营 - 模块八作业

Alex.Wu

AI辅助测试与自动化测试

刘冉

AI 自动化测试

PS 基础操作 - 文件格式和存储

hepingfly

ps教程 ps学习笔记

模块三课后作业 - 详细架构设计文档 - 外包学生管理系统

渐行渐远

架构实战营

架构实战模块作业八

Yina🌝很浪🌊

架构实战课

进击的Java(六)

ES_her0

11月日更

架构训练营 - 模块三作业

VegetableBird

架构训练营 架构实战营

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