`
mochow
  • 浏览: 284989 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

初识ESSUP

阅读更多
见着大师了,不过好象没怎么激动,Ivar没照片上那么老,看起来年轻的很,精神的很,一直都面带笑容,刚去的时候他站在门口对每个来的人打招呼,我hello,hello的支吾着就进去了,没带相机啊。听了一下午,我一向听课都爱打瞌睡的,这次还好,一直坚持下来了,涂抹了点笔记,算是小有收获。中间茶歇的时候,端着咖啡和点心正准备躲在一个桌子旁边大吃一顿,结果,Ivar端着杯咖啡直奔了过来,叽里咕噜的说了一句,偶僵硬的面带笑容,完全没听清他说啥,头脑里一片空白,一脸迷惑的看着他,请他又说了一遍,晕,还是没听清,他只好又说了一遍,这才听清,真是见鬼了,然后他问偶英语是不是很好,我说not good,哈哈,大概是在他问Yes/No的问题的时候偶很积极的举手吧。然后偶扯了一两句Card Game,夸了几句,然后短路,然后偶开始低头吃点心,哈哈,老头站了一会儿,发现我没动静,喝完那杯咖啡,溜达走了,他走后偶反省了一下,发觉的确是没话说想对他说,也没啥好问的,想问的问题估计他也一时半会解释不清楚,跟他瞎掰活吧,还真费劲用蹩脚的英语跟人聊天,总不能一上去问他吃饭没吧,晕。

整理一下偶的笔记:

ESSUP的号称是下一代软件开发方法学,集Unified Process, CMMI以及Agile Method的优点于一体。Ivar本来是整UP的,后来又加上后面那两个,大概是因为他意识到在中国和印度CMMI很流行,加上这个将有利于扩大他公司的咨询业务,同时敏捷貌似已是大势所趋,他自己也承认UP is too heavy,因此把这三者一起提出来,更能吸引中国boss们的眼球。当然Ivar自己的说法则是,ESSUP是站在三个巨人的肩膀之上,从UP学来的structure,从敏捷阵营学来的Agility以及从CMMI学来的process improvement。

UP和CMMI是跟过程有关的,而Agile Method则是跟具体的开发实践有关系。我理解的ESSUP就是把UP和CMMI的并集找出来,同时加入一些符合Agile开发的特性在里头,然后寻找一种表达方式,使它能够把三者所有要表现的方面都表达出来,然后就有了Card Game的概念。当然Ivar应该也不是因为敏捷流行就跟风才承认敏捷的,肯定也是意识到了敏捷的好处,演讲的时候多次提到实践第一,过程第二。

这个Card Game就是一系列的卡片,不是普通的白板,而是按照特定格式定制的特定的卡片,从需求、架构、用户故事,测试用例到开发,等等都可以用到这些卡片,每一步都有对应的卡片,每个卡片都有两到四页的Guidelien来指导你怎么做,填写这张卡片你该具备哪些技能,你需要参考哪些书籍,或者有更详细的内容向你解释如何来使用这张卡片。不是所有的卡片你都用上了才行的,每个项目可以针对自己项目的特点来定制一些需要的东西。至于到了具体的开发阶段,估计这些卡片的用法就完全可以和敏捷开发中那些卡片的使用方法一样了。

这些卡片如果是一张张的没有秩序的堆在一起的话,就不能称之为game了,真正的game是需要把这些卡片有机的组合在一起的。于是就有了Card Board,这也是我比较感兴趣的东西。Card Board从另一个角度进行了有条理的划分,当你把所有的卡片按照一定的顺序放到对应的Card Board上去了,就意味着你的过程在一步步按步就班的进行着。具体怎么组合,那段讲的比较快也比较含糊,估计也不是一两句话就可以搞定的。我估摸着,难度最大的就是如何Play Game了,所以大家应该花钱请Ivar给大家讲怎么用才能做出好的软件来。果然,后来Ivar提到Card Borad又叫过程内核(Process Independent kernel),可见是很重要的东西。

就算他们把卡片分到对应的Card Borad去了,不同卡片之间的关联,不同Card Board中Card之间的关系,Card Borad之间的关系等等,不知道如何管理和表述这些?我想这也是Ivar提到的想要过程工程师和开发工程师双方都满意的原因吧。Card和Card Borad应该也是需要人来维护的,说不定还有一套很复杂的东呢,不过今天好象是开发工程师的天下,除了一个人之外,所有的听众都希望开发工程师happy,呵呵。

纵观Card和Card Borad,还真有点面向方面的感觉,从不同的正交的方方面面对过程进行分解,又根据一些规则(Card Borad)有效的组织起来。将面向方面的想法运用于实践之中,也是Ivar的宣传之一。这个卡片好象说是和Eclipse,Word,可能还有Rational集成了,可以利用它们画电子卡片,也可以把电子模板打印出来变成纸版的卡片,这个好处就是更加直观。Card不一定要求文档化,可以根据自己的需要进行文档化。

接着Ivar讲了Intelligent Agent,这是一个软件系统,在软件开发中的作用类似于GPS的导航系统,对于开发人员来讲,它相当于结对编程中的另一个成员一样,可以和你做结对用例,结对架构等等。Ivar说很多人买他的书,但是他知道买他书的绝大多数人不会去看的,他说这是人的天性使然,有了Intelligent Agent,不愿意看书也没关系,Intelligent Agent可以指导你下一步该怎么做。理解了你的目标,你的职责,要执行的High-level task,以及你目前的状态等等,Intelligent Agent可以帮你做迭代计划,架构,用例,它是:
1)Active Guide
2) Active Review
3)Active Automation
具体怎么用还没有具体的概念。

Ivar多次提到了八个核心要素,其中有五个(Iterative,Architecture,Use Case,Component,Modelling)是开发和技术实践方面的,另外三个(Product,Process,Team)则是社会工程学以及其他一些相关实践方面的。这八个方面可以相互分离单独的实现。

后来有人提问,问到了Alpha和Beta之间的区别。Ivar讲了一大堆,我最后的理解就是Alpha就是一个项目中最重要要的基本的核心的要素,并且是抽象的,一个Alpha可以有Sub-Alpha,而Beta则是Alpha的注解,实现和细化。比如你将要实现的系统,backlog以及风险等等都是Alpha。每个Alpha都有一套自己的beta。比如一个项目的beta可能包括项目计划,风险的beta可能是一个风险列表等等。一般有八个Top Alpha,每个Top Alpha都可能有自己的Sub-Alpha,这是由具体的实践来决定的。Beta是Alpha的Evidence,Beta似乎也可以有自己的Sub-Beta。Alpha和Beta是什么,就是写在Card上的内容呀。

接着Ivar在回答别人的提问的时候大致说了一些Agile Team方面的东东,他说社会工程学是第一位的,然后是轻量级的实践,这种轻量级的实践中,文档很粗略,需要能力很强并且经验丰富的人,最后列举了些敏捷开发的实践比如TDD,Refactor,User Story TDD等等。这阶段因为接近尾声,精神比较涣散所以听的不太仔细。

最后结束之前,Ivar讲了自己的一个小故事,说1987年他从爱立信辞职,用8000美刀创建了自己公司,雇用了三个职员,不久他写了一篇论文,并借此去参加一个会议,在那个会议上,他进行了一个二十分钟的演讲,结果会上所有的人都很兴奋,因为他是唯一一个讲商业软件开发实践的人,其他的人都讲国防啊啥的,于是Ivar回去之后很兴奋,告诉他的职员要满怀信心,并立下雄心壮志,将来要占有市场3%的分额,然后他很得意,说3%可是个很大的数目哦,之前他提到过一个乜乜的分额现在是20%,我估摸着他的意思是当初想着3%已经够雄心壮志了,结果后来到了20%,大约是想让大家对他要有信心的意思。如果没讲全的,今天也到场的同学可以补充一下啊。
分享到:
评论
24 楼 partech 2006-09-25  
加MSN,发给你
23 楼 tianxinet 2006-09-25  
partech 写道
差点忘了,现场录制了Ivar演讲的视频,有想要的麽?

哪儿?找个空间上传共享吧
22 楼 tianxinet 2006-09-25  
mochow 写道


....

但是EssUP本身的文档是可估量的。我想主要应该就是guideline of cards,每个card应该对应于一个分离出来的方面,Ivar完全可以把Card的全集弄出来,一共算算有多少张card,每张card都有2-4页的描述,那么很容易就可以得出上面那个不到200页的结论来。


card是个不错的方式,看看随后能给“懒人”提供什么样的工具吧。我现在设想一下,这个工具最好是word、openoffice、powerpoint...之类的template文档,以及eclipse的插件之类的,或者更简单(比如简单到白板、纸、手绘这些方式能呈现最好,不一定要用这种原始方式做,毕竟这样不利于交流、回顾、改进,但如果能够能用这样简单的方式做,那会较容易被接受),如果能交给开源社区去做是最好的。
21 楼 partech 2006-09-23  
差点忘了,现场录制了Ivar演讲的视频,有想要的麽?
20 楼 mochow 2006-09-22  
tianxinet 写道
Ivar说的是EssUP本身的文档,还是实施EssUP过程中的产出物/提交物这些东东?


我觉得应该是EssUP本身的文档吧。
因为Ivar似乎说EssUP运作的过程中用户可以根据自己的需要来写文档,Ivar可能没有那么自信坚信使用EssUP的用户自己写出的文档一定可以控制在200页以内。

但是EssUP本身的文档是可估量的。我想主要应该就是guideline of cards,每个card应该对应于一个分离出来的方面,Ivar完全可以把Card的全集弄出来,一共算算有多少张card,每张card都有2-4页的描述,那么很容易就可以得出上面那个不到200页的结论来。
19 楼 tianxinet 2006-09-22  
partech 写道


。。。。
源自于汽车行业利润最大的公司Toyota的精益过程,敏捷方法从中学到了很多。
我希望看到EssUP也能吸收这些简明的思想,更进一步。


虽然这种说法经常要“挨砖头”,但在我看来软件业明显在借鉴制造业的一些成熟经验--有意或无意。


partech 写道
...EssUP的文档在200页以内...

Ivar说的是EssUP本身的文档,还是实施EssUP过程中的产出物/提交物这些东东?
18 楼 tuti 2006-09-22  
把已有东西,进行重新组合.
也是一种创新的重要方式.
比如XP就是这样的典型例子.
17 楼 partech 2006-09-22  
buaawhl 写道

yes. i downloaded and will view.

说实在的,单就这类卡片、黑板描述User Story来说,属于非常原始的方法。
只是agile借此成名,所以,大家反而从办公无纸化,退了一步。

不过这也有道理。就是那种mind mapping之类的工具,表达关联关系也不是很容易。

电子版的卡片,也是可以用的,要点是一样的,简明扼要。

比如我们现在使用Excel来写用户故事,用Wiki来分配任务。

Ivar公司正在开发EssUP的软件,也是基于WEB的电子版,当然也可以打印出来。

回想起我刚开始实践UP的时候,最大的问题就是书写的文档很少有人看,并且难以维护。
这显然是很不经济的事情,随后接触了精益的思想和敏捷方法,使得我重新审视以前的工作,
确实,必须思考哪些东西是“浪费”,如何减少浪费。
源自于汽车行业利润最大的公司Toyota的精益过程,敏捷方法从中学到了很多。
我希望看到EssUP也能吸收这些简明的思想,更进一步。
16 楼 buaawhl 2006-09-22  

yes. i downloaded and will view.

说实在的,单就这类卡片、黑板描述User Story来说,属于非常原始的方法。
只是agile借此成名,所以,大家反而从办公无纸化,退了一步。

不过这也有道理。就是那种mind mapping之类的工具,表达关联关系也不是很容易。
15 楼 mochow 2006-09-22  
buaawhl 写道

明白了,突然灵光一现,抓住一个绝妙的商机。

未来的 Use Case,to do list,User Story,需求设计说明书,等等,都可以采用卡通动漫的形式。


http://www.ivarjacobson.com/html/content/essup.pdf

这篇文章里有部分card的图示,可以看看。另,这篇基本涵盖了他讲演中要表达的意思。

14 楼 buaawhl 2006-09-22  

明白了,突然灵光一现,抓住一个绝妙的商机。

未来的 Use Case,to do list,User Story,需求设计说明书,等等,都可以采用卡通动漫的形式。
13 楼 partech 2006-09-22  
buaawhl 写道

EssUP的文档在200页以内....

多大的页面,多大的字体?

这个标准太含糊了,应该给出字数。


有几十张卡片,每张卡片有2-4页的说明吧。
字数我猜有299千字,赫赫。

其实,我更赞赏这种卡片式的工作方式,就像故事卡一样,卡片记录了提纲要旨,作为一种提醒。
这种范式的表现挺普遍,比如制定计划,分配任务,演讲,听演讲,采访等等。

Ivar把卡片作为EssUP的载体,是得到了CRC卡的启发。
12 楼 buaawhl 2006-09-21  

EssUP的文档在200页以内....

多大的页面,多大的字体?

这个标准太含糊了,应该给出字数。

11 楼 抛出异常的爱 2006-09-21  
这是一个突破
UML平民化的进步啊
10 楼 partech 2006-09-21  
tianxinet 写道
Ivar的深圳行,导致EssUP今天爆热,嘿嘿

根据前期看的一些资料,感觉基本上Ivar关于Essup的why、what论述的比较清楚了,但how的论述似乎还很单薄,而mochow、partech两位的“笔记”仍然对how语焉不详,似乎需要更多实践案例来呈现how的问题--尤其是对EssUP这样“可定制的”软件过程?

“八个核心要素”,或者说5个技术实践+3个社会工程学相关实践,应该是EssUP最核心的内容,目前说明的也不够详细,今后EssUP应该围绕它们展开实践的,形成具体的实践方法、工具等,并转化成生产力,希望EssUP对它们的注解不是庞大的文档。

对EssUP这股“新风”还是有所期待。

how可能要等到OpenSource版本的EssUP出来,才看得清楚。
现场的小帅哥演示了一下其基于ajax的前期版本--“如何制作卡片”,它可以同Word,Eclipse,VS2005等集成,感觉还是蛮不错,不过整体功能还在完善中,下一步还需要完成将卡片放入GameBoard的功能。

另外,Ivar提到EssUP的文档在200页以内,还算敏捷。
9 楼 抛出异常的爱 2006-09-21  
如果是对XP+CMMI的所有方法的筛选
没有新的发明而说自己是新东西。。。。
那么就与骗钱无异了

发明与优化总结是不同的
8 楼 tianxinet 2006-09-21  
抛出异常的爱 写道
how?没有how怎么实践
XP能火主要因素也是以how开头吧

Ivar在提出EssUP以来,一直还在改进,目前我感觉关于how阐述的不足,或许很快会充实起来。
EssUP虽然有大量敏捷元素,但毕竟不是传统的“敏捷方法”(或过程),思路肯定是有所不同的。
7 楼 抛出异常的爱 2006-09-21  
how?没有how怎么实践
XP能火主要因素也是以how开头吧
6 楼 tianxinet 2006-09-21  
Ivar的深圳行,导致EssUP今天爆热,嘿嘿

根据前期看的一些资料,感觉基本上Ivar关于Essup的why、what论述的比较清楚了,但how的论述似乎还很单薄,而mochow、partech两位的“笔记”仍然对how语焉不详,似乎需要更多实践案例来呈现how的问题--尤其是对EssUP这样“可定制的”软件过程?

“八个核心要素”,或者说5个技术实践+3个社会工程学相关实践,应该是EssUP最核心的内容,目前说明的也不够详细,今后EssUP应该围绕它们展开实践的,形成具体的实践方法、工具等,并转化成生产力,希望EssUP对它们的注解不是庞大的文档。

对EssUP这股“新风”还是有所期待。
5 楼 partech 2006-09-21  
mochow 写道
最后结束之前,Ivar讲了自己的一个小故事,说1987年他从爱立信辞职,用8000美刀创建了自己公司,雇用了三个职员,不久他写了一篇论文,并借此去参加一个会议,在那个会议上,他进行了一个二十分钟的演讲,结果会上所有的人都很兴奋,因为他是唯一一个讲商业软件开发实践的人,其他的人都讲国防啊啥的,于是Ivar回去之后很兴奋,告诉他的职员要满怀信心,并立下雄心壮志,将来要占有市场3%的分额,然后他很得意,说3%可是个很大的数目哦,之前他提到过一个乜乜的分额现在是20%,我估摸着他的意思是当初想着3%已经够雄心壮志了,结果后来到了20%,大约是想让大家对他要有信心的意思。如果没讲全的,今天也到场的同学可以补充一下啊。

俺咋听成他说有3%的机会能影响整个软件业了聂?
因为在瑞典,默默无闻的他,不可能推广自己的思想,所以他来到了软件业发达的美国,曲线救国。没想到3%的机会真的给他抓住了。

相关推荐

    初识C++ 初识C++

    初识C++ 初识C++ 初识C++初识C++初识C++初识C++初识C++

    初识云计算.ppt

    初识云计算初识云计算初识云计算初识云计算初识云计算初识云计算初识云计算初识云计算

    python初识

    python 列表初识,通过此代码,你能够了解到python的列表操作

    jvm初识及JIT优化

    jvm初识及JIT优化jvm初识及JIT优化jvm初识及JIT优化jvm初识及JIT优化jvm初识及JIT优化jvm初识及JIT优化jvm初识及JIT优化jvm初识及JIT优化jvm初识及JIT优化jvm初识及JIT优化jvm初识及JIT优化jvm初识及JIT优化jvm初识...

    三年级信息技术课程初识画图

    三年级信息技术课程《初识画图》课件内容 因为要参加比赛,所属机房 装不上

    初识JavaScript(源代码)

    初识JavaScript(源代码)初识JavaScript(源代码)初识JavaScript(源代码)初识JavaScript(源代码)初识JavaScript(源代码)初识JavaScript(源代码)初识JavaScript(源代码)初识JavaScript(源代码)初识...

    初识计算机PPT课件.pptx

    "初识计算机PPT课件" 计算机的基本概念: 计算机是一种电子设备,能够执行用户的指令,进行数据处理和存储。计算机的种类很多,可以分为台式计算机、便携式计算机、掌上计算机等。 台式计算机: 台式计算机是一...

    初识C语言.pdf

    初识C语言.pdf

    初识ERP初识ERP.ppt

    初识ERP初识ERP

    初识excel教学设计

    【初识Excel教学设计】 Excel是一款广泛应用于数据管理和分析的电子表格软件,对于初学者来说,理解其基本功能和操作是至关重要的。本教学设计针对初中信息技术课程,旨在引导初一学生逐步熟悉Excel,帮助他们建立...

    《初识数据结构》教学建议.pdf

    ### 数据结构的基本概念 数据结构是计算机存储、组织数据的方式。它旨在使数据的存取和处理更加高效。数据结构通常由数据对象和数据关系两部分构成。数据对象是指具有相同数据类型的元素的集合;...

    操作系统实验报告实验一 WINDOWS进程初识

    #### 实验一:Windows 进程初识 ##### 实验目的 1. **学会使用VC编写基本的Win32 Console Application(控制台应用程序)**: - 通过本实验,学生将了解如何在Visual C++ 6.0环境中创建控制台应用程序。 - 掌握...

    初识数据安全系列语音教程

    初识数据安全系列语音教程

    初识画图软件说课稿PPT教案.pptx

    【初识画图软件】是针对小学信息技术课程的一份详细说课稿,旨在引导学生入门基本的电脑绘画技能。这份教案以人教版小学信息技术第一册的第十课为背景,内容包括教材分析、教法、学法、教学准备以及教学过程。 首先...

    头歌初识redis答案.rar

    在头歌平台初识Redis的答案可以总结如下: 一、基础知识 Redis数据库数量: Redis默认有16个数据库,可以使用select命令进行切换。 数据库大小与键的查看: 使用DBSIZE命令查看当前数据库的大小(即键的数量)。 ...

    《初识Excel》

    本课是中学信息技术-_《初识Excel》PPT课件.ppt 的课件

    第9章 初识Redis Cluster.rar

    一站式学习Redis 从入门到高可用分布式实践(九) 包含Redis基础,使用经验介绍、Java,Python客户端示范、Redis使用规范,由浅入深讲解并伴有企业中Redis开发的相关项目以及大规模Redis的实战经验,是开发和运维...

    2020—2021学年浙教版(2020)七年级下册教案-第13课初识数据结构.pdf

    根据提供的文件内容,本节课的主要内容是让学生初识数据结构,并理解算法的三种基本控制结构,包括顺序结构、分支结构和循环结构。同时,通过与学生生活紧密相关的实例,引导学生认识数据结构的概念和常见的数据结构...

    MATLAB初识神经网络

    这个“MATLAB初识神经网络”视频教程是为那些想要入门神经网络学习者设计的,它将引导你逐步了解神经网络的基本概念和MATLAB中的实现方法。 神经网络,作为人工智能的重要分支,模仿了人脑的结构和功能,通过大量的...

Global site tag (gtag.js) - Google Analytics