写点什么

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

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

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

关注

评论

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

华为云网站安全解决方案,助力企业安心稳步发展

科技说

华为云全流程等保服务,帮助企业守护信息安全

科技怪授

阿里云计算巢产品负责人何川:计算巢,通过数字化工具加速企业数字原生

云布道师

云计算 计算巢

使用appuploader工具发布证书和描述性文件教程

雪奈椰子

Chrome 浏览器的更新导致 jQuery 反复发版,只因 :has() 这个伪类

茶无味的一天

CSS jquery chrome 前端 浏览器

「ChatGPT最强竞品」爆火:不限量不要钱免注册!一手实测体验在此

Openlab_cosmoplat

人工智能 开源社区 openai ChatGPT

瑞云科技副总经理黄金进受邀出席2023广东超聚变生态伙伴大会并作主题演讲

3DCAT实时渲染

元宇宙 实时渲染 云流化 3D实时云渲染 云化XR

求助 iOS 分发的最佳实践

雪奈椰子

Intent的基本使用

智趣匠

组件 intentservice 三周年连更

为什么FTP会随着时间的过去而变慢?

镭速

多云之下,京东云的降本增效之道

人称T客

一文掌握 Go 文件的写入操作

陈明勇

Go golang 后端 文件写入 三周年连更

阿凡达Sun4.0众筹开发系统技术搭建

薇電13242772558

NFT

我决定给 ChatGPT 做个缓存层 >>> Hello GPTCache

Zilliz

Zilliz ChatGPT LLM gptcache

推平“知识高峰”,AI将如何影响我们的学习?

Alter

糟了,生产环境数据竟然不一致,人麻了!

冰河

MySQL 数据库 数据一致性 数据存储

一文读懂注解的底层原理

老周聊架构

三周年连更

Java Stream常见用法汇总,开发效率大幅提升

程序员大彬

Java java8

为企业发展赋能,华为云网站安全解决方案,保护企业网络安全

科技怪授

未来源码|什么是数据集成?超全的SeaTunnel 集成工具介绍

MobTech袤博科技

过去的90天,ODC 发生了哪些新的改变?

OceanBase 数据库

数据库 oceanbase

第五元素奏鸣曲:企业的新数据之道

脑极体

数据

优化用户旅程:提升4S店销售管理系统的市场竞争力

L3C老司机

产品 产品设计 数字化 用户旅程 服务蓝图

华为云网站安全方案为企业数据保驾护航

科技说

Django笔记九之model查询filter、exclude、annotate、order_by

Hunter熊

Python django alias annotate order_by

小程序生命周期

程序员海军

三周年连更

C生万物 | 分支和循环语句【内含众多经典案例】

Fire_Shield

C语言 三周年连更

探究光明源智慧公厕系统的科技创新与管理优势

光明源智慧厕所

智慧城市

杨志丰:一文详解,什么是单机分布式一体化?

OceanBase 数据库

数据库 oceanbase

一篇文章了解SoapUI接口测试的全部流程

Liam

测试 接口测试 测试工具 API 测试

缓存失效后的解决方案

穿过生命散发芬芳

缓存 三周年连更

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