写点什么

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

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

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

关注

评论

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

左耳听风,右手敲码

homber

成长 感悟 竞争力 签约计划第二季

http协议

en

HTTP

JavaScript 数据结构之 Number

devpoint

ES6 math 内容合集 签约计划第二季

JavaScript 数据结构之 Map

devpoint

set map ES6 内容合集 签约计划第二季

音视频实战(3)- Mac 系统 MediaInfo 多实例媒体信息分析

liuzhen007

签约计划第二季

架构实战营,第一周作业

Jude

架构实战营

什么是QA

homber

QA 测试开发 职场新人 签约计划第二季

idea-如何解决代码合并冲突?

Java个体户

IDEA

从0到1普及前端知识 | 内容合集

你好bk

内容合集 签约计划第二季

Go并不需要Java风格的GC

Robert Lu

Go 垃圾回收

netty系列之:手持framecodec神器,创建多路复用http2客户端

程序那些事

Netty HTTP 程序那些事 http2 12月日更

JavaScript 数据结构之 Set

devpoint

set ES6 内容合集 签约计划第二季

Go error 的四种处理方式

Rayjun

Go Error

搭建基本Jest测试框架,解读覆盖率实现原理

梁龙先森

签约计划第二季

音视频理论(2)- 音视频传输协议之 RTMP

liuzhen007

签约计划第二季

音视频实战(2)- 如何在网页端给视频添加硬水印

liuzhen007

签约计划第二季

第1周作业提交

cqyanbo

斯诺克

Tiger

28天写作

勿拖延

Nydia

关于研发效能推进提升的一点感受

homber

DevOps 研发效能 签约计划第二季

Camtasia添加光标效果教程

淋雨

Camtasia

华为中国大学生ICT大赛2021实践赛网络赛道晋级赛试题解析(答案版)

小韩

华为 网络 ICT

架构实战营毕业总结

Geek_d18264

架构实战营

Prometheus Exporter (十七)JMX Exporter

耳东@Erdong

JMX Prometheus 28天写作 exporter 12月日更

架构实战营模块九作业

Geek_d18264

架构实战营

实用机器学习笔记四:数据标注

打工人!

机器学习 学习笔记 12月日更 实用机器学习

JavaScript 数据结构之 Object

devpoint

ES6 Object 内容合集 签约计划第二季

如何通过Kubernetes事件来报告错误

Robert Lu

#Kubernetes#

【Redis权威指南】「特性分析」Sentinel的特性分析典籍指南(1)

码界西柚

redis哨兵模式 redis哨兵 redis sentinel Redis 核心技术与实战 12月日更

4.《重学 JAVA》—基础语法

杨鹏Geek

Java 25 周年 28天写作 12月日更

从一个乙方视角聊聊敏捷项目

Bruce Talk

Scrum 敏捷 随笔 Agile

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