在 5 月 11 日至 13 日举行的由中国软件协会过程改进分会主办的中国系统与软件过程改进年会(SPI)中,软件方法论大师Ivar Jacobson 作为主题演讲嘉宾,介绍了SEMAT 以及SEMAT China 的成立。
SEMAT (软件工程方法和理论)是由 Ivar Jacobson(RUP、UML、组件和组件架构、用例之父),Bertrand Meyer(即 Eiffel 语言之父)和 Richard Soley(对象管理集团 Objective Management Group(OMG) 主席)发起的,旨在打造一个坚实的理论﹑原则和最佳实践的基础,重新定义当今不成熟的软件工程。SEMAT 于 2009 年 12 月 10 日正式启动,其成立宣言的签署者包含了诸多业界名人。InfoQ 在去年对其进行了报道,引起了褒贬不一的评论。
在这次 SPI 的现场演讲中,Ivar 延续了慷慨激昂的作风,把 SEMAT 描述成具有划时代意义的,通向软件行业未来的运动,并号召中国软件人士积极参与。InfoQ 记者有幸对 Ivar 的演讲进行了独家专访。
众所周知,随着敏捷的兴起,越来越多人坚信软件行业“没有银弹”。您怎么看待这个说法?SEMAT 是否想要打造下一个银弹?
SEMAT 没有想要打造银弹,它想把我们软件人目前通用的、大家都认可的开发软件的核心总结出来,用简单的语言作为标准固定下来,而并没有想要针对任何问题给予解决方案。比如,所有的软件开发都需要做需求分析,都需要设计,都需要开发,都需要测试。SEMAT 会把这些元素提炼出来,而不会定义这些元素该如何组合。瀑布有瀑布的组合方式,Scrum 有 Scrum 的组合方式,虽然他们现在对这些核心元素的称呼不同。
是否可以理解为,比如汽车肯定有四个轮子,一个方向盘,这是大家认可的东西,SEMAT 也想定义软件行业中类似于此的共识?
对,但是不会定义先造轮子还是先造方向盘,也不会定义轮子应该是哪个牌子,只会说这些都是软件开发中所必须的,不可或缺的。
如今软件从业人员都希望软件方法论能解决实际问题。那如果 SEMAT 只提供标准,而不给予解决方案的话,那 SEMAT 对软件工程行业的价值又在哪里?
SEMAT 希望能搭建一个软件过程方法的基础,在这个基础之上我们可以比较它们的不同,CMMI 也好,RUP 也好,Scrum 也好,也包括将来会出现的新的方法论。拿 Scrum 做例子,如果以 SEMAT 为基础,会发现它的框架本身缺失了许多软件开发的重要因素,比如它没有定义需求分析的全部过程,只说要有一份 Product Backlog。
Scrum 似乎是故意缺失一些东西,让使用者自己定义的。
没错,这不重要。重要的是,在 SEMAT 的基础之上,使用方法论的人可以知道他所使用的方法论是什么东西,并且与别的进行比较。当今软件开发的方法论如时尚界一般,以前流行 CMMI,现在 Scrum 流行,将来可能流行精益和看板。我们需要一个比较不同方法论的基础,这样才不会盲目。要说价值的话,得从长远来看,差的方法自然会在使用者的比较中被淘汰掉。
Ivar 在介绍 SEMAT 本身的同时,也介绍了 SEMAT China 的成立。SEMAT China 于 4 月 19 日在北京成立,负责 SEMAT 在中国的推进。其咨询委员会成员包括 Ivar Jacobson 本人,北京大学的杨芙清教授,南京大学的徐家福教授。其执行委员以北京大学的陈钟教授为主席,成员包括 CSDN 的总经理蒋涛,中国软件行业协会系统与软件过程改进分会秘书长王均等人。
毋庸置疑,如 Ivar Jacobson 这样的大师能眷顾中国市场是一件好事。但是 SEMAT 对软件行业的发展,以及 SEMAT China 对中国软件行业的发展能作出怎么样的贡献,还需要我们拭目以待。
评论