核心统一过程(EssUP)—统一过程的生力军

发表于:2008-02-18来源:作者:点击数: 标签:过程核心统一EssUP
与以前的 UP 表示法相比,基本统一过程更简单、更灵活且更具可扩展性。它以轻量级和友好的方式呈现在大家的面前,使过程的学习更简单,在某种程度上甚至成为一种乐趣。 我最近有幸参与了评审 IJC 的新的核心统一过程(Essential Unfired Process,EssUP),并
与以前的 UP 表示法相比,基本统一过程更简单、更灵活且更具可扩展性。它以轻量级和友好的方式呈现在大家的面前,使过程的学习更简单,在某种程度上甚至成为一种乐趣。

  我最近有幸参与了评审 IJC 的新的核心统一过程(Essential Unfired Process,EssUP),并很高兴向大家报告 EssUP 提供了软件过程改进的一种全新方法。IJC 拓展领域创新并不足为奇,因为其创始人 Ivar Jacobson 是用例、统一过程和 Jaczones Waypointer 之父。与以前的 UP 表示法相比,基本统一过程更简单、更灵活且更具可扩展性。它以轻量级和友好的方式呈现在大家的面前,使过程的学习更简单,在某种程度上甚至成为一种乐趣。

  从 Objectory 到 RUP ―― 第一代过程

  我第一次邂逅 Ivar 是在 1988 年,之后我们通过电子邮件对他在 Objective Systems 的Objectory 早期工作进行了讨论。当时,Objectory 是最全面的过程描述之一,也是仅有的面向对象(OO)过程。它由 OO Meta 模型和一个带有相关工具的综合超链接文档组成。当时,尚未有人认为过程可以像 OO 编程和 Ontology 一样进行公式化和具体化。当 Rational 收购 Objective Systems 时,Objectory 及其开发团队成为 Rational 统一过程的主要影响力量。

  通过与 OMG 的合作,Ivar 在 Rational 成功推出 UP 和 UML。Rational 当时选择保留 RUP 的所有权 。OMG 在供应商自身利益和方法学的支配下,继续推动 UP 和 UML 沿着他们自己的方向发展,从而坚持了结构复杂的 SPEM 模型、复杂的元架构(MOF)以及具有最少语法或语义说明的 UML 语言(参见 … )。

  不幸的是,对于某些开发人员来说,虽然 Ivar 被公认为是 RUP 之父,但 RUP 的命运掌握在 Rational 手中。RUP 的本意是提供一种帮助人们开发软件的方式,但它迅速发展成为一种综合的市场商品,Rational 作为独家过程和工具供应商来销售它。RUP 迅速扩充为 1000 多页的超链接资料,每个链接足以让开发者望而却步。它从头到尾为不懂软件开发的管理层提供了如何开发软件的说明性答案,尤其适合迫切想要通过 CMM 认证的企业或政府机构,并提供了所谓的符合 TQM/Six Sigma 和 ISO 9000 标准的软件。最后形成了用于构建软件的说明性过程。所有开发人员必须按照指导来操作!可是软件开发并非如此简单!

  让过程作为指南,而不是“警察”

  我曾与 Ivar 多次讨论如何将简单的、好的创意溶入墨守成规的复杂设计中,这些设计在最初构思或表示时并未考虑到这些好的创意。Ivar 创立了 Jaczone 和 IJC,其目的是遵循他的基于过程和工具的软件开发初衷,以帮助指导和协调软件开发,而不是规定和监管软件开发过程。EssUP 致力于过程的返朴归真,通过更简单的表示和开放的设置来欢迎和拥抱集体的贡献。

  过程 = 一组实践

  过程不等于惯例,过程的存在也不意味着必须遵守它!虽然过程和工具日益增多,但企业迅速发现,这并不一定带来我们所预期的更高质量的软件。敏捷宣言(Agile Manifesto)标志着敏捷联盟(Agile Alliance)的诞生,这要归功于一个成功的软件开发者社区克服了笨重的过程/方法,站在了大众的立场上。他们关注如何生产软件、如何改进软件的实践。敏捷转换(Agile Transition)改变现实的实践,而不是停留在肤浅的过程表面。这些实践应用精益方法进行软件开发,通过度量所交付的软件对软件进行持续改进,而抛弃盲目的、无谓的错误估计。

核心统一过程

  精益概念

  EssUP 秉承了精益软件(Lean Software)开发的精神,强调使用实际需要的实践,并调整过程使其适应项目的需要。它摒弃复杂的公式化元模型,取而代之的是简单的可感知的分类法。这避免了哲学挑战和面面俱到的 Ontology 软件概念的无谓争论。使用较少的分类,EssUP 允许对各种过程实践及其相关工件进行简单的描述、组织和沟通。

  易于学习 ―― 简炼的表示方法

  EssUP 提供了一种全新的表示方法,它使用卡片和指南表来提供实践及相关工件的一致、简单的解释。卡片法借鉴了 OO RDD 设计的 CRC 卡片以及 XP 需求“故事”卡片的成功经验,使实践的解释和理解更容易。EssUP 不会规定过程,相反,它允许用户使用卡片法来描述所需的过程或实践。这对于过程的具体化和可视化大有裨益,并且允许仅使用实际所需的过程。EssUP 引入了过程竞赛,它汲取了 XP 计划竞赛的精华,允许适合于项目的快速构建和过程沟通。

  开放的和可扩展的

  过去,过程描述是综合且自成体系的。供应商和过程组织提供了大量描述,但其中大多数只是重复了书籍和纸张上所记录的概念。不幸的是,在许多情况下他们甚至忽略了关键的初始工作,更有甚者,许多描述质量不合要求,产生误导甚至是错误。保持这样庞大的过程现已证明是不切实际的!

  EssUP 关注本质,并提供了软件社区初始基础工作的参考。它并未提供大量的用例、架构或模式,而是简单地引用最佳的专业文章和书籍。这样做是为了明确地避免作为权威指导出现,并且清楚地表明,专业人员是知识的主体,知识对于实施软件开发实践是至关重要的。

  简单的卡片/指南格式以及非正式的概念分类法更方便大家为过程做出贡献。IJC 已宣布他们正在研究一种最佳方法来创建开放的 EssUp 社区,以便让更多的人能够分享他们的实践。

  结束语

  与以前的 UP 表示法相比,核心统一过程更简单、更灵活且更具可扩展性。它以轻量级和友好的方式呈现在大家的面前,使过程的学习更简单,在某种程度上甚至成为一种乐趣。IJC 已创建了一组初始的实践,并作为 EssUp 提供。IJC 已宣布他们正在研究一种最佳方法来创建开放的 EssUp 社区,以便让更多的人能够分享他们的实践。虽然最初的产品只是一个轻量级的 UP 过程,但其他非 UP 过程必将可以用相同的基本概念和方法来描述,无论它们是具有苛刻安全要求的过程还是较为灵活的过程。

原文转自:http://www.ltesting.net