关于Ivar的“下一代开发过程”:一些想法
前几天有幸聆听了Ivar的下一代开发过程(NGP,呵呵,又一个新名词)讲座,作为准备工作,看了一下CSDN的专题:http://www.csdn.net/IJS/,结果Ivar讲的都是材料上写的那些内容,不过这是我第一次瞻仰Ivar,还是值得的
感觉新东西并不是太多,但Ivar想把新的一些技术揉入到他的Unified Foundation里面去,比如MDA、SOA、ESB都有提到。目前由于这些技术的发展情况,估计很多东西还停留在概念上。但是Ivar认为他的NGP是smart的,比agile的更酷。
我一直对agile很感兴趣,但同时从来也没有终止过怀疑,比如XP中对设计框架(仅仅用隐喻和重构,好像难以说服我)、设计柔度上的不够重视,总是不能让我信服。软件的变化导致设计方法的变化,但是这是对不可预期的变化,如果对于可预期的变化,决不提前设计的态度也是那么极端(extreme)的话,我总是难以释怀的。另外,矫枉过正,“过正”总之不是正道,可能XP在某一时期可以是正确的做法,但我认为它不是最终正确的。
Ivar毕竟是大师,他指出了XP中的另外一个问题,就是对于知识的管理形式。RUP以及一些传统重型的软件开发过程中通过文档或者其它的形式对开发中的各种知识进行了显式的提取和表示、积累。而XP中这些知识都是隐式的,tacit的,这除了导致Ivar说到的项目成员对一个知识理解的各不相同导致的效率浪费之外(一千个项目组可能有一千种应用XP的方法,不知道多少可以成功
),还带来了另外一个问题,就是对项目成员的能力要求,这也许正是XP为什么通常对成员能力要求较高的原因之一吧。另外,感觉Ivar的smart process中最重要的就是他的那个可以帮助在显式知识库中主动(active)为开发者提供知识的智能agent。这里面最关键的也应该是这个智能agent的具体实现效果能够达到怎么一个程度。一涉及到这些东西(AI、DSS等),由于现在这些领域的进展并没多大,我就有些怀疑他的这个智能agent的实用性。不过看jacobson公司分发的资料,上面提到他们的这个智能agent工具way pointer竟然得过jolt大奖,确实挺出人意外的。他们的网站上有下载,但我down下来还没怎么用,呵呵,真的有这么好吗?有空我得用用看。