写点什么

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:253208
用户头像

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

关注

评论

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

龙举云兴|顶级项目 Apache InLong 核心技术探秘

腾讯云大数据

Apache

异常追踪频道与 IM 双向互动

观测云

可观测性用观测云 异常追踪

生成式AI:游戏研发的新革命

百度开发者中心

人工智能 文心一言

全面揭秘:抖音集团 QUIC 千万 QPS 应用实践

火山引擎边缘云

传输协议 QPS QUIC QUIC协议 火山引擎边缘云

社交软件源码的核心,IM即时通讯技术

山东布谷网络科技

源码 IM

机器学习完整路径

木南曌

机器学习

「你说,PC做」AIGC智能体产品化时代到来

ToB行业头条

生成式AI的数据需求与保障

百度开发者中心

人工智能 文心一言

生成式AI:内容创作的新革命

百度开发者中心

生成式AI助力中国汽车产业发展

百度开发者中心

人工智能 汽车 文心一言

生成式AI引领视频制作创新

百度开发者中心

人工智能 视频 文心一言

生成式AI助力开发者创新

百度开发者中心

人工智能 百度文心一言

生成式AI掀起创意革命

百度开发者中心

人工智能 文心一言

三分钟上手!一文看懂 Git 的底层工作原理

高端章鱼哥

git

在 React 中获取数据的6种方法

互联网工科生

JavaScript React Promise

软件测试 | web测试-辨别时间格式

测吧(北京)科技有限公司

测试

生成式AI助力搜索应用创新

百度开发者中心

人工智能 百度文心一言

一次网络不通"争吵"引发的思考

阿里巴巴云原生

阿里云 云原生

mac电脑必备:Paste for Mac(剪切板管理工具) v3.1.5直装版

mac

苹果mac Windows软件 Paste 剪切板管理工具

Python案例|Pandas正则表达式

TiAmo

Python pandas 数据清洗

生成式AI:企业创新与效率的新引擎

百度开发者中心

人工智能 文心一言

如何阅读并学习 MegEngine 的代码

MegEngineBot

深度学习 开源框架 MegEngine

生成式AI:改变生活与工作的未来力量

百度开发者中心

人工智能 文心一言

如何使用Asp.net Core实现定时任务,轻松解决任务调度问题!

高端章鱼哥

Web ASP.NET Core 任务调度

【墨菲安全实验室】jeecg-boot/积木报表基于H2驱动的任意代码执行漏洞

墨菲安全

网络安全 安全 漏洞 JeecgBoot MPS-bjs4-n6dm

中小企业数字化转型系列研究——CLM测评报告

向量智库

深入探索智能未来:文本生成与问答模型的创新融合

汀丶人工智能

自然语言处理 文本生成

九科信息成功中标中国核动力研究设计院安全自动化应用开发项目

九科Ninetech

软件测试 | 以编程方式对时间值进行编码

测吧(北京)科技有限公司

测试

软件测试 |web测试—截获和修改POST请求

测吧(北京)科技有限公司

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