QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

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

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

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

关注

评论

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

墨天轮国产数据库沙龙 | 胡津铭:时序数据库DolphinDB,从量化金融到万物互联

墨天轮

数据库 时序数据库 DolphinDB 国产数据库

Linux下C++后台服务器开发

Linux服务器开发

C/C++ 后端开发 Linux服务器开发 C++后台开发 Linux后台开发

天翼云与龙芯完成产品兼容适配加速国产化云平台发展

天翼云开发者社区

应用环境能力 | 阿里巴巴DevOps实践指南

阿里云云效

阿里巴巴 阿里云 研发效能 开发

无所不云,开启你的美好旅行新体验!

天翼云开发者社区

响应速度提升80%以上,甘肃省医保信息平台稳固上线有法宝

华为云开发者联盟

数据库 华为云 华为云数据库 智慧医疗 医保

31 家企业入选阿里云首期云原生加速器,共建云原生行业新生态

阿里巴巴中间件

云计算 阿里云 云原生 加速器 生态伙伴

经典的两阶段提交算法原理及缺陷

KunlunBase昆仑数据库

分布式数据库

分布式事务对于两阶段提交的错误处理

KunlunBase昆仑数据库

分布式数据库

海外主机是什么意思?与国内主机有什么区别?

行云管家

服务器 主机 服务器运维 海外 主机运维

“养老”变“享老”,老龄人口高峰与养老产业爆发催生金融需求

易观分析

养老服务 养老金融

C++ 内存管理中内存泄漏问题产生原因以及解决方法

Linux服务器开发

C/C++ 内存管理 内存泄漏 Linux服务器开发 Linux后台开发

昆仑分布式数据库技术优势

KunlunBase昆仑数据库

分布式数据库 国产数据库

10分钟快速玩转kunlun cluster

KunlunBase昆仑数据库

分布式数据库

Promise静态四兄弟,你学会了吗?

战场小包

JavaScript 前端 Promise 3月月更

云管理平台有哪些?建议选择哪家?

行云管家

云计算 多云 云管理

主流移动端账号登录方式的原理及设计思路

BeeWorks

云图说丨初识数据工坊DWR

华为云开发者联盟

大数据 数据处理 算子 数据工坊 工作流编排

昆仑分布式数据库架构介绍

KunlunBase昆仑数据库

数据库 分布式数据库

昆仑分布式数据库技术特点

KunlunBase昆仑数据库

分布式数据库 国产数据库

广电行业如何上云?来抄作业!

天翼云开发者社区

第九周作业

lv

【51单片机】独立按键控制LED灯(四种形式)

謓泽

3月月更

JavaScript 基础(一):语法和程序结构

devpoint

JavaScript 函数 数据类型 3月月更

史上最通俗,彻底搞懂字符乱码问题的本质

BeeWorks

为什么要选择昆仑分布式数据库?

KunlunBase昆仑数据库

国产数据库

穿透、击穿、雪崩…Redis这么多问题,如何解决?

华为云开发者联盟

redis 缓存 缓存穿透 缓存击穿 缓存雪崩

CRM系统改善业务的方法

低代码小观

CRM 客户关系管理 企业管理系统 CRM系统 企业管理工具

天翼云TeleDB数据库为实现自主可控全面亮剑

天翼云开发者社区

企业IM首选移动数字化平台WorkPlus

BeeWorks

昆仑分布式数据库Sequence功能及其实现机制

KunlunBase昆仑数据库

分布式数据库

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