都说RUP太庞大,本人研究发现:RUP的workflow概念和阶段概念在职责上有重叠,乃是RUP复杂的一个原因所在,RUP过程产品中也说“将活动分成不同的核心工作流程使活动更容易理解,但会使时间安排变得比较困难”。
我的对策是改造(呵呵,不是仅仅定制了):将workflow和activity的概念退化成“活动”和“子活动”的概念,而workflow的并发职责全部交给“阶段”。也就是说,真正将RUP改造成“二维的软件开发模型”,活动一维,阶段一维。(RUP本身不是3维也算2.5维:每个阶段可以进一步分解为迭代,而迭代又是工作流的小瀑布,工作流又是并发的activity)
正如umlchina论坛一位朋友所说的:不明白RUP为何不做成核心子集而做成超集,workflow中activity可并发是很好的思想,但没必要把RUP的顶层view搞的层次太多,门槛太高哟。
![](images/rup-chg.gif)
![](images/rup-chg2.gif)
1. 决定进行哪些“活动”:比如要不要配置管理、评审等管理活动(小项目可不要),有没有为用户交付安装活动(非定做项目往往没有)
2.
先别想太多风险防范的事,按瀑布模型的思路,决定每一活动生产的“工件”
3. 加入风险防范意识,引入“阶段”概念:每一阶段会“执行到”哪些“活动”,结束时的“里程碑”是什么。注意该步对工件造成2个影响:工件的半成品形式(演进式增量开发)
和 新的工件(标识阶段的结束)。
简言之,就是先后决定【活动】【工件】【活动模型、补充工件】。(按“过程建模涉及【活动、人、组织、产品】”的观点,就是关注【活动、工件、组织】且以活动为中心,至于人的因素可以作为第4步)
|