业务导向架构评估

制定评估策略的原则

聚焦业务价值最大方向,快速定向智能评估,务求架构决策更客观,投资更精准

评估方式

传统软件架构评估方法按评估形式,一般分为三种。

  • 调查问卷,由对系统架构了解的专家人等,以回答和总结问卷的形式,对系统架构做出主观评估
  • 度量,将软件系统架构各项指标完全量化,通过客观的数字指标来评估架构的好坏
  • 场景评估,即挑选出重要的系统使用场景(如系统用户如何使用系统的 ),根据不同场景中各架构的表现分别作评估
  • ArchGuard主张从业务导向出发,聚焦业务价值最大方向 - 以是否能带来所关注的业务价值,评估当前技术策略是否适宜,让投资决策更聚焦更精准,最终牵引技术改造带来更多的业务价值。
  • 同时,ArchGuard依托多年沉淀并广被认可的技术规范,构建于强大的技术扫描内核,坚持以客观度量的方式主导评估,降低评估门槛的同时便于规模化推广。

聚焦评估阶段常见痛点

  • 架构已经腐化,业务知识散落在系统各处,难以下手
  • 纯靠人力评估的话,对评估人员能力要求太高了
  • 没有统一的业务术语和架构表示方法,因而难以沟通
  • 从组织级层面看,系统太多,如何能规模化综合评估?
  • 评估出了改进项,但难以排定改造的优先级

相关参考

策略模型

市场响应力评估模型

市场响应力:当市场发生改变时,现有业务为了能够适应市场,业务作出反应的能力

适配场景

  • 系统收集不到业务反馈,不知道业务该怎么走
  • 每次新增功能都需要3,5个月才能上线,跟不上竞品更新速度

评估维度

市场响应力评估模型

质量评估模型

质量:业务上线后,该业务是否能满足客户期望,有多少严重Bug

适配场景

  • 测试返修率高,总是反复测试才能上线
  • 经常出现上线失败,需要紧急修复
  • 客户经常投诉,页面错乱,业务出错

评估维度

质量评估模型

可用性评估模型

可用性:业务不稳定,访问出错

适配场景

  • 上线无法实现零停机时间
  • 经常接到客户投诉,页面打不开了,连接错误

评估维度

可用性评估模型

开放性评估模型

开放性:当出现出现创新性业务时,原有系统能不能很好的支撑

适配场景

  • 新增线上渠道,系统需要花很长时间改造才能支持新渠道
  • 给其他系统提供API,需要花很长时间开发接口

评估维度

开放性评估模型

业界其他评估模型

SAAM

Software Architecture Analysis Method

SAAM卡耐基梅隆大学软件工程研究所的Kazman等人于1983年提出的一种非功能质量属性的体系结构分析方法,是最早形成文档并得到广泛使用的软件体系结构分析方法。最初它用于比较不同的软件体系的体系结构,用来分析SA的可修改性,后来实践证明也可用于其它的质量属性如可移植性、可扩充性等,发展成了评估一个系统的体系结构。

ATAM

Architecture Tradeoff Analysis Method

ATAM是在SAAM的基础上发展起来的,SEI于2000年提出ATAM方法,针对性能、实用性、安全性和可修改性,在系统开发之前,对这些质量属性进行评价和折中。SAAM考察的是软件体系结构单独的质量属性,而ATAM提供从多个竞争的质量属性方面来理解软件体系结构的方法。使用ATAM不仅能看到体系结构对于特定质量目标的满足情况,还能认识到在多个质量目标间权衡的必要性。

CBAM

Cost Benefit Analysis Method

CBAM在ATAM(构架权衡分析方法)上构建,用来对构架设计决策的成本和收益进行建模,是优化此类决策的一种手段。