写点什么

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

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

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

关注

评论

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

Ceph Swift Api 配置与使用(三)

Lansonli

云原生 Ceph 云存储 7月月更

答应我忘掉Postman吧,Apifox才是yyds!

程序员小毕

Java 程序员 程序人生 后端 开发工具

企事业单位该如何建设知识管理体系

Baklib

一道2016年nice的笔试题引发的思考

芒果酱

7月月更

Windows下Tomcat内存占用过高问题跟踪(jmap 的使用)

源字节1号

软件开发 小程序开发

【Java 实战】实现大转盘抽奖

猫的树

Java 大转盘抽奖

FAQ制作工具推荐

Baklib

java培训之Java8 Stream 代码简化是如何实现的

@零度

stream JAVA开发

http请求redirect的问题

飞翔

golang

web前端培训nodejs异步IO

@零度

node.js 前端开发

【Docker 那些事儿】关于容器底层技术的奥秘

Albert Edison

7月月更

大数据培训Hive的数据存储与压缩

@零度

hive 大数据开发

全国首创!洞见科技联合山东数据制定的「数据产品登记」两项标准正式发布

洞见科技

数据 联邦学习 隐私计算

Github发布6天,Star55K+,这套笔记足够你拿下90%的Java面试

冉然学Java

java面试 #Github

Go 原生插件使用问题全解析

SOFAStack

Go 语言 开源软件 MOSN 问题解析 开源学习

数据分析引擎百花齐放,为什么要大力投入ClickHouse?

字节跳动数据平台

为什么说企业需要具备企业知识管理的能力?

Baklib

LP单双币质押流动性挖矿系统开发

开发微hkkf5566

NFT数字藏品交易平台APP开发搭建

开发微hkkf5566

跟着官方文档学 Python 之:函数

甜甜的白桃

Python 递归 函数 参数 7月月更

【都 Java17 了,还不了解 Java 8 ? 】一文带你深入了解 Java 8 新特性

猫的树

java8

leetcode 135. Candy 分发糖果(困难)

okokabcd

LeetCode 贪心算法 算法与数据结构

对象的内存分配一定都是在堆空间吗?

领创集团Advance Intelligence Group

代码优化 内存分配

系统首页 DIY,你的个性化需求 Pro 系统来满足!

CRMEB

【Java 基础你一定要掌握的知识点】Java异常处理和设计

猫的树

Java 异常处理

亚信科技发布“电信级”核心交易数据库AntDB7.0,助力政企“信”创未来!

亚信AntDB数据库

AntDB 国产数据库 产品发布会

Ceph集群详细部署配置图文讲解(二)

Lansonli

云原生 私有云 Ceph 云存储 7月月更

太奇葩了!Keepalived突发高可用事故

Java全栈架构师

Java 程序员 面试 程序人生 Keepalived

nacos注册中心之客户端服务注册

急需上岸的小谢

7月月更

开源仓库贡献 —— 提交 PR

攻城狮杰森

git GitHub PR 开源贡献 7月月更

龙蜥下游发行版 Alinux 和 UOS 成为 OpenSCAP 官方首批支持的国内 OS

OpenAnolis小助手

国产 龙蜥操作系统 UOS v20 OpenSCAP Alinux 2/3

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