标签:请求 拓展 产品 不同的 程序 jackson 控制 rational 研讨会
David Kohrell 在2005年2月的 Rational Edge 期刊上指出,Rational Unified Process,? 或者称 RUP,?为项目的推进提供了一个灵活的过程 -- 从先启阶段,经过细化阶段、构建阶段,以及产品化阶段 -- 给予指导和说明。本文特别关注RUP如何同样能为小项目和团队提供指导。另外,在用于敏捷开发环境的能力方面,我们也观察了RUP和其它指导(比如,项目管理协会的项目管理知识体系,或PMBOK?)。
通常看来,如果被安排来管理一个小项目,也就意味你是新人或者你已经落伍了。大家都认为“一流的资源”应该被分配给大型的、企业级的、全特性的发布项目。这种认识是错误的,让我们来看一下市场,特别是2001年 .com 破碎之后,小型项目和敏捷团队的时机成熟了。公司在一个月、一个季度、或者一年之内完成的项目越小,那么,产生收益、减少成本、或者拓展品牌和价值的机会就越多。
明确以下一些定义之后,我们继续这个话题的讨论:
在 Michael Jordan、Greg LeMond、Tiger Woods之前,Bo Jackson统治着整个体育世界。19世纪80年代后期流行着这样一句话:“Bo 懂得篮球、足球、投资”。
过去的三个多月里,在研讨会或课堂上,我引用Bo Jackson的例子来反驳RUP“不适”小型项目的错误观点。我认为RUP“适合”于所有类型的项目,这让很多人都感到惊诧。就我在过去几年使用RUP的经历而言,它能够用在所有大型、企业级项目,并且组织变更请求。它不仅仅是一个可有可无的方法论。
下面是人们经常提起的用来说明“RUP不适用于小型项目”的两个方面,我将逐一解答这些问题,来证明他们的看法是错误的:
...也许,人们采用RUP时最常出现的错误是使用太多工件或者做太多活动。过量使用RUP将会降低你的开发效率;RUP过程框架类似于自助餐,如果你还想保持健康和快乐,那么就不能吃光所有的饭菜。1
RUP应用在小型项目环境中
现在,让我们举两个例子,来验证RUP在小型项目环境中的使用。首先是公共部分项目 – 更新一个使用了十五年的打印工作过程。第二个项目涉及将RUP用于创建一个学习管理系统入口,称为“TAP University”。两个项目预算均低于$100,000,由小型团队在90到120天以内完成。
打印服务更新项目
Bill Wonch,本文作者之一,是 Nebraska 州劳工部的兼职讲师和软件架构师。他最近负责更新一套已使用20年的程序,合计并打印出成千上万份报表和帐单,以下是他的故事。
这只是一个小项目。但是,它却是系统的核心,称为 Mix,而且,必须支持部门内其它系统的更新。这个大框架说明了RUP中可交付的软件体系架构文档 -- 理解每个项目、变更命令,或者任务都影响着工作的进展,如同高尔夫球的每个线都与其它相关联一样。
当即有系统需要更新,以便与公司现代化的失业保险利益支付系统一起运作的时候,“Mix更新项目”开始了。原先的系统Mix是用COBOL构建的,运行于一个主机系统上。“Mix”并不是一个简称;1987年起名为“Mix”是因为它混合了进行大量打印工作的主框架数据和窗体。
新系统将在Java中使用成熟的商业化(commercial-off-the-shelf,COTS)应用和组件来构建,生成必要的XML文件。
项目的先启阶段,我们为系统定义三个参与者:
- 抽象应用类,表示使用即有Mix应用程序的所有系统。
- 操作类,表示员工管理打印的操作。
- 业务使用者,即使用该文档存储库的人员。
如图1所示,每个参与者均与相应的用例关联。记住这些参与者和用例,我们可以为更新系统选择最佳的商业应用。通过这个信息,我们可以精确地计算出更新所需的成本。那些是项目合同与计划中有限的内容。基于此,我们可以估算出项目的资金。
图1:在项目先启阶段为系统定义的三个参与者
根据先启阶段确定的计划和捕获的用例,RUP指引着项目的进行。RUP精髓的一部分就是可以将需求划分成不同的组,并根据需要将各组归入先启、细化、构建和产品化阶段。Mix系统中包括106个打印程序,从先启阶段到产品化阶段,将这些程序分成几个组,然后再单独迭代地处理,经过四个阶段的每次进展都是低风险的(验证方法),然后再将大大小小打印程序集成。以上做法是有意义的。
TAP (Technology As Promised) University是一个在线学习管理系统项目。TAP University的目标是延伸这种由TAP伙伴提供给公司客户的面对面培训,并为公司、公共用户及学生提供在线服务。2
这是一个小型的项目。改进一个开源的学习管理系统。 该项目的可视化文档草案于2005年2月22日提出,项目计划完成于2005年5月3日,包括需要的资源、成本和范围。表1描述了每个迭代和用例。
表1:TAP University项目的迭代和用例
从设想到实施,这个项目只有不到六个月的时候;从正式的项目工作开始到功能的完成,从项目计划到支持这个产品仅花费了90天。
这里涉及到了8项资源;估计完成该项目所需的小时数为652。成本主要是“人力资本” -- 低于 $15,000。
RUP在本项目中的应用主要包括以下两方面:
文章中提到的两个小型项目呈现了不同类型的组织的需要:大型公共部门办事处与新近发展起来的小公司。项目的关注点也不同:更新使用15年之久的打印集合工具和在线学习管理系统。两个项目共同之处是,他们的规模都很小,并且RUP都可以提供一套严格而灵活的方法。
Gary Pollice 等几位作者在《小型团队的软件开发》一书中为小型项目的管理者提出了一些有价值的建议:
面对不断的变化,项目团队如何掌握怎样应对变化才能获得最大的生产率?我们认为,关键在于尽可能多地学习不同技术,学习如何有效地使用工具来支持不同的技术,以及决定联合起什么作用和什么时候起作用。3
RUP以及各种支持RUP的工具,确确实实也“适用于小型项目”,另外,项目管理者应懂得如何最好地发挥RUP的优势。
1 Per Kroll and Philippe Kruchten, The Rational Unified Process Made Easy: A Practitioner‘s Guide to the RUP, Addison-Wesley: 2004, pp. 244-245.
2http://www.tapuniversity.com/
3 Pollice, Augustine, Lowe, and Madhu, Software Development for Small Teams: A RUP-Centric Approach, Addison-Wesley, 2004. p. xix.
标签:请求 拓展 产品 不同的 程序 jackson 控制 rational 研讨会
原文地址:http://www.cnblogs.com/yangf2016/p/6006018.html