如果我们想在当前的软件开发领域取得成功,我们必须交付既有高质量又有创新性的产品——质量体现在软件的每个方面,而创新则把该软件同其它软件区别开来。但很难在这两者之间取得平衡。现有的用于保证质量的过程改进活动常常抑制了创造性。我们同样害怕那些能促进创新和多样化,但可能牺牲质量的过程方法。那么,加入到核心统一过程(Essential Unified Process 简称EssUP)吧,它能平衡质量和创新。EssUP填补了对快速生产高质量的软件系统的渴望和项目实际状况之间的鸿沟。它提供了一种崭新的方式用来形式化和应用各种开发实践。这篇文章阐述了EssUP究竟是如何实现这个目标的。
介绍
每个人都意识到我们需要过程来改进软件开发的方式。每个人也都意识到我们需要敏捷性、灵活性和适应性。每个人也都认同对质量的需要。但是,我们中间的很多人都发现,现有的软件过程笨重、约束性强,并成为我们发挥创造活力的障碍。
开发人员疲于应付开发过程。统一过程过于繁重,过程改进程序需要过多繁琐的工作,而敏捷阵营则过多地依赖于隐性知识和专家级开发人员。而且我们也知道我们需要好的实践以保证能够按时、按照预算来开发出好的软件。我们需要从根本上重新构造我们的设计、配置、培训、选用和部署开发过程的方式。
什么是核心统一过程?
核心统一过程,或者我们称之为EssUP,是建立在现代软件开发实践之上的新一代软件开发过程。她是一个崭新的开始,开始于没有任何旧的累赘的一页白纸。它集成了来自三个不同阵营的成功实践:统一过程阵营,敏捷方法阵营和过程改进阵营。每一个阵营都贡献了其不同的过程能力。(如图)
但是,在我们更进一步深入讨论什么是EssUP之前,让我们首先快速列举出我们
需要一个新过程的原因:
1、
传统的软件过程过于繁重,没有人会去阅读大量冗长的过程描述。
2、
过程必须提供对开发人员的支持,而不是仅仅支持过程专家。显然这篇论文是面向过程专家的,因为很少有开发人员真正的阅读过程方面的论文。
3、
过程必须帮助团队在获得过程质量的同时获得软件质量。因此不仅仅是通过
CMMI
的评估,若且要交付好的软件。任何软件开发过程都必须聚焦于生产好的软件。
4、
过程必须提供基于原则的敏捷。满足管理需求的同时不阻碍创新。
5、
这个方法必须允许项目团队(开发人员在没有过程工程师帮助的情况下)很容易的将好的实践加入到现有过程中。
6、
过程应该使团队更加强大。一个告诉您需要做什么,并且试图像机器人一样控制您行为的过程并不能够帮助您。