写点什么

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

  • 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:022173
用户头像

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

关注

评论

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

有哪些ABAP关键字和语法,到了ABAP云环境上就没办法用了?

汪子熙

云原生 SAP abap Netweaver 6月月更

网络流媒体协议的联系与区别(RTP RTCP RTSP RTMP HLS)

赖猫

音视频 流媒体

开源项目那么多,这次带你了解个版本的区别,明白alpha版、beta版、rc版是什么意思

迷彩

开源 记录 6月月更

WWDC22 开发者需要关注的重点内容

37手游iOS技术运营团队

iOS16 WWDC22 Xcode14 iPadOS16 macOS10.16

详解Java中的值传递

工程师日月

6月月更

InfoQ 极客传媒 15 周年庆征文|Dubbo入门实战:Spring + Zookeeper + Dubbo

No Silver Bullet

zookeeper 架构 dubbo 6月月更 InfoQ极客传媒15周年庆

Java—并发容器

武师叔

6月月更

5分钟了解攻防演练中的红蓝紫

穿过生命散发芬芳

6月月更 攻防演练

【LeetCode】 极大极小游戏Java题解

Albert

LeetCode 6月月更

Es6新特性——箭头函数

大熊G

JavaScript 前端 6月月更

spring的BeanFactory和ApplicationContext

程序员欣宸

Java spring 6月月更

浅谈居家办公后的感想| 社区征文

雪雷

居家办公 初夏征文

tornado环境搭建及基本框架搭建——熟悉的hello world

孤寒者

Python tornado 6月月更 hello world

这篇SpringCloud GateWay 详解,你用的到

牧小农

SpringCloud Gateway

SDN系统方法 | 5. 交换机操作系统

俞凡

架构 网络 sdn SDN系统方法

InfoQ 极客传媒 15 周年庆征文|Webpack 性能优化措施汇总

No Silver Bullet

性能优化 前端 webpack 6月月更 InfoQ极客传媒15周年庆

浅析分布式系统之体系结构-事务与隔离级别(多对象、多操作)下篇

snlfsnef

测试基础之:黑盒测试

甜甜的白桃

测试用例 黑盒测试 6月月更

Fabric.js 动态设置字号大小 🎄

德育处主任

canvas 前端可视化 FabricJS Fabric.js 6月月更

C#入门系列(十一) -- 多维数组

陈言必行

C# 6月月更

Linux开发_ Linux命令复习与文件目录复习

DS小龙哥

6月月更

利用 VSCode 的代码模板提高 MobX 的编码效率

岛上码农

flutter ios 前端 安卓开发 6月月更

【sql语句基础】——删(delete) /改(update)

写代码两年半

数据库 sql :MySQL 数据库 6月月更

485天,远程办公的 21 条心得分享|社区征文

悟空聊架构

远程办公 悟空聊架构 热门活动 初夏征文 社区征文

【高并发】关于线程池,蚂蚁金服面试官问了我这些内容!!

冰河

并发编程 多线程 高并发 异步编程 6月月更

Django 介绍与安装

海拥(haiyong.site)

django 6月月更

safePoint讲解及其安插思路分析

北洋

6月月更

你还不懂线程池的设计及原理吗?掰开揉碎了教你设计线程池

C++后台开发

线程 线程池 后端开发 Linux服务器开发 C++后台开发

Vue-6-计算属性

Python研究所

6月月更

数据结构进阶(一)稀疏矩阵

No Silver Bullet

稀疏矩阵 6月月更

谈谈远程工作 | 社区征文

大菠萝

初夏征文

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