AICon 上海站|90%日程已就绪,解锁Al未来! 了解详情
写点什么

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

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

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

关注

评论

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

三分钟了解client-go

穿过生命散发芬芳

Client-go 11月月更

华为云大数据平台,助力企业数字化转型成效明显

爱尚科技

华为云大数据轻量级解决方案,让数据“慧”说话

科技怪授

挖掘数据价值,华为云大数据BI解决方案有绝招

科技怪授

富士康智能制造加速营:解决行业当下问题,创造核心技术价值

B Impact

python任务调度利器-APScheduler

AIWeker

Python 任务调度 11月月更

【web 开发基础】PHP使用自定义函数库 (39)

迷彩

web开发基础 11月月更 自定义函数 函数库引入 函数库

做电商的看过来,华为云大数据BI方案驱动业务增长

科技怪授

2022-11-28:给定两个数组A和B,比如 A = { 0, 1, 1 } B = { 1, 2, 3 } A[0] = 0, B[0] = 1,表示0到1有双向道路 A[1] = 1, B[1]

福大大架构师每日一题

算法 rust 福大大

一文熟悉 Go 函数

陈明勇

Go golang 闭包 函数 11月月更

Kotlin类声明和构造器(constructor)

子不语Any

android kotlin 11月月更

项目管理软件有哪些?

优秀

项目管理软件

Java通讯录管理系统

我是一个茶壶

Java 11月月更 通讯录管理系统

华为云大数据BI 解决方案的超高性价比

IT科技苏辞

以原子化服务为基石,面向三大场景打造鸿蒙软硬协同新体验

最新动态

论文领读|基于 VQVAE 的长文本生成

澜舟孟子开源社区

人工智能

【SpringBoot】配置文件的加载与属性值的绑定

石臻臻的杂货铺

springboot 11月月更

亚马逊云科技云从业者加速训练营上线啦!

亚马逊云科技 (Amazon Web Services)

培训与认证

华为云大数据BI解决方案助力“智能智造”

爱尚科技

Flare Network,跨越互操作性三难困境

股市老人

从传统数据治理转向主动数据治理!

用友BIP

云视频会议哪家强?华为云会议更专业“会”更好!

i生活i科技

W3C白皮书之小程序技术标准

FinFish

小程序 W3C 小程序化 miniapps

支持向量机-二分类SVC中的样本不均衡问题:重要参数class_weight

烧灯续昼2002

Python 机器学习 算法 sklearn 11月月更

Pycharm 搭建 Django 项目

千锋IT教育

龙蜥技术委员会主席杨勇:下一代操作系统展望

云布道师

开源 操作系统

适用场景全新升级!扩展 Dragonfly2 作为分布式缓存系统架构 | 龙蜥技术

OpenAnolis小助手

开源 架构 分布式 龙蜥技术 dragonfly2

华为云大数据,帮助企业搭好数据底座

IT科技苏辞

mysql与redis的选型问题实践

苏格拉格拉

MySQL 数据库 持久化 redis'

Linux vi/vim

芯动大师

vim教程 11月月更 Linux指令

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