Ivar Jacobson 在过程和工具的开发领域有着很长的传奇历史,在他为爱立信、Objectory 和 Rational 工作的期间,从 UML 到 RUP,全世界很多的公司开发软件时都在使用它们。当这位有着如此背景的老兄说:“ Enough of Processes, let’s do practices ”,我们一起晕倒,为什么呢?
Ivar Jacobson 认为“过程”尝试定义整个软件开发周期,而不是鼓励开发团队将过程中的元素混合搭配在一起。这减低了过程灵活性,也隐藏了大量过程之间的共性。更甚者,过程以及它们的采用者,都在为过程的完整性奋斗:
提供一个完整过程的渴望使得过程变重,为了覆盖所有的规程(Discipline),更多的信息被加入。随着过程的发展,没有人把任何内容清理出去,因为可能某人某年某月某地会用得到它。
文章指出,开发团队们很少完全采用某个过程,拣出那些他们需要的元素,修改那些他们不要的,或者从其他过程中导入适合他们团队,技术,业务的元素,造成了有害的“项目—过程间隙”。
过程应该描述团队实际如何工作,而不是虚构出大家认为团队应该工作的方式。
作为解决方案,Ivar Jacobson 认为我们应该交流实践,而不是过程,来自团队自己的软件过程的构造块是可以装配的。实践的描述是可以独立描述的,描述可以在过程中共享,因此这个团队与别人的过程上的异同就很容易看出来。这种通过描述实践来描述过程的方法并不是没有先例,有人说这正是当前许多软件过程描述的方向。总的来说,创造一个一致的,共享的实践词汇表,以及它们与出版物,团队的过程仍然在工作中。
这篇文章还没发布的第二部分,会更深入的探讨提议的解决方案,比如 EssUP,Essential Unified Process 和 EssWork—在 Java 和微软领域,支持面向实践方法论的方法,基础和工具。MSDN 之前发布了这些主题的讲座。阅读其中之一,会帮助团队理解EssUP 和EssWork 如何适用于他们的团队。即使团队不选择EssUp 和EssWork,Ivar Jacobson 在软件开发过程上的境界,也会使得我们讨论软件构造的方法时,开始有新的变化。
如果您希望更多的了解EssWork、 EssUp 或者 Ivar Jacobson ,请持续关注 InfoQ 在敏捷和统一过程方面的报导。
译者简介:肖桦是InfoQ 中文站的志愿者翻译。他的网名为“江南白衣”,Java 领域专家,开源JavaEE 项目 SpringSide 发起人,现任广州电信研究院亿迅科技有限公司任设计中心设计主管。加入 InfoQ 中文站志愿者翻译队伍,请邮件至 china-editorial@infoq.com 。
评论