写点什么

SEMAT:软件工程方法和理论

  • 2010-05-30
  • 本文字数:1714 字

    阅读完需:约 6 分钟

SEMAT 於 2009 成立并发表宣言,不过跟敏捷宣言很不一样:

软件工程目前受到不成熟的实践严重阻碍,具体问题包括: - 像时装业流行的时尚多于工程学科

  • 缺乏可靠和普遍接受的理论基础
  • 大量方法及其变种,而其分别缺乏理解或虚假地作大
  • 没有可靠实验评估和验证
  • 业界实践和学术业界存在分歧

我们支持一个根据牢固理论、已证实的原则、最佳实践来重新建立软件工程学:

  • 包括广泛认同和可扩展的核心元素
  • 能处理技术和人为问题
  • 受到业界、学界、研究者和用户所支持
  • 面对需求和技术转变时支持扩展

签名人士包括在软件业界和敏捷社区的人士:Scott Ambler、Barry Boehm、Larry Constantine、Erich Gamma、Tom Gilb、Ellen Gottesdiener、Sam Guckenheimer、Watts Humphrey、Capers Jones、Ivar Jacobson、Philippe Kruchten、Robert Martin、Stephen Mellor、Bertrand Meyer、James Odell、Ken Schwaber、Edward Yourdon…

SEMAT 的愿景描述联署人士同意去创造的核心内容:“集中去寻找和描述所有软件工程工序中必需的元素,通常例子包括团队合作、项目管理和过程改进.这核心亦会结合一些其他工程学科的概念,这核心必需适应改变。”

目前分成五个工作类别

  1. 定义:定义软件工程同相关概念
  2. 理论:寻找相关支持理论(倾向于数学理论)
  3. 共同元素:寻找软件工程中的共同元素
  4. 核合语言:找到一套语言来描述其他元素
  5. 评估:评估软件工程实践和理论的方法

《设计模式》的作者 Ralph Johnson 担心学术所谓的“理论”是纯粹数学,而不是业界人士所指的,他还指出连什么是软件工程都不清晰:“是指所有软件开发,还是持有软件工程学位的人所实践的软件开发活动?还是工作头衔上包含软件工程的呢?那些一般银行或者保险公司里的软件开发部门,他们的经理只有少许软件开发背景,而他们一般开发人员可能都没有计算机科学学位,没怎么接受过软件工程正规训练的又如何呢?”他认为软件业界真正的问题在于:很多人没有理会过一些在已经存在三十多年的实践。

Jorge Aranda 同意软件业界里存在很多“流行事物”,但指出这些曾经被指为“流行事物”,例如面向对象开发、极限编程等等现在都被主流开发所接受,他担心如果持保守态度下将来的创意会有所局限。

一年前, Tom DeMarco 认为软件工程这概念已死,DeMacro 怀疑早年关于度量(Metrics)的研究是否仍然有效:

“控制软件项目:管理、量度、估计在过去软件工程师量代规划项目时起到重要作用。在自我回顾的时候,我在想,到底这些建议是否在当时正确,现在是否还有用,我是否仍然认为这些度量是成功软件开发中必要的工作?我的管案是:不是,不是,以及不是”

他继续指出:“稳定性和可预测性仍然重要,但已经不是最重要的事情”。

Geert Bellekens 支持 SEMAT,他指出:

我认为可以稳妥地说我们见识过很多不同方法学,但他们背后都很类似。 如果我们把这些方法学放在一起,从远距离观看,我们都可以看出他们相似和不同的地方。

而这正是 SEMAT 所做的事情,尝试找出他们共同之处,以一套中立的方式表达出来。

Scott Ambler 亦支持 SEMAT,认为业界需要比现在更好的方法,能够有很多人参与,他也希望 SEMAT 可以产出有价值的东西。

Alistair Cockburn 曾参与 SEMAT 会议,但现在选择退出,他在文中有五点重点:

  1. 他们提出行动的请求基于未仔细研究甚至逻辑不通的论据;他以新一套“流行用语”来代替旧的“流行用语”,他内里自相矛盾,提出的问题没得到解决,而提出的解决方案根本不对题,提出的路线没有公正性,根本是误导,透过权力、夸张宣传和野心来产生支持。
  2. 组织者不关心我所关心的题目。
  3. 他们没什么机会会提到工程或者工程理论,更适合他们的名字是 “超过程核心”(“Meta-Process-Kernel”) 行动。
  4. 他们造出来的东西很难会对业界有什么影响。
  5. 他们在短期内做到什么的概率很低。

Martin Fowler 亦有被邀请参与 SEMAT,持有类似观点:

人才是软件开发中最中心的元素,而人却是不能预测的,尝试去找出共同过程元素只会是白费工夫,除非有一天,人变成可以用数学描述的。

您对 SEMAT 有什么想法呢?会局限将来创意吗?它会创造任何有价值的事情?还是真正的问题在于团队根本不知道自己忽略了重要的软件工程实践?欢迎您在文后留下您的观点。

查看英文原文 SEMAT - Software Engineering Method and Theory

2010-05-30 20:253252
用户头像

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

关注

评论

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

CodeWhisperer——一个十分强大的工具 冲!

亚马逊云科技 (Amazon Web Services)

人工智能 亚马逊云科技 云上探索实验室 Amazon CodeWhisperer

Redis - AOF 日志

zurhan

企业数字化浪潮来袭,华为云耀云服务器L实例打造中小企业

轶天下事

华为云助力中小企业应对挑战:云耀L实例在跨境电商的应用探析

轶天下事

SQL FULL OUTER JOIN 关键字:左右表中所有记录的全连接解析

小万哥

MySQL 数据库 程序员 sql 后端开发

SocialFi 和 GameFi 的碰撞 — Socrates 构建新的 Web3 流量入口

股市老人

数字经济时代:城市到底如何演绎?产业将何去何从?

平平无奇爱好科技

Programming Abstractions in C阅读笔记:p197-p201

codists

Java 学习之路

玄兴梦影

Java 编程

RWA+AI 叙事下的 ProsperEx,对 Web3 时代交易的重新定义

股市老人

卓越性能下的华为云耀云服务器L实例:小程序竞争中的利器

轶天下事

华为云耀云服务器L实例助你轻松搭建个人网站

轶天下事

双良集团:价值创造本源,设备资产管理向智能化管理实现跨越

用友BIP

资产管理

华为云耀云服务器L实例助力小程序开发的成本与效率之选

轶天下事

解放你的双手,让 ChatGPT 来帮你完成 Jenkins 到极狐GitLab CI 的迁移

极狐GitLab

ci DevOps jenkins openai ChatGPT

Databend 开源周报第 121 期

Databend

想要更高的压缩率?一文带你深入了解 TDengine TSZ 压缩算法

TDengine

tdengine 时序数据库

数智融合 开启金融数据治理新时代

酷克数据HashData

Redis 慢操作

zurhan

Java 对象的内存布局

zurhan

轻松搭建,轻松上云——华为云耀云服务器L实例助力小程序开发

轶天下事

细微之处决定胜败:从云厂商事故报告中学习经验教训

WuKongCoder

云计算 腾讯云 阿里云 华为云 AWS云

把握融合之道 推进价值创造

用友BIP

业财融合

芯片国产替代发展得怎么样了?

IC男奋斗史

华为 芯片 校园招聘 国产替代 中芯国际

数据同步:主从如何实现数据一致性

zurhan

Autoscaler 中 VPA 的设计与实现

Greptime 格睿科技

k8s 时序数据库

SEMAT:软件工程方法和理论_研发效能_Mark Levison_InfoQ精选文章