写点什么

敏捷开发之基于价值的架构决策

  • 2011-07-23
  • 本文字数:1053 字

    阅读完需:约 3 分钟

在最近的 SATURN 2011 大会上,来自 eBay 的首席架构师 Jeromy Carriere 以其报告——在 Vistaprint(一家快速前进的敏捷公司)中引入可持续架构实践的经验,而被授予了“架构实战”大奖。Jeromy 讲述了对于架构转型,经济价值核算制与所有制如何为自治、但是一致的设计决策奠定了基础。

Jeromy 还提及了,在克服开发人员——将架构等同于大规模预先设计活动、并将架构师角色等同于规范强化人员——的心理障碍上的挑战。他与团队频繁地对话以了解项目的问题,并在被询问时施以援手以获得组织内的信誉。最终,“架构是一个量化决策的工具,以及架构师是一个跨越整个工程部门的共享角色”的观点被广为接受。

通过赋予架构转型以经济价值(对项目的影响),项目组就能够遵循一个合理且透明的决策流程,决定​​是否需要继续进行架构转型。为了将组织的转型需要与项目的转型需要结合在一起,决策流程遵循了一个最小集合的指导方针,包括例如:

  • 集思广益不同的选项,选择将经济价值完整最大化的选项
  • 选择将导致最小、最少耦合软件的设计
  • 利用标准化,以提升可预见性和可扩展性

LAAAM(轻量级架构选型评估方法,“ Lightweight Architecture Alternative Assessment Method ”的缩写),是一个受软件工程研究所(SEI)的严格的 ATAM(体系结构权衡分析方法,“ Architecture Tradeoff Analysis Method ”的缩写)流程启发而产生的决策流程。该决策流程针对于结构型与权重型质量,在不同层面上发挥了关键的作用。他解释说:

当决策需要同时考虑局部(如项目)和全局(如企业)关注时,我通常会尝试建立一个综合的质量树——诸如,也许,在企业层面上指定了质量以及次级质量,并且依照评级部分排序(例如,性能比安全性更重要,可靠性也比安全性更重要;但性能与可靠性相比较,孰重孰轻则未定),而项目则对所有的质量属性都排定了顺序(与前面的部分排序一致)。此外,项目还指定了与其特定上下文相关的场景。

LAAAM 提供了一个计算架构方案价值的简单方式——基于各方案在解决项目与企业的相关场景(根据其在质量树上的排名进行加权)时的适用程度(拙劣、尚可、足够或优秀)。目标不在于盲目选择“赢家”方案,而是验证相关的场景得到了有效地解决。当候选方案的得分区别不大时,一个好的策略是把场景深化为子场景,并在子场景上应用该方法。

Jeromy 告诉 InfoQ 他认为对于 LAAAM 演化,最优先的是:整合成本模型(因功能交付延误的机会成本、因技术债务导致生产力下降的成本以及营运成本等),并提供工具支持。

查看英文原文: Value-based Architectural Decisions in Agile Development

2011-07-23 11:022443
用户头像

发布了 76 篇内容, 共 28.3 次阅读, 收获喜欢 3 次。

关注

评论

发布
暂无评论
发现更多内容

《分布式系统设计》(1) 从程序思维到系统思维

陈皓07

JVM-技术专题-MAT解析OOM问题

码界西柚

JVM

Rust从0到1-枚举-定义

rust 枚举 Option

完美的,从不空口说白话,140个案例带你深入理解微服务

Java架构师迁哥

Python模拟MOBA手游(三)

Bob

Python Python 游戏编程 4月日更

《分布式系统设计》(2) 关键概念和基本问题

陈皓07

升级版数字人民币试点在深启动 这次有啥不一样?

CECBC

数字人民币

神秘又强大的@SpringBootApplication注解

vivo互联网技术

Java 后端 springboot 注解分析

智慧公安情指勤系统搭建,指挥调度平台解决方

13828808769

智慧公安

InheritableThreadLocal源码解析,子线程如何获取父线程的本地变量?

徐同学呀

ThreadLocal Java源码

Coinbase上市在即,这里有你想知道的一切

CECBC

比特币

真假敏捷教练

escray

面试 面经 4月日更

Spring 类型转换

邱学喆

Converter spring类型转换 GenericConversionService GenericConverter ResolvableType

Python OpenCV 图像处理之图像直方图,取经之旅第 25 天

梦想橡皮擦

Python OpenCV 4月日更

Java流(Stream)操作实例-筛选、映射、查找匹配

Java小咖秀

Java stream java8 日常开发

「MySQL」深入理解事务的来龙去脉

学Java关注我

Java 编程 架构 程序人生 软件架构

Linux 下的Zabbix Agent 安装

耳东@Erdong

Linux zabbix 4月日更

区块链商品防伪溯源平台搭建,实现数据信息安全共享

13828808769

区块链 商品溯源 #区块链#

计算机原理学习笔记 Day4

穿过生命散发芬芳

计算机原理 4月日更

读scss/sass实例项目带你入门

devpoint

SASS scss css预处理器

余额宝|三年开发|一二三四+HR面面经,已拿offer|

Java架构师迁哥

升级JDK到1.8笔记

风翱

jdk8 4月日更

树莓派安装pytorch

IT蜗壳-Tango

4月日更

三分钟热度的你,不会得到你想要的结果

小天同学

坚持 日常感悟 4月日更 专心 个人思考

爽面数码打底浆说明书

C13713145387

爽面数码打底浆 哑面数码打底浆 数码打底浆

Spark的动态资源分配

小舰

Spark调优 4月日更

微服务中台技术解析之项目环境隔离

小江

kafka 架构 DevOps 后端

无脑用 react 的 useCallback

sadhu

React Hooks 无脑 useCallback

什么是跨职能合作的关键?

王辉

团队管理 技术管理 沟通

区块链电子证照平台搭建,助推政务数字化发展

13828808769

电子存证 区块链+ #区块链#

透气胶浆、无手感透气胶浆

C13713145387

透气胶浆 仿拔印浆 无手感透气浆

敏捷开发之基于价值的架构决策_研发效能_Manuel Pais_InfoQ精选文章