BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 Manuel Pais 关注 9 他的粉丝 ,译者 金明 关注 0 他的粉丝 发布于 2011年7月24日. 估计阅读时间: 3 分钟 | 都知道硅谷人工智能做的好,你知道 硅谷的运维技术 也值得参考吗?QCon上海带你探索其中的奥义

在最近的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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT