【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

评价并改进架构能力——新的 SEI 论文

  • 2008-05-13
  • 本文字数:2568 字

    阅读完需:约 8 分钟

卡内基梅隆®软件工程学院(SEI)最近发表了“适用于评价和改进架构能力的模型”,这篇 87 页的报告分析了软件架构师和组织怎样才能营造持续生产高质量架构的环境。摘要摘抄如下:

软件架构能力是个人或组织获取、使用、胜任对开展以软件架构为中心的实践来说必不可少的技能和知识。以前架构的工作主要集中在它的技术方面:创建、分析、 使用架构的方法和工具。然而,不同的观点认为,这些活动由组织中的人来执行,而那些人和组织可以利用有助于持续产生高质量架构的帮助。

报告认为人类行为和能力的四大模型同样适用于软件架构师:职责、技能和知识;人类绩效技术;组织协调;以及组织内学习。

软件架构师必备的 **** 职责、技能和知识(DSK)

作者(Len Bass、Paul Clements、Rick Kazman 和 Mark Klein)认为“职责、技能和知识构成了支撑其它个人架构能力的铁三角”,并根据从大量原始数据中得出的相当可观的研究成果,列出了每个领域的属性。

确认的职责包括:

  • 架构——创建架构;架构的评价和分析;文档;现有的系统和改造;还有不能明确归类到上述类别的其它架构职责
  • 架构之外的生命周期阶段——需求;编码;测试;未来技术;工具和技术的选择
  • 与利益相关方的配合——与一般意义上的利益相关方相配合,或者说是除客户或开发人员之外的利益相关方相配合;客户;开发人员
  • 管理——项目管理;人员管理;辅助管理
  • 组织和相关业务知识——组织;业务知识
  • 领导力和团队建设——技术领导力;团队建设

确认的技能包括:

  • 沟通技巧——对外沟通的技巧;通常的沟通技巧;内部沟通技巧
  • 人际关系技巧——团队内部;团队外部
  • 工作技能——领导力;有效管理工作量;专长于团体环境;处理信息
  • 个人技能——个人素质;处理未知因素;处理突发的事态发展;学习技能

确认的知识面包括:

  • 计算机科学知识——架构概念知识;软件工程知识;设计知识;编程知识
  • 技术和平台知识——特定的技术和平台;全面的技术和平台知识
  • 组织背景和管理的知识——领域知识;行业知识;企业知识;领导力和管理的技巧和经验

报告建议个人可以通过以下三种方式来提升自己的 DSK 能力:

  1. 获取执行职责的经验:做学徒是获取经验极富成效的方式。单靠教育是不够的,因为没有实际应用的教育仅仅能强化知识。
  2. 提高非技术技能:这方面的提升包括参加专业的发展课程,比如领导力或时间管理方面的。
  3. 掌握知识体:称职的架构师必须要做的一件重要事情就是掌握知识体并保持掌握最新的知识。参加课程、取得认证、阅读书籍和期刊、访问网站和门户、阅读博客、参加面向架构的会议、加入一个专业的协会、与其他架构师沟通,这些都是提升知识的有用方式。

人类绩效技术,一种适用于提高个人能力的工程学方法

在本节中,作者论述了如何利用由 Thomas F. Gilbert 创始的人类绩效技术(HPT):

  • 我们期望工程师有价值的绩效;也就是以合理的成本创造价值的绩效。绩效 = 价值 / 成本。
  • 绩效提升潜能(PIP)是模范绩效与标准绩效之间的比率,其中模范绩效表示能合理预期的最佳绩效。PIP=Wexemplary/Wtypical。如果最好的工人在最好的环境中用 10 单元的成本创造出了价值 75 单元的绩效,那么这个工人的绩效是 7.5。如果中等能力的工人创造了 2.5 的绩效,那么我们的 PIP 是 3,这表示通过提升步骤,中等能力执行者产生的绩效能增至 3 倍。高 PIP 值预示着很大的改进机会,也应该是重点努力的东西。低 PIP 值(接近 1)则需要为更进一步的改进做大量的投资。在竞争异常激烈的领域,PIP 值往往很低,对高重复性的任务来说,PIP 值也是这样的。这个推理(Gilbert 明确做出的)假设“低绩效通常有较大的潜力。”或者说,“一个人或一组人的能力越欠缺,提升他们的绩效会越容易。”这个比率要想有意义,必须用可识别的成绩来表示,因为没有“能力的一般质量”。
  • 绩效提升的关键是找到能准确反映绩效价值的合适的度量标准。

(HPT 的一个现代演化可参看六盒模式)。

作者确定了应用 HPT 的两个问题——如何度量架构师的绩效价值?计算这个价值需要什么基础设施?

到现在为止,我们只是初步思考了第一个问题,第二个问题还没有相关的报告。我们建议使用 DSK 模型中的职责来分离出架构师工作的各个方面。

组织协调,研究人和小组如何在组织中共享信息

报告的这一部分侧重于多地开发。报告提议,在每个小组都在处理同一个模块的前提下,依赖结构矩阵(Dependency Structure Matrix,DSM)可用来揭示模块之间的交互。DSM 可以度量组织内需要多少协调:

满足协调要求的协调能力,架构施加给组织的这一能力是架构能力的一个方面。

报告接着讨论了协调的方法,包括讨论了架构师如何在各团队之间扮演一个协调者:

举例来说,有一位架构师在两组开发人员之间做协调,其好处就是可能获得额外的背景信息,并能在对前景做决定时利用两组的决定。协调者的损失则会包括瓶颈的可能性、引起延迟的可能性、以及在开发人员之间传递时信息丢失的可能性。

