10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

来自荷兰格罗宁根大学的架构决策捕捉工具 RGT

  • 2013-01-24
  • 本文字数:2036 字

    阅读完需:约 7 分钟

格罗宁根大学的 Dan Tofan 向软件架构师提供了开源软件工具 RGT (Repertory Grid Tool),这种工具用于捕获和评估他们的架构决策。这个工具可以帮助架构师更好的文档化他们的决策及对决策进行回顾。

构建复杂软件系统通常需要作出许多重要的决策。在这些决策中,架构师们处理满足利益相关者关于各种功能和非功能需求的各种关注点,以便满足商业和技术目标。另外,架构师们需要他们回顾决策过程的质量,比如“我是否考虑了决策的所有可行的方案?”

为了帮助架构师,格罗宁根大学的软件工程研究者为架构决策提供了这个工具。关于这个开源工具的细节可以通过这个链接了解 https://github.com/danrg/RGT-tool/wiki .

InfoQ:Dan, 能否用最少的词描述下你自己和你的研究?

我是一名软件开发者,在业界工作六年后成为研究员。我研究方向主要是改进软件架构的决策。

InfoQ:你为什么要创造 RGT?以及它和你现在做的研究工作有什么联系呢?

我认为决策技能是架构师必备的技能,不只是为了设计软件,也为了向其他利益相关者说明基本原理。所以如果你把决策作为一种技能,比如游泳或者烹饪,那么下一步你就会理性的问:怎么才能改进自己的架构决策能力?

决策和获取架构决策知识是同时的。对获取的决策知识有效追踪。所以,使用 RGT 获得架构决策有两个主要优点:储备用于架构决策的知识,改进架构师的决策能力。

InfoQ:能否描述下 RGT?

RGT 通常有这些步骤。首先,我们有一个要决策的问题。第二步,找出问题的各种可选方案。第三步,我让你找出两个你觉得相似但又和另外一个不同的方案。第四步,你描述为什么这两个是相似的,和第三个又为什么是不同的。这样就产生了关注点(用 RGT 的术语叫“观点”)。Java 和 C#是类似的,因为他们都是由大厂商维护支持的,而 Ruby 只是社区维护支持的。然后产生更多的关注点,下一步是对各种可选方案按照关注点进行评分(通常从 1 到 5)。然后,各种可选方案会产生一个矩阵(或者叫网格),分析这些关注点以及评分,比如使用层序聚类分析,根据可选方案与关注点的相似性进行分组。最后,架构师可以通过更新可选方案,关注点,评分,精简这个网格。这个最终的网格可以反映这个决策的思维模型。总的来说,这个网格提供了这个决策的精炼文档。相对于一般的文字描述,这个文档更精炼地描述了决策。

InfoQ:RGT 的典型应用场景有哪些?

典型应用场景是从 4 到 9 种可选方案获得架构的决策。对太少的可选方案,RGT 可能误判。

对更多的替代方案,RGT 则可能会花费太长的时间。

InfoQ:RGT 对使用者提供了那些好处?

RGT 提供了获取决策的一种系统方法。同时,它也帮助产生关于决策的新的灵感。RGT 使架构师可以回顾他们的决策。最后,RGT 交付一个关于决策的文档。

当日,RGT 也有缺点。主要是 RGT 是花费时间的。因此,我觉得 RGT 更适用于那些需要周密考虑的重要决策,这也是软件架构师经常碰到的事情。当使用 RGT 讨论软件架构时,他们经常抱怨缺乏好的工具支撑。所以我们就创造了这个软件来解决。

InfoQ:这个工具有哪些主要特性?

首先,该工具帮助架构师网格化他们所有独立决策。第二,这个工具支持从现有的网格进行协同决策。办法是通过多轮的表格填写, 澄清各种利益者之间的各种分歧,最终达到一致。

