2006-09-20
初识ESSUP
整理一下偶的笔记:
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%,大约是想让大家对他要有信心的意思。如果没讲全的,今天也到场的同学可以补充一下啊。
评论
partech
2006-09-25
加MSN,发给你
tianxinet
2006-09-25
partech 写道
差点忘了,现场录制了Ivar演讲的视频,有想要的麽?
哪儿?找个空间上传共享吧
tianxinet
2006-09-25
mochow 写道
....
但是EssUP本身的文档是可估量的。我想主要应该就是guideline of cards,每个card应该对应于一个分离出来的方面,Ivar完全可以把Card的全集弄出来,一共算算有多少张card,每张card都有2-4页的描述,那么很容易就可以得出上面那个不到200页的结论来。
card是个不错的方式,看看随后能给“懒人”提供什么样的工具吧。我现在设想一下,这个工具最好是word、openoffice、powerpoint...之类的template文档,以及eclipse的插件之类的,或者更简单(比如简单到白板、纸、手绘这些方式能呈现最好,不一定要用这种原始方式做,毕竟这样不利于交流、回顾、改进,但如果能够能用这样简单的方式做,那会较容易被接受),如果能交给开源社区去做是最好的。
partech
2006-09-23
差点忘了,现场录制了Ivar演讲的视频,有想要的麽?
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页的结论来。
tianxinet
2006-09-22
partech 写道
。。。。
源自于汽车行业利润最大的公司Toyota的精益过程,敏捷方法从中学到了很多。
我希望看到EssUP也能吸收这些简明的思想,更进一步。
虽然这种说法经常要“挨砖头”,但在我看来软件业明显在借鉴制造业的一些成熟经验--有意或无意。
partech 写道
...EssUP的文档在200页以内...
Ivar说的是EssUP本身的文档,还是实施EssUP过程中的产出物/提交物这些东东?
tuti
2006-09-22
把已有东西,进行重新组合.
也是一种创新的重要方式.
比如XP就是这样的典型例子.
也是一种创新的重要方式.
比如XP就是这样的典型例子.
partech
2006-09-22
buaawhl 写道
yes. i downloaded and will view.
说实在的,单就这类卡片、黑板描述User Story来说,属于非常原始的方法。
只是agile借此成名,所以,大家反而从办公无纸化,退了一步。
不过这也有道理。就是那种mind mapping之类的工具,表达关联关系也不是很容易。
电子版的卡片,也是可以用的,要点是一样的,简明扼要。
比如我们现在使用Excel来写用户故事,用Wiki来分配任务。
Ivar公司正在开发EssUP的软件,也是基于WEB的电子版,当然也可以打印出来。
回想起我刚开始实践UP的时候,最大的问题就是书写的文档很少有人看,并且难以维护。
这显然是很不经济的事情,随后接触了精益的思想和敏捷方法,使得我重新审视以前的工作,
确实,必须思考哪些东西是“浪费”,如何减少浪费。
源自于汽车行业利润最大的公司Toyota的精益过程,敏捷方法从中学到了很多。
我希望看到EssUP也能吸收这些简明的思想,更进一步。
buaawhl
2006-09-22
yes. i downloaded and will view.
说实在的,单就这类卡片、黑板描述User Story来说,属于非常原始的方法。
只是agile借此成名,所以,大家反而从办公无纸化,退了一步。
不过这也有道理。就是那种mind mapping之类的工具,表达关联关系也不是很容易。
说实在的,单就这类卡片、黑板描述User Story来说,属于非常原始的方法。
只是agile借此成名,所以,大家反而从办公无纸化,退了一步。
不过这也有道理。就是那种mind mapping之类的工具,表达关联关系也不是很容易。
mochow
2006-09-22
buaawhl 写道
明白了,突然灵光一现,抓住一个绝妙的商机。
未来的 Use Case,to do list,User Story,需求设计说明书,等等,都可以采用卡通动漫的形式。
http://www.ivarjacobson.com/html/content/essup.pdf
这篇文章里有部分card的图示,可以看看。另,这篇基本涵盖了他讲演中要表达的意思。
buaawhl
2006-09-22
明白了,突然灵光一现,抓住一个绝妙的商机。
未来的 Use Case,to do list,User Story,需求设计说明书,等等,都可以采用卡通动漫的形式。
未来的 Use Case,to do list,User Story,需求设计说明书,等等,都可以采用卡通动漫的形式。
partech
2006-09-22
buaawhl 写道
EssUP的文档在200页以内....
多大的页面,多大的字体?
这个标准太含糊了,应该给出字数。
有几十张卡片,每张卡片有2-4页的说明吧。
字数我猜有299千字,赫赫。
其实,我更赞赏这种卡片式的工作方式,就像故事卡一样,卡片记录了提纲要旨,作为一种提醒。
这种范式的表现挺普遍,比如制定计划,分配任务,演讲,听演讲,采访等等。
Ivar把卡片作为EssUP的载体,是得到了CRC卡的启发。
buaawhl
2006-09-21
EssUP的文档在200页以内....
多大的页面,多大的字体?
这个标准太含糊了,应该给出字数。
多大的页面,多大的字体?
这个标准太含糊了,应该给出字数。
抛出异常的爱
2006-09-21
这是一个突破
UML平民化的进步啊
UML平民化的进步啊
partech
2006-09-21
tianxinet 写道
Ivar的深圳行,导致EssUP今天爆热,嘿嘿
根据前期看的一些资料,感觉基本上Ivar关于Essup的why、what论述的比较清楚了,但how的论述似乎还很单薄,而mochow、partech两位的“笔记”仍然对how语焉不详,似乎需要更多实践案例来呈现how的问题--尤其是对EssUP这样“可定制的”软件过程?
“八个核心要素”,或者说5个技术实践+3个社会工程学相关实践,应该是EssUP最核心的内容,目前说明的也不够详细,今后EssUP应该围绕它们展开实践的,形成具体的实践方法、工具等,并转化成生产力,希望EssUP对它们的注解不是庞大的文档。
对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页以内,还算敏捷。
抛出异常的爱
2006-09-21
如果是对XP+CMMI的所有方法的筛选
没有新的发明而说自己是新东西。。。。
那么就与骗钱无异了
发明与优化总结是不同的
没有新的发明而说自己是新东西。。。。
那么就与骗钱无异了
发明与优化总结是不同的
tianxinet
2006-09-21
抛出异常的爱 写道
how?没有how怎么实践
XP能火主要因素也是以how开头吧
XP能火主要因素也是以how开头吧
Ivar在提出EssUP以来,一直还在改进,目前我感觉关于how阐述的不足,或许很快会充实起来。
EssUP虽然有大量敏捷元素,但毕竟不是传统的“敏捷方法”(或过程),思路肯定是有所不同的。
抛出异常的爱
2006-09-21
how?没有how怎么实践
XP能火主要因素也是以how开头吧
XP能火主要因素也是以how开头吧
tianxinet
2006-09-21
Ivar的深圳行,导致EssUP今天爆热,嘿嘿
根据前期看的一些资料,感觉基本上Ivar关于Essup的why、what论述的比较清楚了,但how的论述似乎还很单薄,而mochow、partech两位的“笔记”仍然对how语焉不详,似乎需要更多实践案例来呈现how的问题--尤其是对EssUP这样“可定制的”软件过程?
“八个核心要素”,或者说5个技术实践+3个社会工程学相关实践,应该是EssUP最核心的内容,目前说明的也不够详细,今后EssUP应该围绕它们展开实践的,形成具体的实践方法、工具等,并转化成生产力,希望EssUP对它们的注解不是庞大的文档。
对EssUP这股“新风”还是有所期待。
根据前期看的一些资料,感觉基本上Ivar关于Essup的why、what论述的比较清楚了,但how的论述似乎还很单薄,而mochow、partech两位的“笔记”仍然对how语焉不详,似乎需要更多实践案例来呈现how的问题--尤其是对EssUP这样“可定制的”软件过程?
“八个核心要素”,或者说5个技术实践+3个社会工程学相关实践,应该是EssUP最核心的内容,目前说明的也不够详细,今后EssUP应该围绕它们展开实践的,形成具体的实践方法、工具等,并转化成生产力,希望EssUP对它们的注解不是庞大的文档。
对EssUP这股“新风”还是有所期待。
partech
2006-09-21
mochow 写道
最后结束之前,Ivar讲了自己的一个小故事,说1987年他从爱立信辞职,用8000美刀创建了自己公司,雇用了三个职员,不久他写了一篇论文,并借此去参加一个会议,在那个会议上,他进行了一个二十分钟的演讲,结果会上所有的人都很兴奋,因为他是唯一一个讲商业软件开发实践的人,其他的人都讲国防啊啥的,于是Ivar回去之后很兴奋,告诉他的职员要满怀信心,并立下雄心壮志,将来要占有市场3%的分额,然后他很得意,说3%可是个很大的数目哦,之前他提到过一个乜乜的分额现在是20%,我估摸着他的意思是当初想着3%已经够雄心壮志了,结果后来到了20%,大约是想让大家对他要有信心的意思。如果没讲全的,今天也到场的同学可以补充一下啊。
俺咋听成他说有3%的机会能影响整个软件业了聂?
因为在瑞典,默默无闻的他,不可能推广自己的思想,所以他来到了软件业发达的美国,曲线救国。没想到3%的机会真的给他抓住了。







评论排行榜