敏捷开发纵横谈(3)——RUP

摘要
在IT界中,“ 敏捷”是一个很酷的词汇,“敏捷”的相关理论可谓铺天盖地。
“敏捷”一词实质没有统一定义,各家有自家的说法,本文将让你了解“敏捷”的来龙去脉,抓住“敏捷”本质,并能在工作中实践“敏捷”。

大纲:
“敏捷”陷阱
为什么会有“敏捷”这个说法?
极限编程
RUP
敏捷宣言
敏捷开发的实质是什么?
如何才能敏捷起来?

我将分4篇为大家分享!


RUP

统一软件过程,英文全写为:Rational Unified Process。

下面这两张图最能反应RUP的特点:

  敏捷开发纵横谈(3)——RUP_第1张图片 

  敏捷开发纵横谈(3)——RUP_第2张图片


以上两图来自互联网

为了方便大家理解,我弄了中英文两张图,两者是一个意思,不过内容组织稍微有点不同,大家注意一下就行了。

要精确理解RUP的意思还是有点难度的,简单谈谈我对RUP的理解。

按照时间顺序,项目分为初始(inception)、细化(Elaboration)、构造(Construction)、交付(Transition)四个阶段,
每个阶段会有很多个小迭代。这四个阶段其实很难说有明显界限的,我觉得大家大概了解每个阶段的工作内容就可以了。

按照工作的性质,项目的工作可以分为以下几类:
商业建模(Business Modeling)
需求(Requirements)
分析和设计(Analysis & Design)
实现(Implementation)
测试(Test)
部署(Deployment)
配置管理与变更管理(Configuration & Change Mgmt)
项目管理(Project Management)
环境(Environment)

以上这些工作,在项目的不同时期工作量分布是不太一样的,如:商业建模、需求这些工作往往是头大尾小,分析与设计、实现等是中间大两头小,项目管理、环境方面的工作一直都会持续进行。

RUP的思想打破了“需求-设计-编码-测试”这样的传统瀑布模式,需求、设计、编码、测试这些工作其实一直都在进行的,只是不同时间比重不一样。这个思想是很符合“敏捷”的特点,也和实际情况非常吻合。

大家理解这个意思后,我觉得完全可以按照自己公司的实际情况重新定义时间上的阶段,也可以自己重新定义项目的各类工作,以及思考各类工作在项目不同时间的工作量分布。

关于敏捷开发的流派还有很多,如:自适应软件开发、水晶方法、实用编程等等,我觉不同流派其实本质还是很类似的,这里就不一一介绍了。

 

 

请看下一篇……




作者:张传波

创新工场创业课堂讲师

软件研发管理资深顾问

《火球——UML大战需求分析》作者

www.umlonline.org 创办人

你可能感兴趣的:(敏捷开发,敏捷,RUP)