什么是架构沟通画布?


以下是架构沟通画布 (ACC) 的结构:完整点击标题下载

价值主张
至少回答以下一个问题:

  • 这些系统的主要目标是什么
  • 该系统给客户带来什么价值?
  • 该系统的主要业务目标是什么?
  • 为什么要建立和运行这个制度?
  • 它的核心职责是什么?

主要利益相关者
确定系统中最重要的利益相关者:

  • 我们为谁创造价值?
  • 谁在为发展买单?
  • 谁来支付手术费用?
  • 谁是我们最重要的客户?
  • 谁是我们最重要的贡献者?

核心功能

  • 该系统最重要的功能、特性或用例是什么?
  • 它提供什么活动或流程?
  • 主要用例是什么?
  • 哪些功能能为利益相关者创造高价值?
  • 哪些功能有风险、危险或者关键?

质量要求
重要的质量目标和要求是什么,例如速度、可扩展性、可靠性、可用性、安全性、容量或类似内容。


业务背景
哪些外部系统、接口或邻近系统……

  • 最重要的数据来源有哪些?
  • 最重要的数据接收器有哪些?
  • 确定我们的可靠性、可用性、性能或其他关键质量要求?
  • 波动性大或风险大吗?
  • 运营成本高吗(例如按使用付费)?
  • 难以实施、操作或监控?

核心决策——好或坏
哪些决定……

  • 导致系统处于当前的状态?
  • 你特别自豪什么?
  • 结果是可疑的、错误的或者痛苦的?
  • 从今天的角度来看你还不明白吗?

组件/模块
系统的主要组成部分有哪些(例如模块、子系统、包、组件、服务)?

技术
系统开发和运行所采用的最重要的技术是什么?
例如:

  • 编程语言和技术
  • 框架(如 SpringBoot、.NET、Flask、Django)
  • 数据库或中间件
  • 技术基础设施,如物理硬件、服务器、数据中心、云提供商、超大规模或类似提供商
  • 操作技术和环境
  • 监测和管理技术和环境


风险和缺失信息

  • 已知问题有哪些?
  • 已知系统的哪些部分在实施、测试或运行期间会导致问题?
  • 哪些流程(需求、架构/实施、测试、推出、管理、操作)会导致问题?
  • 什么阻碍了发展或价值创造?
  • 您想了解有关该系统的哪些信息,但目前无法找到?
  • 什么阻碍了团队更快地提供更好的价值?