组织内学习,组织如何获取、吸收、利用知识来提升绩效的方法学

报告宣称,具有架构能力的组织有能力通过被称为“内观(mindfulness)”的方式把经验转化为知识:

比如在完成模块或子系统之后,架构团队对其进行评审或架构分析,以意识到什么进行得很好、什么进行得很糟,这样的架构团队就可做为使用用心学习的团体的范例。

结论

报告最后面的几章重点概况了模型的主题,比如:

指导其他架构师很有可能产生高质量的架构。因为接受辅导是获取真实世界经验的有效方式,从而成为一名更有能力的架构师。

此外,报告论述了能力评价的一些问题该如何实行,比如在考虑职责的时候:

职责:创建一个架构
问题:如何创建一个架构?

  • 如何确保架构与业务目标是相匹配的?
  • 架构创建过程的输入是什么?提供给架构师的输入是什么?
  • 架构师如何验证提供的信息?输入不充分 / 不适当的情况下,架构师该怎么做?

作者没有推出一套堂皇的“能力统一模型”,相反,提供了一些利用多个模型来改进的策略,最后总结道:

四个模型合起来能用多种方式提供强有力的覆盖。它们提供了对过去绩效和当前活动的一种基本度量方法。它们覆盖到的可观察的可能性有:工件、过程、人和组 织。最后,它们能以一组的方式很好地应用于个人、团队和组织。这样的覆盖给了我们信心,相信这四种模式合起来将产生有价值并可靠的结果。

该报告可以从此处下载(PDF,990 KB)。

查看英文原文: Evaluating and Improving Architectural Competence - A New SEI Paper

2008-05-13 06:431274
用户头像

发布了 151 篇内容, 共 60.0 次阅读, 收获喜欢 18 次。

关注

评论

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

病假单|病假条|体检报告|诊断证明书|病历证明|医院化验单|ct报告|b超单|怀孕检查

病假条病假单

小红书如何应对万亿级社交网络关系挑战?图存储系统 REDtao 来了!

小红书技术REDtech

云原生 存储 图数据库 跨云多活

八股MQ002——说说Rebalance?

Codyida

后端

NFTScan 推出「nftonchain」Telegram channel,实时推送链上 NFT 热点数据

NFT Research

NFT 智能推送 #Web3

自动化测试 | 如何在API开发中践行“设计优先”方法?SwaggerHub助您一臂之力

龙智—DevSecOps解决方案

API SmartBear

太强了!阿里人用138个案例讲明白了Spring全家桶+Docker+MQ

做梦都在改BUG

Java spring 微服务 Spring Cloud Spring Boot

硬核!阿里自爆虐心万字面试手册,Github上获赞89.7K

做梦都在改BUG

Java 程序员

干货满满的技术盛宴!OpenHarmony开发者大会技术分论坛成功举办

最新动态

使用TPC-H 进行GreatSQL并行查询测试

GreatSQL

MySQL 并行查询 greatsql greatsql社区

面试被Spring Cloud拿捏?莫慌,阿里人用五个模块讲明白了SpringCloud微服务架构

做梦都在改BUG

Java 架构 微服务 Spring Cloud

SpringBoot 项目解决跨域的几种方案

做梦都在改BUG

Java Spring Boot

简洁好用的思维导图软件:simplemind 中文版

真大的脸盆

Mac 思维导图 Mac 软件 思维导图软件

Netty服务端开发及性能优化 | 京东云技术团队

京东科技开发者

Netty 高性能 netty内存管理 企业号 5 月 PK 榜

演讲回顾 | 释放Atlassian工具的力量

龙智—DevSecOps解决方案

Atlassian Jira Atlassian 云版

全球首个开发者村“开村”!数字之光在何处点亮?

白洞计划

膜拜!阿里人用10W字面经把Java面试官拿下了

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

八股MQ005——聊聊Broker

Codyida

后端

升级企业数智化底座 用友iuap拉满长期主义

用友BIP

叹服!阿里自述SpringCloud微服务:入门+实战+案例

做梦都在改BUG

Java 架构 微服务 Spring Cloud

OceanBase 4.0(小鱼)入选2023数字中国建设峰会“十大硬核科技”!

OceanBase 数据库

数据库 oceanbase

中国信通院召开政企信息技术应用创新(信创)促进中心启动会

信通院IOMM数字化转型团队

信创 信创产业 信创生态

八股MQ001——为什么需要使用MQ?

Codyida

后端

版本控制 | 如何使用虚幻引擎的多用户编辑(MUE)功能

龙智—DevSecOps解决方案

版本控制 虚幻引擎 虚拟制作 虚幻多用户编辑

即时通讯技术文集(第14期):WebSocket精华文章合集 [共15篇]

JackJiang

网络编程 即时通讯 IM

第四范式开源强化学习研究通用框架,支持单智能体、多智能体训练,还可训练自然语言任务!训练速度提升17%

Geek_32eb82

153个!PCB板上的字母符号都代表啥?一图带你搞懂!

华秋PCB

物理 电路 元器件 PCB PCB设计

京东物流常态化压测实践 | 京东云技术团队

京东科技开发者

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

分布式编译系统的搭建

GreatSQL

MySQL greatsql社区 分布式编译

Python函数基础回顾

timerring

Python

八股MQ004——聊聊Producer

Codyida

后端

openEuler之上的K3s ARM64集群管理

openEuler

Linux 云原生 k8s AWS Kubernetes Serverless

评价并改进架构能力——新的SEI论文_治理_Gavin Terrill_InfoQ精选文章