研发和架构师都需了解的可持续架构

362 阅读3分钟

持续架构 (CA Continuous Architecture ) 方法在前期设计和架构雏形之间提供了一种有意义的折中方案,同时它也是敏捷、DevOps 和云时代实现可持续架构性的有效途径。

我们知道,架构设计中,持续架构的目标是通过在整个过程中系统地应用架构视角和准则来加速软件开发和交付过程。

那什么样的架构才能被称之为可持续架构?需要满足以下六个简单准则:

1、准则一-构建产品

用产品思维,而非项目思维来设计架构。从产品的视角进行构建比单纯设计点的解决方案更有效率,更容易让团队专注于客户的需求。

2、准则二-关注质量

聚焦质量属性,而不仅仅是功能性需求。质量属性需求驱动着架构。

3、准则三-非必要不设计

在绝对必要的时候再做设计决策。架构设计取决于事实,而不是猜 测。设计和实施可能永远都用不到的功能是无意义的,是对时间和资源的浪费。

4、准则四-拥抱价格变化

利用“微小的力量”,面向变化来设计架构。大的、单体的、紧耦合的组件很难改变。相反,应该使用小且松耦合的软件元素。

5、准则五-架构设计需要考虑

为构建、测试、部署和运营来设计架构。大多数架构方法只关注软件构建活动,但我们认为架构师也应该关注测试、部署和运营,以支持持续交付。

6、准则六-架构设计决定组织结构

在完成系统设计后,开始为团队做组织建模。团队的组建方式驱动着系统的架构和设计。

以上这六项准则、 基本活动和工具可以帮助我们进行架构活动并定义软件架构的关键组件。这些原则主要为我们提供了架构设计的思维方式,但不一定要全部照抄。以下四项基本内容也需要考虑:

1)关注质量

这是优秀架构设计应该着力解决的跨领域需求。

2)推动架构决策

架构决策是架构活动的主要工作单元。

3)明晰技术债务

对技术债务的理解和管理是可持续架构的关键。

4)实施反馈循环

在软件开发迭代中了解架构决策对开发的影响。自动化是有效反馈循环的关键方面。

此外,持续架构包括一个架构“工具箱”,其中囊括一整套经过验证的工具,例如决策日志、实用程序树和架构策略。

软件架构师和工程师可以根据具体环境,维护与和扩展工具箱里的内容。