用架构管理敏捷

  • Ben Linders
  • 马德奎

2014 年 6 月 15 日

话题:治理架构文化 & 方法

Jan van Santbrink 说,“在管理中,为了充当敏捷的合伙人,架构需要从根本上做出改变”。在管理中,在与敏捷思想一起使用时,架构如何才能发挥关键作用呢?在阿姆斯特丹敏捷管理大会上,他就此问题作了演讲。

InfoQ 采访了 Jan,内容涉及为什么敏捷和架构需要协同、架构如何为敏捷决策提供支持以及做架构对开发的好处。

InfoQ:您认为架构是什么?它与设计有什么不同?

Jan架构是在组件层面,而设计定义组件将如何创建或者是如何创建的。架构跨多个应用程序,而设计可以针对一个应用程序来做。

InfoQ:为什么架构与敏捷的协同很重要?如果它们无法协同会怎样?

Jan协同很重要,因为随着时间推移,架构和敏捷都一直存在。为了避免在它们中的任何一个方面做不必要的工作,我认为协同是必需的。如果它们无法协同,那么团队的解决方案将不适合作为企业级的方案,因为这会导致更高的开发和维护成本。

InfoQ:在您的演讲中,您展示了如何将架构纳入 SAFe。关于这点,您能详细描述一下吗?

JanSAFe 将架构史诗当做起点并定义架构功能。这些功能被添加到待办事项列表中,并与业务负责人一起排定优先级。如果有任何架构功能需要创建来支持多项业务功能,那么就需要将它们添加到在一个单独的冲刺里开发的“架构跑道(architecture runway)”中,但仍然要按时完成。

InfoQ:您谈到了架构在决策中的作用。高层管理者需要做什么样的决策,而架构如何提供支持?

Jan高层管理者的任务是解决业务问题。架构师可以通过提出问题的解决方案、定义优缺点及风险、并达成合适的解决方案来提供支持。这是一个粗略的解决方案,需要在设计和构建之前进行细化。

InfoQ:当一家公司采用了敏捷,还需要做这些决策吗?还是高层管理者做吗?还是说要降到团队层面来做这些决策?

Jan敏捷不会自动解决业务问题,因此,总是需要做这些决策。决策发生在组织的所有层面,战略决策永远不能在操作层面进行。如果这在实践中发生了,那么肯定存在组织问题。

InfoQ:企业可能将架构和敏捷看作不同的事物,因为他们发现二者难以结合。您能举例说明一下它们可以如何结合以及相互支持吗?

Jan我的观点是,企业架构总是有自上而下的特性,而敏捷设计和构建则有自下而上的特性。通过将解决方案和项目架构师包含在团队中,进而把二者结合起来是很可能实现的。企业架构可以基于已知的依赖关系为你提供正确的工作包。敏捷团队可以对实践中确实有用的指南提供反馈。

InfoQ:您能举例说明一下,在敏捷环境中,如何将 TOGAF 用于企业架构吗?

Jan我的观点是,TOGAF 只跟企业架构有关,它用来找出组织中的稳定因素。如果引入了敏捷 EA,那么它将是与敏捷开发团队完全不同的敏捷。

InfoQ:对开发而言,做架构有什么好处?需要哪项投资?

Jan开发可以获得以下好处:

a. 价值链有助于发现利益相关者

b. 构件及依赖关系有助于创建正确的工作包和团队

c. 高层管理者对主要工作内容作出承诺,减少不必要的变更

d. 标准和指南

不同组织的投资数据有很大差别,因此很难做出估计。

查看英文原文:Governing Agile with Architecture

治理架构文化 & 方法