IT 項目需求管理很難,因為需求在項目的進行過程中不斷變化。與真正的業務需要保持一致需要對需求進行迭代管理。
本白皮書解釋了IT部門在定義和處理項目需求時面臨的問題。它說明了如何利用需求管理解決方案解決這些問題。它解釋了為什么高效的IT管理需要這樣的解決方案。它解釋了IBM Rational Suite AnalystStudio如何滿足迭代需求管理的挑戰。
本白皮書是Yphise應IBM Rational軟件公司的請求編寫的。它概括了需求管理的好處,還為IBM Rational軟件在該市場中進行了定位。愿您能從本文中受益!
挑戰:以最佳的投放市場時間滿足業務需求圖字:
Known customer requirements:已知客戶需求
Classical requirements definition methods lead to analysis out of line with requirements:經典需求定義方法導致分析與需求不一致
If the project cannot include requirements changes, the solution meets the initial analysis but not the current customer requirements.:如果項目不能包含需求變更,那么解決方案僅滿足了最初的分析,而不滿足當前的客戶需求。
Time:時間
Requirements analysis:需求分析
Analysis:分析
Solution Development:解決方案開發
Release:發布
Meeting business requirements in time without iterative requirements management is difficult:如果沒有迭代需求管理想及時滿足業務需求將是一件很困難的事情。
意見:
IT部分的挑戰是如何保持開發與業務需求的一致,而不管變更和時限如何。在這些情況下,很難變更需求。為理解變更而進行的變更跟蹤,以及回溯(backtracking)是不太可能的。為確定優先級而進行的需求組織和資格認定也很困難,因為文檔通常是結構化的,容易表達業務需求,而非優先級。需求被作為整體管理。它們不能按照一種單一的方式與其他項目組件連接。保證測試滿足需求很困難。 在數據庫中管理需求(或者簡單情況中的電子表格)。該解決方案使得很難互相連接需求,以結構化它們并用資格信息補充它們。
該解決方案不保證簡化變更和可跟蹤性。它使得優先級劃分成為可能。但是,該解決方案使得輕易地重新構建一個完整和綜合的需求文檔成為可能。因此,企業單位和項目組之間的討論仍然很困難。這種需求管理對于企業并不是自然的。 在文本文檔和數據庫中管理需求。這種解決方案的主要問題是在文本和資格、組織,以及在數據庫中管理的決定數據之間的一致性。數據通常必須被復制。 需求管理軟件。需求管理軟件管理需求的文本描述以及補充信息,以證明它們并決定項目范圍。它組織需求。
然而,如果需求管理解決方案沒有集成到應用變更周期中,那么設計、開發和測試就可能滿足不了需求。
服務。"我們仍然不太熟練UML。這是我們仍未集成IBM Rational Rose的原因。但是,IBM Rational RequisitePro允許我們將所有的用例作為文本來定義和管理。" 端對端地集成到開發和維護周期中的需求管理軟件。將需求管理解決方案集成到開發和維護周期中保證了每個項目成員都能按照相同的方式知道、理解和使用需求。這些被存儲在需求管理工具中,并可直接從設計或測試工具中訪問。
只有在將需求管理解決方案端到端地集成到開發和維護周期中時,才能完全解決需求管理問題。
管理。"我們并沒有在IBM Rational Suite AnalystStudio中使用所有產品。我們只是隨著在需求管理中達到新的成熟度水平而逐步地集成?,F在,我們使用IBM Rational RequisitePro、IBM Rational Rose和IBM Rational SoDA。下一步將包括IBMRational ProjectConsole。Rational Suite AnalystStudio使漸進的實施成為可能"。
下面的表格顯示了各種方法的主要限制。
圖字:
Collecting and changing the requirements:收集和變更需求
Deciding the scope of requirements to process:決定要處理的需求的范圍
Propagating and processing the requirements:傳播和處理需求
Checking the coverage of requirements:檢查需求的覆蓋
No requirements management:沒有需求管理
Text processor:文本處理器
Database:數據庫
Text processor and database:文本處理器和數據庫
Requirements management solution:需求管理解決方案
Integrated requirements management solution:集成需求管理解決方案
Requirements management approaches and their limits:需求管理方法以及它們的限制
下一章顯示了IT部門要想解決快速響應和需求變更控制挑戰所必須實現的目標。
迭代需求管理圖字:
The solution to keep developments in line with requirements is iterative requirements management:保持開發與需求一致的解決方案就是迭代需求管理。
Analysis:分析
Design:設計
Collection Change:收集變更
Decision:決定
Development cycle:開發周期
Requirements(initial, new, changed):需求(初始、新的和變更過的)
Propagation Process:傳播過程
Check:檢查
Development:開發
Test:測試
Requirements management cycle:需求管理周期
Iterative requirements management:迭代需求管理
意見
快速響應難題需要迭代管理需求。分析必須包括整個項目中的新需求和需求變更。當涉及到需求中的連續變更時,常規的需求管理方法(比如,在開發之前起草詳盡的規范)就不再適合了。服務。"項目時限對我們來說是一個大問題。對需求和需求變更的誤解可能造成額外的成本和延遲。利用IBM Rational Suite AnalystStudio,我們可以控制我們的項目時限。我們在確認需求時不再出現意外了。" 迭代需求管理是迭代開發的一部分。進行迭代需求管理需要一種開發周期,其中新需求可在每次迭代時包含進去。迭代開發避免了需求定義和結果確認之間的鴻溝。 對需求變更的有效控制需要將需求管理集成到應用開發和維護周期中。1、收集和變更需求
收集需求或者業務的變更很困難,因為項目成員的數量和種類都很多。"改善各種項目成員間的交流以更好地定義需求"一章解釋了如何解決該問題。
服務。"在我們的項目中,決策者分布美國全境。收集和確認需求很難。有些信息可能被遺漏,不是有意的,而是因為被有些收件人忽略。IBM Rational Suite AnalystStudio幫助我們集中需求,并為所有涉及的決策者提供閱讀和檢查訪問。"
2、決定哪些需求必須按照優先級處理,而哪些需求可以稍后處理,也就是說決定項目的優先級和范圍。
設置優先級和決定在哪個版本中處理需求是很困難的事情。這是因為缺少證明這些需求的信息,并缺少對決策標準的綜合看法。"決定項目范圍和需求優先級"解釋了如何解決該問題。
服務。"我們在決策領域面臨緊迫的問題,主要是大項目中的優先級問題。我們需要限制需求,并管理屬性。但是,我們使用的Word文檔不支持這些。利用IBM Rational Suite AnalystStudio,我們可以保留我們的文檔,同時精確地管理需求屬性。"
3、傳播需求,以便在應用開發和維護周期(設計、開發、測試和部署)中一致地處理它們,而不管工具或流程如何。
各種成員使用的工具和措辭的異質性使得很難在項目過程中滿足需求。"向所有項目成員傳播需求"一章解釋了如何解決該問題。
制造。"我們集成了需求管理、設計和測試。如果在測試開始之前沒有將工具集成到需求中,那么我們的迭代開發方法就不可能成功。"
4、對業務進行檢查和證實,證明滿足了需求。
證實需求的覆蓋很困難,因為必須根據需求測試結果。跟蹤需求和測試結果之間的關系也很困難。"保證需求覆蓋"一章解釋了如何解決該問題。
制造。"我們在IBM Rational RequisitePro中定義的功能上構建測試任務。我們現在可以保證測試不覆蓋需求。我么現在可以開始改善測試的自動化。"
隨后的四章詳細解釋了需要,掌握迭代需求開發必須做什么,以及IBM Rational Suite AnalystStudio是如何構建該方法的。最后一章提供了IBM Rational Suite AnalystStudio解決方案的詳細內容。
改善各種項目成員之間的交流以更好地定義需求圖字:
Players with various roles, wordings, cultures, business and technical skills, interests and responsibility:具有各種角色、措辭、文化、業務和技術技巧、興趣和職責的成員。
Project players:項目成員
Iterative requirements management solution:迭代需求管理解決方案
Word Requirement management:Word需求管理
Change management:變更管理
Customer:客戶
Project manager:項目經理
Analyst:分析人員
Keying in the requirements:輸入需求
Keying in the change requests of requirements:輸入需求變更請求
Qualifying the change requests:對變更請求進行資格認證
Designer:設計人員
Developer:開發人員
Tester:測試人員
and so on:等
Standarizing:標準化
Storing:存儲
Organizing:組織
Enriching requirements:豐富需求
Corporate requirements: understandable and useable by any player:企業需求:可被任何成員理解和使用 Improving communication between various project players to better define
requirements:改善各種項目成員之間的交流以更好地定義需求
意見
迭代需求管理要求在項目成員之間進行有效的交流,以定義需求。這可為每個項目迭代提供得到成員同意的要求輸入。這就允許對兩個迭代之間的要求變更進行管理。專注于最重要業務需要上的每次迭代需要迭代需求管理進行協作。 收集需求很困難,因為它們分散在不同的成員中,也可能寫在不同的辦公室文檔、電子郵件或備忘錄中。有些需求不是書面形式的(如通過非正式的談話或無從考究的形式)。這就使人難以了解哪些工作是必須做的。用戶友好和易于使用的界面有益于收集來自企業的需求。Microsoft Word 是適用的,因為大部分需求已存在于辦公室文檔中。大多數成員都能熟練地使用這種工具。 有些項目失敗的原因是企業和IT團隊之間的交流不順暢。這會導致意思表達不明確、誤解以及信息的丟失。當成員沒有任何需求參考時,就會用自己的語言表達需求。需求參考得到了所有成員的同意。該解決方案必須對需求進行標準化。
需求管理提供一種共享格式。這有利于與成員就需求或需求的變更進行交流。企業和IT團隊具有相同的界面。 需求管理通過公司詞庫控制需求的措辭。這就可以排除所有容易混淆的用詞。所有用詞都得到了所有成員的統一,因此就可以標準化需求。 項目需要需求參考圖字:
Some players may forget to transfer the documents describing the requirements.:有些成員可能忘記交接描述需求的文檔。
Some players create documents for their pecific needs, based on the requirements.:有些成員根據需求創建滿足自己特定需要的文檔。
At the end, the transfers between players create a gap between the initial requirements and those treated by the project.:最后,成員間的交接在原始需求和項目實際應對的需求之間創建了一個鴻溝。
Some players may transfer wrong documents.:有些成員可能交接了錯誤的文檔。
Some players change or rewrite requirements.:有些成員改變或重寫了需求。
Without requirements management:無需求管理
With requirements management:有需求管理
Reference requirements:參考需求
Players have a reference. They handle the same requirements according to their specific needs.:成員有一個參考。他們根據自己的具體需要處理同樣的需求。
Documents or deliveries specific to each player:為各個成員提供細節。
需求管理解決方案有助于組織需求。他們有助于輕松無誤地為需求分類。它們方便需求的交接和改編。它們管理需求間的依賴關系。
IBM Rational Suite AnalystStudio
IBM Rational Suite AnalystStudio是一個解決需求收集和變更領域中問題的合適解決方案。
IBM Rational RequisitePro中輸入需求的主界面是MS Word。另外還有專門的菜單可用,以便直接在文本處理軟件中管理這些需求。 IBM Rational Suite AnalystStudio方便了用例管理,以收集需求。用例可被企業單位和項目組理解。IBM Rational Rose圖形化顯示了用例(UML模型),而IBM Rational RequisitePro則將其顯示為文本。兩個工具都被集成到AnalystStudio中,后者提供了一種共享格式,以避免誤解和混淆。 IBM Rational Suite AnalystStudio包括用于需求管理的IBM Rational RequisitePro和用于變更管理的IBM Rational ClearQuest。IBM Rational ClearQuest管理與需求相關的變更請求。該解決方案保證在沒有協議和確認的情況不會變更需求。變更請求與需求單獨存放。IBM Rational ClearQuest在變更請求被接受以前控制成員之間的協議。 IBM Rational Unified Process (RUP)提供了一種方法和建議,以保證收集到的需求易于被所有成員理解。IBM Rational Suite AnalystStudio包括RUP。 定義項目范圍和需求優先級
定義項目范圍和需求優先級
圖字:
Requirements:需求
Requirement A:需求A
Requirement B:需求B
Requirement C:需求C
Sub-req B1:子需求B1
Sub-req. B2:子需求B2
High priority:高優先級
Average priority:平均優先級
Project:項目
Current version:當前版本
Iteration 1:迭代1
Iteration 2:迭代2
Project 1:項目1
Project 2:項目2
Time:時間
意見
下一次迭代不包括每個需求。迭代需求管理有助于將項目分割為子項目或者迭代??稍诿看蔚鷷r根據之前迭代中的事件(比如,新的業務請求、技術上的限制等)修訂項目范圍。每次迭代都專注于一個需求子集。項目組必須清楚地知道利用可用資源能夠做什么。他們必須定義項目范圍,以便在這些資源的框架內為企業最優化價值。根據所有項目需求調度項目需要決策。需求描述必須利用補充信息(比如優先級、交付日期、成本估算、對信息系統的影響、技巧和技術知識)豐富。
這些信息為企業和項目組提供了客觀的討論框架,以決定每次迭代的范圍。需求管理解決方案管理需求屬性。它們有助于組織需求,也即,根據屬性值分類、過濾和選擇它們。它們為成員提供了復合設定范圍的需求列表。
圖字:
Requirements management enables to select and organize requirements from the text.:需求管理使得可從文本中選擇和組織需求。
Text document (requirements):文本文檔(需求)
Order:訂單
When a customer wants to order,...:當客戶需要定購時,……
- Selecting the items to order:選擇要定購的項。
- In order to select the items...:要想選擇這些項,……
- Selecting the delivery address:選擇送貨地址
- If the customer is known,...:如果是已知客戶,……
- Payment:付款
- In order to pay, the customer must...:要想付款,客戶必須,……
- Customers must describe their requirements exhaustively:客戶必須詳盡地描述他們的需求
- Project teams must check how to process the requirements:項目組必須檢查如何處理這些需求
- The scope is a decision between customers and project teams:范圍是客戶和項目組之間的決定。
- Priority:優先級
- Date:日期
- Difficulty :難度
- Iteration:迭代
- State:狀態
- Selecting the items:選擇項
- High:高
- Low :低
- Average:一般
- Pending:未決
- Analysis:分析
- Scope selection:范圍選擇
- Providing the list of requirements to process in priority:提供要優先處理的需求列表
IBM Rational Suite AnalystStudio
IBM Rational Suite AnalystStudio是適用于處理項目優先級管理問題的解決方案。
IBM Rational RequisitePro使得創建和指定需求屬性成為可能。它們的值可通過上下文菜單直接在MS Word中指定。 IBM Rational Suite AnalystStudio提供了項目模板,方便了將需求分解成子需求。 IBM Rational Unified Process (RUP)提供了分解需求的方法和建議。IBM Rational Suite AnalystStudio包括RUP。 IBM Rational RequisitePro跨項目跟蹤需求。這方便了跨項目的需求管理。這使得定義屬于各個項目的需求間的依賴關系成為可能。共享需求可分組到單個項目中,并無需復制即可在多個項目中重復使用。 向所有項目成員傳播需求圖字:
Reference requirements:參考需求
Player-specific document or delivery:特定于成員的文檔或可交付工件
A break exists between requirements and deliveries if tools are not integrated with the requirements management
solution.:如果工具沒有與需求管理解決方案集成,需求和可交付工件之間將存在鴻溝。
Integration of tools with the requirements management solution ensures the consistent process of requirements all along the
project.:工具與需求管理解決方案的集成保證在所有項目上對需求進行一致的處理。
Propagating the requirements to every project players:向所有項目成員傳播需求
意見
業務需求是貫穿項目的中心。項目組面臨的挑戰是面向需求的項目管理,以滿足業務期望。項目組必須保證每個成員都知道需求。這需要需求參考(見"改善各種項目成員間的交流以定義需求"一章)。迭代管理需求需要對需求進行版本化,并跟蹤它們的變更。與專門的第三方版本管理工具的集成適合保證隨時間流逝的可跟蹤性和回滾容量。
圖字:
Change request management:變更請求管理
Software configuration management:軟件配置管理
· A version of component is developed to meet requirements:為滿足需求開發了一個組件版本。
A release meets a set of requirements:一個版本滿足一組需求。
Requirements are versioned:需求被版本化。
Analyzing the impact of changes:分析變更的影響。
Ensuring the consistency of change requests and requirements:保證變更請求和需求的一致性
Processing the requirements requires new change requests:處理需求需要新的變更請求。
Controlling the change requests on requirements:控制對需求的變更請求。
Requirements management:需求管理
Linking the use cases to requirements:將用例與需求鏈接
Linking other models to requirements:將其他模型與需求鏈接。
Analyzing the impact of changes:分析變更的影響
Defining the testable requirements:定義可測試需求
Ensuring the coverage of requirements:保證需求的覆蓋
Knowing which tests to replay upon change:知道在發生變更時重新進行哪些測試
Test management:測試管理
Modeling:建模
Requirements management solutions must integrate into the tools of the development and maintenance cycle:需求管理解決方案必須集成到開發和維護周期工具中。
IBM Rational Suite AnalystStudio
IBM Rational Suite AnalystStudio適合解決需求管理與應用開發和維護周期的集成問題的解決方案。
IBM Rational Rose和IBM Rational RequisitePro的集成提供了從用例圖中對需求文本的直接訪問。 IBM Rational TestManager 和IBM Rational RequisitePro的集成避免了需求的復制。這動態地管理測試用例和需求之間的關系。 IBM Rational RequisitePro 和 IBM Rational ClearCase的集成使得將需求包含到項目基線中成為可能。 IBM Rational Unified Process (RUP)保證所有成員具有相同的流程,并且一致地使用這些需求。 保證需求覆蓋
圖字:
Models:模型
Use cases:用例
Use cases diagrams ensure that requirements are related to testable use cases.:用例圖保證需求與可測試用例相關。
Requirements:需求
Tests:測試
Tests check which requirements are covered. Customers understand their result directly in terms of the requirements expressed.:測試檢查了哪些需求被覆蓋??蛻糁苯影凑找驯硎龅男枨罄斫馑鼈兊慕Y果。
Test campaigns:測試任務
Text documents:測試文檔
Requirements attributes:需求屬性
Ensuring the requirements coverage:保證需求覆蓋
意見
企業希望項目組證明需求被實現和測試,它們對從技術角度進行的測試不感興趣。必須設計和運行測試任務,以檢查需求。 每個測試場景都依賴于一個或數個需求。如果測試不核對業務需求,那么它們很可能毫無用處。 每個需求都必須被一個或數個測試場景覆蓋。迭代需求管理導致了對測試的期望和對效率的提高。它使得專注于對每次迭代的需求進行測試成為可能。它避免了必須等待項目完成的需要。
自動更新需求覆蓋狀態需要將需求管理解決方案與應用生命周期集成。如果需求的數目很大,保證每個需求的覆蓋就需要自動化。在復雜項目中,需求管理周期的這個步驟需要需求管理和測試計劃和任務管理的集成。 迭代需求管理需要頻繁地檢查需求的覆蓋,至少每個迭代一次。這也要求自動化。 根據功能規范制定測試計劃通常很困難。然而,可輕易地根據用例定義這些計劃。這些用例很容易由企業表達。它們由UML圖和文本需求描述建模。用例保證了需求可被測試。IBM Rational Suite AnalystStudio
IBM Rational Suite AnalystStudio適合需求檢查和覆蓋的相關問題的解決方案。
IBM Rational TestManager提供了測試和相關需求的覆蓋報告。 IBM Rational Rose和IBM Rational RequisitePro之間的集成有助于在用例的基礎上定義需求。 IBM Rational TestManager提供了與需求變更關聯的風險報告(疑點報告)。測試用例與需求鏈接。這些報告制定了與變更請求鏈接的測試用例列表,以檢查測試用例是否有效。 IBM Rational RequisitePro分析了需求變更的影響。它提供了與變更需求鏈接的組件列表。它還顯示了哪些需求發生了變化。 IBM Rational Suite AnalystStudio::一種集成迭代需求管理解決方案意見
IBM Rational Suite AnalystStudio是用于需求管理的Rational解決方案。它提供了端對端集成到應用開發和維護周期中的迭代需求管理所需的組件。它包括一種橫跨工具和軟件產品(Rose、ClearQuest、ClearCaseLT、RequisitePro、TestManager、SoDA、Project Console)的方法學(RUP)。 IBM Rational Suite AnalystStudio包括IBM Rational Team Unifying Platform和IBM Rational Rose Data Modeler Edition。 IBM Rational Rose Data Modeler Edition用于建模用例和業務流程,并用于設計數據庫和應用。 IBM Rational Team UnifyingPlatform是每個Rational套件中都有的一組工具。它為所有項目成員提供了一個公共環境。它避免了成員間的數據復制,并方便交流。
IBM Rational Suite AnalystStudio的技術信息可在其供應商的Web站點www.rational.com上找到。
結束語迭代需求管理提供了各種好處:
降低了項目的開發和維護成本,因為它改善了需求的收集和格式化。成員間交流的改善減少了所需的資源以及由于不完整、不清晰或者誤解的需求引起的迭代的數目。 減少了項目開發和維護的周期。提高了對業務請求的響應。這改善了企業的市場投放時間。項目目標的定義更快速,并且沒有無用的迭代、回滾或者撤退。 業務的項目價值以恒定的成本和周期增長。項目在優先級的基礎上實現了對企業最有價值的需求。由于需求傳播的緣故,對業務和技術資源的使用得到了優化。由于對需求覆蓋的檢查,項目價值也清楚地展現給了企業。IBM Rational Suite AnalystStudio是一個端對端地集成到應用開發和維護周期中的需求管理解決方案。它使迭代需求管理的價值最大化。
IBM Rational Suite AnalystStudio方便了項目成員間的交流,因為它使用MS Word作為需求輸入界面,使用需求收集作為IBM Rational RequisitePro和IBM Rational Rose中的用例,以及在IBM Rational ClearQuest中使用需求變更管理。 IBM Rational Suite AnalystStudio方便了對項目范圍和需求優先級的決策。它管理需求屬性和項目模板,并且跟蹤跨項目的需求。 IBM Rational Suite AnalystStudio方便了向所有項目成員傳播需求,因為它集成了IBM Rational RequisitePro、IBM Rational Rose、IBM Rational TestManager和IBM Rational ClearCase。 IBM Rational Suite AnalystStudio方便了需求覆蓋的檢查,因為它有覆蓋報告、用例、需求變更風險報告、以及對需求變更的影響分析。 包含在IBM Rational Suite AnalystStudio中的IBM Rational Unified Process (RUP)提供了迭代管理需求的方法和建議。原文轉自:http://www.anti-gravitydesign.com