写点什么

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

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

关注

评论

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

全网首推!头条大佬手码的164页Elasticsearch核心学习手册,我服了

做梦都在改BUG

Java 搜索引擎 elasticsearch ES

Maven的依赖作用域和依赖传递

做梦都在改BUG

Java maven 依赖

一文纵览Umi's Friends生态,GameFi浪潮的变革者

鳄鱼视界

对上一年工作中猫腻的总结

HoneyMoose

Nautilus Chain:我们将支持EIP6969

威廉META

原来JS函数提升 变量提升原来是这样

夜猫西街

真香!阿里最新产出分布式进阶实战手册,涵盖分布式架构所有操作

Java你猿哥

Java 架构 Spring Cloud Spring Boot ssm

专业笔记工具:Keep It 激活版

真大的脸盆

Mac Mac 软件 笔记工具

大神在民间!碰巧在Github发现一个Java面试高分Guide,已跳槽涨20K

做梦都在改BUG

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

Nautilus Chain:我们将支持EIP6969

鳄鱼视界

深度学习应用篇-计算机视觉-图像增广[1]:数据增广、图像混叠、图像剪裁类变化类等详解

汀丶人工智能

人工智能 深度学习 CV 计算机视觉 图像增广

SpringBoot异步线程,父子线程数据传递的5种姿势

Java你猿哥

Java Spring Boot 线程 ssm 异步

2023金三银四Java开发岗热门面试题总结

小小怪下士

Java 程序员 面试 金三银四

C语言编程-位域

梦笔生花

原来user.dir竟然会影响classpath的值

Java你猿哥

Java tomcat classpath ssm

Nautilus Chain:我们将支持EIP6969

西柚子

2023-06-03:redis中pipeline有什么好处,为什么要用 pipeline?

福大大架构师每日一题

redis 福大大

构筑算力时代的全光底座,华为带来了面向F5.5G演进的战略蓝图

脑极体

光网络

强化学习基础篇[3]:DQN、Actor-Critic详细讲解

汀丶人工智能

人工智能 深度学习 算法 强化学习 DQN

一文读懂Java多线程背后的故事

做梦都在改BUG

Java 多线程

阿里架构师JVM基础到调优笔记,吃透阿里P6小case

做梦都在改BUG

Java 性能优化 性能调优

不愧是牛客网爆火的1658 页《Java 面试突击核心讲》,面面俱到太全了

采菊东篱下

Java 程序员 面试

来自大佬的洗礼!全网独家的SpringCloud Alibaba学习笔记,太全了

做梦都在改BUG

Java 架构 微服务 Spring Cloud

Github上获赞59.8K的面试神技—1658页《Java面试突击核心讲》

做梦都在改BUG

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

首屈一指,清华大佬首推"中高级Java程序员进阶小册",程序员架构进阶必备

做梦都在改BUG

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

分治法求序列中的最大和次大元素

夜猫西街

阿里内部总结的微服务笔记,从入门到精通小白也能学的会

Java你猿哥

分布式 微服务 微服务架构 Spring Cloud ssm

简化Mybatis分页操作,让我们来聊聊 PageHelper 及实现原理

Java你猿哥

Java mybatis ssm PageHelper

鲨疯了,阿里限时开源的亿级高并发设计实录,Github都为之低头

做梦都在改BUG

Java 系统设计 高并发

Nautilus Chain:独特且纯粹的创新型 Layer3

BlockChain先知

构建可靠的物联网系统:了解 MQTT 性能测试

EMQ映云科技

物联网 性能测试

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