写点什么

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

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

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

关注

评论

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

数据要素×工业制造:光纤通信企业携手奇点云,攻克“国产替代”迁移难关

奇点云

奇点云 数据要素 工业制造 光纤通信

lilishop开源版本window一键启动

小黄鱼

Spring Boot 开源商城 bat启动 lilishop

使用 Amazon Bedrock + Claude 3 打造个性化智能编程助手

亚马逊云科技 (Amazon Web Services)

人工智能

分享10个学习计划模板,让你的个人发展更上一层楼!

彭宏豪95

效率工具 在线白板 模板 办公软件 学习计划

Python 和 Go 的基础了解

Liam

Python Go 编程 程序员 后端

C++ 用户输入与数据类型详解:建立基本计算器及变量类型

小万哥

程序人生 编程语言 软件工程 C/C++ 后端开发

数字化先行者,HAP大使招募中

明道云

ASP.NET Core 依赖注入(Ioc)

雄鹿 @

ASP.NET Core

在 ASP.NET Core 引入 Autofac 增强容器

雄鹿 @

ASP.NET Core

云主机有什么用?看看它的多功能用途

一只扑棱蛾子

云主机

Python中的datetime模块:轻松拿捏时间操作

霍格沃兹测试开发学社

火山引擎边缘云出席2024亚太内容分发大会,助推游戏体验全面升级

火山引擎边缘云

CDN 游戏 CDN加速 CDN带宽

[自研开源] 数据集成之分批传输 v0.7

LIEN

开源 数据集成 业务融合 API对接 mydata

事业-最佳实践-编码-继承组合选择

南山

最佳实践 组合模式 设计原则 组合 继承

ETL中RESTful API 组件的用法

谷云科技RestCloud

ETL 数据集成 RESTful API

《出海和跨境:明道云HAP支撑全球化业务的能力白皮书》正式发布

明道云

优秀电源工程师需要的必备技能

芯动大师

工程师 电源 优秀

时序数据库IoTDB:功能详解与行业应用

Apache IoTDB

一口气搞懂分库分表 12 种分片算法,大厂都在用

程序员小富

Java 分库分表 spring-boot

YYDS,只用几条命令轻松搭建自己的项目管理平台jira

霍格沃兹测试开发学社

将提交记录生成二维码,扫码即可查看填写内容

草料二维码

二维码 草料二维码

Selenium报错元素不可交互,该如何解决?

霍格沃兹测试开发学社

StarRocks 助力小红书离线数仓提效,提升百倍回刷性能!

StarRocks

数据库 大数据 数仓 湖仓一体

单体分层应用架构剖析

疯狂架构

架构 分层架构 单体应用架构

英特尔携手开发者,以全新OpenVINO™ 2024.0版本引领AI加速技术革命

E科讯

机器学习:智能时代的核心引擎

不在线第一只蜗牛

人工智能 机器学习

就是这么简单,Selenium StaleElementReferenceException 异常分析与解决

霍格沃兹测试开发学社

在 ASP.NET Core 引入 Scrutor 增强依赖注入

雄鹿 @

ASP.NET Core

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