1、針對OSSP的過程剪裁
當一個組織已經接近或者超過了已定義級時,OSSP和剪裁手冊可以用來開發每個項目中所使用的軟件過程。在SW-CMM中,調整OSSP使之能夠適用于項目的特定商業需要和技術需要的過程稱為剪裁OSSP以建立項目定義軟件過程。在這個過程中,開發一個組織范圍內的剪裁手冊是必不可少的手段。
通過剪裁OSSP建立項目定義軟件過程非常類似于將SW-CMM剪裁成為OSSP的過程。剪裁中需要注意的一些重要方面也是一樣的,包括:
OSSP中所描述的組織結構和項目結構的相同點和不同點。
客戶關系和需求。
項目在一般情況下所要求的正規化程度、頻率、精度以及范圍。
項目的特定商業目標和需求。
組織當前的過程能力和項目要求的過程能力。
(1)項目結構
OSSP中假定的組織結構和角色集合可能并不適用于該組織中的每一種環境或項目。例如,許多OSSP中都假定了一個完整的開發生命周期,但是許多小型的、維護性的項目并不能將所有這些角色都轉換為自身的特定需求。組織的剪裁手冊應該提供關于如何將這些角色轉換為組織環境的有關指導。有些OSSP活動無疑要依賴于其他組織的協助或輸入。在對OSSP進行剪裁的過程中,必須經常注意這一點:對于某個特定的項目來說,所需的協助或者輸入能否得到及時的提供?
(2)客戶和終端用戶關系和需求
OSSP中假定的特定客戶關系類型可能并不適用于組織中的所有項目(例如維護性的項目和用于內部開發和使用的軟件)。OSSP需要被剪裁,以滿足特定的客戶和終端用戶關系。此外,有些客戶可能會提出與OSSP相矛盾的一些特殊需求。在開發項目的特定軟件過程時必須考慮客戶的需求。
(3)剪裁程度
頻度——許多OSSP都會定義一些需要“周期性執行”或者“事件驅動”執行的活動;顒訄绦械念l度需要根據組織和項目的需求進行重新解釋。
精度——過程定義中所需要的詳細程度可能各有不同。OSSP中可能包含對某一些實踐的詳細過程定義進行描述,而對另一些實踐則可能只是給出大概的描述。項目在必要的時候需要補充一些細節。根據過程產品的構成、與其他過程產品的一致性程度,項目包含的細節可能比建議的更詳細,也可能會更簡略。
范圍——考慮到組織的限制條件、商業環境等因素,執行某些活動可能是毫無意義的。這里最簡單的例子就是子合同管理——如果一個項目根本就不需要使用子合同,則可以不考慮OSSP中對這方面所規定的一些程序。更好一點的例子是決定是否放棄SQA組織的獨立評審,或者決定不度量在執行跟蹤和監控活動中所花費的精力。在去掉整個過程域或者去掉大量的活動時,一定要綜合考慮這樣做可能帶來的風險以及相應的費用/效益平衡。
對于適合于項目環境但不適合OSSP中所指定程度的實踐來說,可以在其執行程度上進行剪裁。這種剪裁方式認為,對某些項目環境來說,一個或多個方面的實踐可能會要求不同程度的執行。對于這樣的實踐,組織可以開發一系列替代的執行實踐,這些實踐在上面所描述的各種屬性方面各有不同。每一個組織都需要定義一系列對于其所服務的環境或項目有用和有意義的實踐屬性。
(4)商業目標
在針對某一個特定項目對OSSP進行剪裁時,必須考慮組織和項目的商業目標和需求。除了在OSSP所假定的商業目標(如低費用、高質量、好的執行計劃以及持續改進的軟件過程)之外,每一個項目都可能有一些對項目的特定過程產生影響的特定商業目標。例如,該項目是否要求采用某種新技術?客戶是特別關心費用還是更關心項目進度?以及項目如何滿足其自身的過程改進目標并幫助組織滿足其全程過程改進目標?所有這些都會影響到OSSP在項目中的執行。
(5)成熟度等級對剪裁的影響
要想根據特定項目對OSSP進行剪裁,必須知道組織當前的過程能力以及項目要求的過程能力。較高級別的成熟度活動可能要依賴于組織基礎結構的支持(例如培訓和工具)。在完全配置這些基礎結構之前OSSP就可以被更新,或者項目也可以在OSSP所定義的成熟度等級之上進行操作。在某些情況下,可能還會需要將組織中的某些項目運行在不同的成熟度等級之上。在這種情況下,組織就必須決定OSSP是否應該反映(大部分或全部項目都應該達到的)主要要求或者平均條件(大多數項目的當前狀態)。所有這些因素都會影響到項目如何將OSSP剪裁成為特定的過程。
2、剪裁中需要考慮的過程元素
再次需要說明的是,將OSSP剪裁成為項目特定過程非常類似于剪裁SW-CMM而形成OSSP的過程。其中的過程元素與對SW-CMM的剪裁中是相同的,同樣包括角色、進入標準、輸入、活動、輸出、工作產品、退出標準等因素。對此本人在《根據SW-CMM建立組織標準軟件過程(OSSP)》一文中已經有所論述,這里不再重復說明。
3、剪裁方法
如前所述,對于剪裁OSSP形成項目特定過程的分析和思考非常類似于剪裁SW-CMM以形成OSSP的需求集合。但是,在將SW-CMM剪裁成為OSSP需求時,我們很大程度地依賴了各種核對表的使用。而在將OSSP剪裁成為項目特定過程時,則應該分析和剪裁OSSP的過程元素以適應項目的需要,這時我們可以換一種方式來獲取所需要開發的分析需求。
我們推薦使用(也是SW-CMM所推薦)的方法是獲取組織中剪裁手冊的可能變化范圍。這可能會在某種程度上限制了項目的選擇項,但是卻大大減輕了執行分析的負擔。比較簡短的分析仍然只涉及三個過程元素——輸出、活動和角色,但這還要依賴于項目的需求和項目定義軟件過程所需要的詳細級別。
(1)開發OSSP剪裁手冊
為了使組織中多個類似的項目環境中實踐的變化最小化,減少剪裁中所需的過程開發數量,我們推薦使用一種可控制的剪裁方式,使得剪裁可以通過OSSP的一系列剪裁手冊來進行控制。
在開發剪裁手冊時,首先應該創建一個初始表,表中顯示過程元素,每個元素中可被剪裁的屬性、每種屬性的范圍以及選擇某個特定范圍時所應考慮的條件等。這種方法緊密結合了過程元素、剪裁程度以及剪裁條件等因素——所有這些在前面都已經有所描述。表的一個具體實例如表1所示。
剪裁手冊開發步驟如下:
識別過程元素。不同的OSSP的結構可能要求不同的小組或元素。從可操作性考慮,在開始可以集中于輸出、活動以及角色等元素,然后再根據需要慢慢擴展到其他元素。
識別需要剪裁的每個元素的屬性。屬性就是關于過程元素的一些可描述的條款,一些最常用的屬性已經在剪裁程度部分中有所描述。每個組織都需要開發對其業務環境和商業目標有意義的一系列屬性。屬性的作用就是使得實踐中所用到元素的性質更加清晰。
逐個檢查每個過程元素。對于該元素的每一個屬性,都需要決定其可能變化的范圍(以及相應的替代集合)。例如,在聲明某個代理(角色過程元素)完成某項任務的一個實踐中,代理的范圍就是一個屬性。因此,“個人”、“小組”或者“多個部門”都可能是合適的代理。在此建議選擇項目能夠從中進行選擇的值集合或者替代項。
對于每一種替代項,確定在執行過程剪裁時之所以選擇該替代項的主要原因。比如大小、復雜性風險或者環境等。
表1:可剪裁的過程元素示例
過程元素 | 過程元素示例 | 可能具有的可剪裁屬性 | 可選的替代項 | 所需考慮的項目條件 |
角色 | 代理 提供商 客戶 評審員 驗證員 |
執行者 | 個人 | 項目大。喝藬瞪儆5人,時間少于6個月; 客戶:內部客戶或小型外部客戶 |
小組 | 項目大。5-15人,時間半年到一年; 客戶:大型外部客戶,政府代理 | |||
團隊 | 項目大。10-25人,時間一年至三年 客戶:超大型項目 | |||
活動 | 編碼 測試 評審 通訊 |
頻度 正規化程度 |
每周一次 每月一次 每季度一次 |
高標準的超大型項目 |
正式會議 備忘錄 電子郵件 電話通知 |
大型或中型項目 大型、中型或小型項目 中型或小型項目 小項目 | |||
輸入 輸出 工作產品 |
核心模塊 | 正規化程度 | CCB可控文檔 CM可控文檔 日期/版本控制 |
|
文檔 | 范圍 | 正式標準 建議模板 工程紀錄 | ||
報告 | 精確度 | 文檔評審 正規評審 自評審 |
(2)開發項目特定過程
在項目層次上,剪裁的執行通過根據項目需求從推薦集中選擇相應的選項來執行。其中的選擇機制就是人為進行判斷。
4、軟件開發計劃
項目定義軟件過程中包含在項目中所使用的OSSP的剪裁版本。該版本可能與同一組織中的其他項目定義軟件過程類似或者完全一致。所要開發的特定軟件配置和開發進度表并不是項目定義軟件過程的一部分。它們來源于項目的特定業務和技術需求,并且與項目定義軟件過程一起組成了項目軟件開發計劃的主要部分。
在組織開發合理有效的軟件開發計劃,并將該計劃應用于項目的管理和控制的過程中,剪裁是一個關鍵元素。從某種程度上說,對OSSP進行剪裁的最終目的就是要根據項目的特定環境,建立起項目定義軟件過程,并進一步開發出合理有效的軟件開發計劃。因此,比較完善的軟件開發計劃可以看作在項目范圍內對OSSP進行剪裁的最終結果。
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/