BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 霍泰稳 关注 1 他的粉丝 发布于 2007年5月12日. 估计阅读时间: 3 分钟 | 都知道硅谷人工智能做的好,你知道 硅谷的运维技术 也值得参考吗?QCon上海带你探索其中的奥义

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包括五个基本实践
  • Iterative Essentials
  • Architecture Essentials
  • Use-Case Essentials
  • Component Essentials
  • Model Essentials

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

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

    评价本文

    专业度
    风格

    您好,朋友!

    您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

    获得来自InfoQ的更多体验。

    告诉我们您的想法

    允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

    当有人回复此评论时请E-mail通知我
    社区评论

    允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

    当有人回复此评论时请E-mail通知我

    允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

    当有人回复此评论时请E-mail通知我

    讨论

    深度内容

    登陆InfoQ,与你最关心的话题互动。


    找回密码....

    Follow

    关注你最喜爱的话题和作者

    快速浏览网站内你所感兴趣话题的精选内容。

    Like

    内容自由定制

    选择想要阅读的主题和喜爱的作者定制自己的新闻源。

    Notifications

    获取更新

    设置通知机制以获取内容更新对您而言是否重要

    BT