最后,这个工具是开源 ( https://github.com/danrg/RGT-tool ) 的,并且部署在 http://repertorygridtool.com .

InfoQ:你希望从 RGT 用户那里获得什么样的反馈?

通常研究成果需要花费很长时间才会被工业界采用,有人说甚至要 10 到 15 年。获得用户的反馈对减少这个时间是非常有必要的。我期望两种类型的反馈:关于 RGT 和关于工具本身的。

所以,我希望听到 RGT 如何帮助架构师进行他们的决策。

因为这个工具是开源的。对这个工具的建议,Bug 的报告,以及贡献代码都是我关心的。我想围绕这个工具构建一个小的社区。

InfoQ:Grad Booch 曾经说过“傻瓜即使拥有工具还是傻瓜”。你如何确保架构师正确而有效率的方式使用 RGT?

关于更好的利用这个工具有三点。首先,确保你在正确的时间正确的地方使用 RGT:RGT 是一种利基(niche, 指范围狭窄)方法,不可能用于一切场景。第二,花一些时间学习 RGT。第三,从一些以前的架构决策开始,然后逐步在当前的决策和集体决策中使用。最后,分享你的经验,我很愿意提供帮助。

InfoQ:关于 RGT 和你的方法,你下一步有什么打算?

下一步打算增加一些基于关注点评估可选方案的实用功能,这会使评估比现在简单打分的方式更加精确。另外,我想实现关于风险管理的特性。其他的还有实现复合决策,这种决策的各种可选方案又由多种原子决策选择组合而成。复合决策可以对设计空间进行更彻底的探索,以确保那些有效的组合不会被忽略。

查看英文原文: University of Groningen Offers Repertory Grid Tool for Capturing Architecture Decisions


感谢崔康对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2013-01-24 01:192203

评论

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

国企采购堡垒机就选行云管家!优势多多!

行云管家

云计算 云安全 堡垒机 国企

国产替代的新领域:用友BIP积极投身信创生态建设

用友BIP

国产替代

为什么 MySQL 使用 B+ 树?| StoneDB数据库观察

StoneDB

MySQL 数据库 B+树

Stable Diffusion AIGC:3步成为P图大师

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 7 月 PK 榜

主流开源分析引擎梳理,看看你最中意谁?| StoneDB数据库观察

StoneDB

MySQL 数据库 StoneDB

浅谈常态化压测 | 京东物流技术团队

京东科技开发者

测试 压力测试 常态化压测 企业号 7 月 PK 榜

MySQL之InnoDB存储结构 | 京东物流技术团队

京东科技开发者

MySQL 数据库 innodb 企业号 7 月 PK 榜

复杂「场景」数据导入导出

不在线第一只蜗牛

前端 场景搭建

倒计时3天,京东技术20年实践分享邀您莅临!

京东科技开发者

京东云峰会 企业号 7 月 PK 榜

TiDB简述及TiKV的数据结构与存储 | 京东物流技术团队

京东科技开发者

数据库 TiDB TiKV 底层架构 企业号 7 月 PK 榜

房地产LED广告显示屏项目方案

Dylan

广告 项目 房地产 LED显示屏

用css实现简易报警灯| 社区征文

肥晨

年中技术盘点

聊一聊Java中的Steam流 | 京东物流技术团队

京东科技开发者

Java steam 企业号 7 月 PK 榜

用友23大行业数智底座解决方案,助力企业高质量发展

用友BIP

数智底座

CSS架构之BEM设计模式| 社区征文

肥晨

年中技术盘点

合约编写基础知识介绍基础篇

BSN研习社

非常小的一个东西,Spring依赖注入Bean类型的8种情况

不在线第一只蜗牛

前端 spring-boot

CSS中的各种格式化上下文-FC(BFC、IFC、GFC、FFC)| 社区征文

肥晨

年中技术盘点

PCB板为什么要做树脂塞孔?

华秋PCB

PCB 电路板 PCB设计 树脂塞孔 高密布线

驱动您的在线成功:解密香港云主机的关键优势

一只扑棱蛾子

香港云主机

温州堡垒机厂商哪家好?咨询电话多少?包含哪些功能?

行云管家

网络安全 堡垒机 温州 温州企业

StoneDB 开源社区月刊 | 202301期

StoneDB

开源社区 StoneDB

促进协作、提高生产力:育碧选择Perforce Helix Core的原因

龙智—DevSecOps解决方案

游戏开发 育碧 刺客信条

【直播预告】HarmonyOS 极客松赋能直播第六期:产品创新从哪里来?

HarmonyOS开发者

HarmonyOS

OpenHarmony社区运营报告(2023年6月)

OpenHarmony开发者

OpenHarmony

NLP领域再创佳绩!阿里云机器学习平台 PAI 多篇论文入选 ACL 2023

阿里云大数据AI技术

人工智能 自然语言处理 nlp 企业号 7 月 PK 榜

制造行业全面预算可以这样管!

用友BIP

全面预算

实现价值替代,不只是功能替代

用友BIP

国产替代

使用 INFINI Console 实现 Elasticsearch 的增量数据迁移

极限实验室

数据迁移 infini 实现原理 功能介绍 增量迁移

Midjourney最强劲的对手来临,SDXL被动开源的浪潮,AI生成图片未来可期 | 社区征文

派大星

年中技术盘点

来自荷兰格罗宁根大学的架构决策捕捉工具RGT_架构_Michael Stal_InfoQ精选文章