在所有成員領悟到提交合格產品所需要的關鍵過程元素之前,項目往往陷入某個特定主題的細節的沼澤中。然后,當項目拖后時,大家就會怪罪以前被過分強調的某些活動,或者是怪罪大家不理解其用處的某些活動,“嘿,我早就告訴你需求管理(或者是用例、收集項目度量數據、使用 配置管理、使用缺陷跟蹤工具、召開項目狀態 會議里面的一個或幾個)會放慢我們的進度!你不信!”
有一個“精華或要素”列表讓 團隊成員采用一種更系統、更全面的方式來思考和執行整個軟件開發過程。一旦一個過程框架或“構架”到位了,團隊成員就能更有效的面對和處理單個的問題域(大部分時間我得承認,需求管理應該在列表的頂部)。同樣,一開始就標識顯然的問題以及相關的 風險,并且確定處理他們的優先級,也是很重要的,這樣,團隊才能在早期就根據需要采取相應的解決或緩解對策。
RUP 的十大要素
那么,在 RUP 的十大要素中應該包括哪些內容呢?下面是我的意見:
1. 開發前景
2. 達成計劃
3. 標識和減小風險
4. 分配和跟蹤任務
5. 檢查商業理由
6. 設計組件構架
7. 對產品進行增量式的構建和測試
8. 驗證和評價結果
9. 管理和控制變化
10. 提供用戶支持
讓我們逐一的審視這些要素,看一看它們什么地方適合 RUP,找出它們能夠成為十大要素的理由。
1. 開發一個前景
有一個清晰的前景是開發一個滿足涉眾真正需求的產品的關鍵。
前景抓住了 RUP 需求流程的要點:分析問題,理解涉眾需求,定義系統,當需求變化時管理需求。
前景給更詳細的技術需求提供了一個高層的、有時候是合同式的基礎。正像這個術語隱含的那樣,它是軟件項目的一個清晰的、通常是高層的視圖,能被過程中任何決策者或者實施者借用。它捕獲了非常高層的需求和設計約束,讓前景的讀者能理解將要開發的系統。它還提供了項目審批流程的輸入,因此就與商業理由密切相關。最后,由于前景構成了“項目是什么?”和“為什么要進行這個項目?”,所以可以把前景作為驗證將來決策的方式之一。
對前景的陳述應該能回答以下問題,需要的話這些問題還可以分成更小、更詳細的問題:
關鍵術語是什么?(詞匯表)
我們嘗試解決的問題是什么?(問題陳述)
涉眾是誰?用戶是誰?他們各自的需求是什么?
產品的特性是什么?
功能性需求是什么?(用例)
非功能性需求是什么?
設計約束是什么?
2. 達成計劃
“產品的質量只會和產品的計劃一樣好! (2)
在 RUP 中,軟件開發計劃(SDP)綜合了管理項目所需的各種信息,也許會包括一些在先啟階段開發的ザ賴哪諶蕁DP 必須在整個項目中被維護和更新。
SDP 定義了項目時間表(包括項目計劃和迭代計劃)和 資源需求(資源和工具),可以根據項目進度表來跟蹤項目進展。同時也指導了其他過程內容的計劃:項目組織、需求管理計劃、配置管理計劃、問題解決計劃、QA 計劃、測試計劃、評估計劃以及產品驗收計劃。
軟件開發計劃的格式遠遠沒有計劃活動本身以及驅動這些活動的思想重要。正如 Dwight D.Eisenhower 所說:“ plan 什么也不是,planning 才是一切!
“達成計劃”—和列表中第 3、4、5、8 條一起—抓住了 RUP 中項目管理流程的要點。項目管理流程包括以下活動:構思項目、評估項目規模和風險、監測與控制項目、計劃和評估每個迭代和階段。