以下是架构沟通画布 (ACC) 的结构:完整点击标题下载
价值主张
至少回答以下一个问题:
- 这些系统的主要目标是什么?
- 该系统给客户带来什么价值?
- 该系统的主要业务目标是什么?
- 为什么要建立和运行这个制度?
- 它的核心职责是什么?
主要利益相关者
确定系统中最重要的利益相关者:
- 我们为谁创造价值?
- 谁在为发展买单?
- 谁来支付手术费用?
- 谁是我们最重要的客户?
- 谁是我们最重要的贡献者?
核心功能
- 该系统最重要的功能、特性或用例是什么?
- 它提供什么活动或流程?
- 主要用例是什么?
- 哪些功能能为利益相关者创造高价值?
- 哪些功能有风险、危险或者关键?
质量要求
重要的质量目标和要求是什么,例如速度、可扩展性、可靠性、可用性、安全性、容量或类似内容。
业务背景
哪些外部系统、接口或邻近系统……
- 最重要的数据来源有哪些?
- 最重要的数据接收器有哪些?
- 确定我们的可靠性、可用性、性能或其他关键质量要求?
- 波动性大或风险大吗?
- 运营成本高吗(例如按使用付费)?
- 难以实施、操作或监控?
核心决策——好或坏
哪些决定……
- 导致系统处于当前的状态?
- 你特别自豪什么?
- 结果是可疑的、错误的或者痛苦的?
- 从今天的角度来看你还不明白吗?
组件/模块
系统的主要组成部分有哪些(例如模块、子系统、包、组件、服务)?
技术
系统开发和运行所采用的最重要的技术是什么?
例如:
- 编程语言和技术
- 框架(如 SpringBoot、.NET、Flask、Django)
- 数据库或中间件
- 技术基础设施,如物理硬件、服务器、数据中心、云提供商、超大规模或类似提供商
- 操作技术和环境
- 监测和管理技术和环境
风险和缺失信息
- 已知问题有哪些?
- 已知系统的哪些部分在实施、测试或运行期间会导致问题?
- 哪些流程(需求、架构/实施、测试、推出、管理、操作)会导致问题?
- 什么阻碍了发展或价值创造?
- 您想了解有关该系统的哪些信息,但目前无法找到?
- 什么阻碍了团队更快地提供更好的价值?