写点什么

评价并改进架构能力——新的 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:431850
用户头像

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

关注

评论

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

iPhone如何拍摄惊人的照片

懒得勤快

初探图像二值化

CagyJ

算法 CV OpenCV 图像处理

CEO观点 | 核心开放:企业拥抱开源的成功之道

极狐GitLab

开源 DevOps 安全 高效 协同办公

Go sync.Pool 浅析

HHFCodeRv

Go 语言

【LeetCode】前K个高频单词Java题解

Albert

算法 LeetCode 5月日更

商业落地页端到端性能优化实践

百度Geek说

大前端

Hibernate的get和load区别学习笔记

风翱

hibernate 5月日更

Rust从0到1-错误处理-Result

rust Error 可恢复错误 result

520特辑丨码神VS爱神:盘点程序员的四大男友力,你偏爱哪一种?

华为云开发者联盟

程序员 代码 520 男朋友 男友力

网易云课堂 Service Worker 运用与实践

有道技术团队

Service Worker

省钱、省时、省力的音视频通信服务

anyRTC开发者

音视频 WebRTC 云服务 RTC

OCR性能优化:从认识BiLSTM网络结构开始

华为云开发者联盟

OCR Seq2Seq BiLSTM 网络结构 OCR网络

嵌入式系统降低功耗的设计技术

不脱发的程序猿

嵌入式设计 嵌入式系统 低功耗

Flutter开发:Warning:CocoaPods minimum required version 1.6.0 or greater not installed…的解决方法

三掌柜

5月日更

华云大咖说 | 华云超融合在论文期刊行业的应用实践

华云数据

面向服务体系结构的领域驱动设计

码界行者

DDD

低代码“骗局”

ES_her0

5月日更

Python 多线程 VS 多进程(二)

若尘

多线程 多进程 Python编程 5月日更

211本硕如何通过字节跳动、百度、美团Android面试?复习指南

欢喜学安卓

android 程序员 面试 移动开发

Nginx高并发调优中常被忽略的参数

运维研习社

nginx 运维 并发 性能调优 5月日更

《Spring 手撸专栏》第 2 章:小试牛刀(让新手能懂),实现一个简单的Bean容器

小傅哥

Java spring 容器 小傅哥 hashmap

MemVerge认为PB级内存池将随CXL而来

Steven Xu

内存 存储 高性能服务器

视频分割修整功哪一款视频剪辑软件更好用?

奈奈的杂社

短视频 视频剪辑 视频处理 视频制作

学习笔记之:知识地图

Nydia

学习

网络攻防学习笔记 Day20

穿过生命散发芬芳

5月日更 网络攻防

350道Android面试真题分享,大厂直通车!

欢喜学安卓

android 程序员 面试 移动开发

PCB天线无线模组如何布局摆放?

不脱发的程序猿

物联网 嵌入式设计 PCB天线无线模组 无线模组布局摆放 PCB产品

TOB产品需求调研

lenka

5月日更

写给丫头

小天同学

情人节 5月日更 520单身福利 情书 告白

一文掌握 Java8 的 Optional 的 6 种操作

看山

Java

有了这三个神器工具集,应用开发想怎么玩就怎么玩

华为云开发者联盟

开发者 华为云 应用开发 工具集 APIExplorer

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