写点什么

Ivar Jacobson 谈软件工程和敏捷的融合

  • 2007-05-10
  • 本文字数:1010 字

    阅读完需:约 3 分钟

UML 创始人之一、雅各布森咨询公司创始人Ivar Jacobson 在5 月10 日参加了一场由 CSDN 承办的“最佳实践之旅”的研讨会。在会上,Ivar 博士详细介绍了其最新提出的核心统一过程(EssUP,Essential Unified Process)方法。

时下在软件技术社区,相对于火花四溅的Agile、XP、Scrum 等灵巧方法,UP、CMMI 等“高大而笨重”的软件工程显然受到了不少冷落。其实就其内涵,它们都是非常好的软件开发方法,只是现在人们更多地将其形式化了,正如与会的中创软件集团 CEO 景新海对此事的评价一样:

……一阵风一样,在各方因素的推进下,很多企业争相上马 CMMI,宣称自己通过了几级认证,然后给出厚厚的一堆文档资料作证。可他们真的理解了 CMMI 的内涵了吗?我看未必。……

尽管有被形式化、笨重化的原因,UP、CMMI 等还是显得复杂了许多。EssUP 可是说是对此类软件工程的一次革新。在软件工程领域摸爬滚打了近 40 年,Ivar 博士显然知道哪儿是 UP 或 RUP 的精髓,哪些又是繁文缛节。和以前要理解软件工程必须先阅读海量数据和指南所不一样的是,Ivar 在发现人们并不喜欢阅读书籍之后,将 UP、RUP、CMM,甚至包括敏捷在内的开发方法进行了提取,形成一套核心而易操作的实践,也就是 EssUP。通过 EssUP,软件开发人员不需要很陡峭的学习曲线,通过为数不多写在卡片上的指南就可以完成对项目的梳理。Ivar 这样阐释 EssUP 的概念:

EssUP 是建立在软件开发实践之上的第三代软件开发过程,它集成了来自 UP、Agile 和 CMMI 等传统统一过程阵营的最佳实践。应用面向方面软件开发(AOSD)的思想和技术分离出众多软件过程中的最佳实践。 EssUP 包括五个基本实践

  1. Iterative Essentials
  2. Architecture Essentials
  3. Use-Case Essentials
  4. Component Essentials
  5. Model Essentials 和三个支撑实践
  6. Product Essentials
  7. Process Essentials
  8. Team Essentials

另外 Ivar 还提到 EssUP 现在并不单纯是一套理论,它已经获得了很多主流开发平台的支持,比如 Visual Studio Team System Eclipse 等。值得一提的是,软件工程和敏捷两个看似矛盾的方法在 EssUP 里却能相得益彰。在《程序员》杂志 04 月刊 Ivar 发表的《敏捷究竟是什么?》一文中,他较为详细地阐述了相关内容:

……软件工程与敏捷抓住了软件开发的不同方面。软件工程的强处在于技术性实践;而敏捷的优势是社会工程。因此它们是互补的。软件工程就像是件紧身衣,而敏捷是轻巧的,并且更难于驾驭。问题在于,我们能否集合两个世界的优点。是的,我们能!

2007-05-10 22:27760

评论

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

Rust从0到1-高级特性-宏

rust 高级特性 Macros

【VueRouter 源码学习】第五篇 - 两种路由模式的设计

Brave

源码 vue-router 9月日更

学会这5种JS函数继承方式,前端面试你至少成功50%

华为云开发者联盟

面试 大前端 js 继承 函数继承

Vue进阶(九十九):页面锚点至顶部

No Silver Bullet

Vue 9月日更

朋友圈架构设计

XP

模块(三)如何设计出合理的架构

我是一只小小鸟

学习Linux tar 命令:最简单也最困难

华为云开发者联盟

Linux 文件 Linux tar tar命令 存档

论亚马逊QLDB与腾讯TDSQL对历史数据的管理和计算

腾讯云数据库

数据库 tdsql

【Flutter 专题】54 图解基本生命周期

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 9月日更

微型博客开发项目,手动创建导航组件的新增页面

梦想橡皮擦

9月日更

颇具年代感的《JMeter中文操作手册》

FunTester

Jmeter 性能测试 自动化测试 接口测试 FunTester

TLS协议分析 (五) handshake协议 证书与密钥交换

OpenIM

Vue进阶(壹佰):当前页面刷新并重载页面数据

No Silver Bullet

Vue 9月日更

TLS协议分析 (四) handshake协议概览

OpenIM

GetX代码生成IDEA插件,超详细功能讲解(透过现象看本质)

小呆呆666

带你认识数据库视图对象,下次不要再认成“表”了

华为云开发者联盟

数据库 sql 对象 视图 GaussDB(DWS)

EMQ 映云科技与 RT-Thread 达成战略合作,共建产业物联网平台

EMQ映云科技

人工智能 云计算 大数据 物联网 emq

腾讯云 TDSQL 审计原理揭秘

腾讯云数据库

数据库 tdsql

如何在AI工程实践中选择合适的算法?

博文视点Broadview

解读顶会ICDE’21论文:利用DAEMON算法解决多维时序异常检测问题

华为云开发者联盟

华为云数据库 时序数据 深度神经网络算法 DAEMON 轨迹分析

从源码角度分析 MyBatis 工作原理

vivo互联网技术

sql mybatis JDBC ORM

【LeetCode】分割平衡字符串Java题解

Albert

算法 LeetCode 9月日更

搞懂现代Web端即时通讯技术一文就够:WebSocket、socket.io、SSE

JackJiang

websocket 即时通讯 IM

为数据赋能:腾讯TDSQL分布式金融级数据库前沿技术 - 云+社区 - 腾讯云

腾讯云数据库

数据库 tdsql

使用GO语言实现Mysql数据库CURD

Regan Yue

数据库 Go 语言 9月日更

终于,基础软件领域的行业盛会来了!

Jessie

开源 云原生 基础软件 中间件 #数据库

LeetCode题解:897. 递增顺序搜索树,栈,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

Retrofit源码解读HTTP

Changing Lin

android 9月日更

TLS协议分析 (三) record协议

OpenIM

直播预告:京东云DevOps与JFrog制品库的融合

京东科技开发者

DevOps 制品库管理 运维开发

从 CI_CD 到 DevOps

SoFlu软件机器人

DevOps 自动化 基础软件

Ivar Jacobson谈软件工程和敏捷的融合_SOA_霍太稳@极客邦科技_InfoQ精选文章