各種開發方法在敏捷領域中的價值
簡介
方法 是團隊協力實現其目標的工作方式。它描述如何確定和分配責任、要應用哪些技術、如 何確定成功的標准,以及如何達到這些標准。
曾經,方法是位於布滿灰塵的綁定者中的靜態文檔—— 是強制性的,但幾乎無法理解和應用。團隊在最低限度地應用方法,以便不引起流程警察的注意。幾年的時間 很快就過去了,敏捷的革命已經推翻了流程警察。自由的時代。一切都是和平、友愛和協作!
但敏捷 並不意味著無秩序。正確應用敏捷方法需要紀律。原則是存在的,如在 Agile Manifesto(敏捷宣言)中看到 的那些原則。有許多替代技術可供選擇,如待辦事項梳理、計劃撲克和測試優先的開發。對於許多組織來說, 敏捷方法是不夠的。隨著組織和技術復雜性的增加,需要考慮額外的擴展因素,並且需要擴展流程來匹配。
隨著方法變得越來越復雜,文檔變得越來越重要,自動化的方法也變得更有價值。本文利用 IBM Rational Method Composer 和基於 Jazz 技術的制定工具來探討記錄和自動化方法的價值。
為什麼 方法很重要
每個人、每個團隊都遵循一些方法。有些是臨時性的,在有需要時創造,而另一些則是正 式的、剛性的、強制的。有些方法與特定的角色、工作產品、任務、模板、檢查表和指南一起記錄。其他方法 是沒有記錄的,所以開發人員依賴於團隊成員之間的共識,以及知道要找誰去獲得更多信息。大多數組織處於 兩種極端之間,原因有兩個:
剛性的方法可在需求出現時避免發生更改,但臨時性方法會導致混亂
詳細記錄的方法可能很難創建和維護,而沒有記錄的方法則限制了最佳實踐的溝通和共享。
方法是重要的,因為它們決定團隊合作得究竟有多好。方法確定在項目上應用的技術是否有效,它們甚至 可以定義我們心目中成功 的標准。問題不在於是否有一種方法,而是如何確保您的方法有效。
記錄方 法的原因
臨時性的、沒有記錄的方法會很有吸引力,因為它們不需要投資並且非常敏捷,因為您是在 工作中創造它們。然而,這會變得難以擴展。Rational Method Composer 中包括了一些來自 Disciplined Agile Delivery(紀律敏捷交付)流程的擴展因素:
團隊規模 主流敏捷流程在小團隊 (10-15) 中可良好應用,但如果團隊有 50 人呢?一百人?一千人?
合規性要求 如果有監管問題適用,如 Sarbanes Oxley、ISO9000 或 FDA CFR21?
地理分布 如果團隊分散在大廈中,或在世界各地?
域復雜性 如果問題域錯綜復雜(如生化過程監控或空中交通管制),或者快速變化(如金融衍生品交易或電 子安全保證)?
組織分布 有時一個項目團隊的成員來自不同部門、不同的合作伙伴公司,或來自外部機構。
技術復雜性 使用遺留系統、多平台,或混合不同的技術,可能會增加技術的復雜性。
組織復雜性 組織結構和文化可以反映傳統的價值觀,從而增加采用和擴展敏捷戰略的復雜性。組織內不同的 部門機構對自己應該如何工作可能有不同的看法。
企業紀律 組織希望利用通用的基礎架構平台,以較低成本,減少產品上市時間,並提高一致性。他們需要有 效的企業架構、企業業務建模、戰略重用和組合管理等紀律。這些紀律必須與軟件開發過程協同工作,更好的 是,利用它們來增強該流程。
圖 1. 規范敏捷交付擴展因素
隨著項目和組織復雜性的增加,記 錄這些方法變得越來越重要。記錄的方法使組織能夠:
定義明確的責任和關鍵的事件順序
由於團隊變得高度分散,隨時隨地都能以某種記錄的形式提供信息就 變得非常重要。沒有時間去等待一個解釋,也承擔不起對由誰在什麼時候需要做什麼事情這種問題感到困惑。
捕獲和推廣該組織的最佳實踐
為了保持競爭力,企業必須使用行業標准的最佳實踐,並從自己的錯誤和 成功中總結經驗。
對變更的效果設定基線並進行測量
如果不建立一個基線方法,您要改善什麼呢?文檔可幫助您實現基於 回顧的持續改進這一敏捷原則。
滿足合規性與審計
例如,CMMi、DO-178B、ITIL、COBIT、SOX。合規性可能是一個挑戰。記錄方法通常 是必需的,以實現合規性並作為演示合規性的證據。
使用符合項目特征的方法快速啟動項目。
越來越明顯的是,問題並不在於有否記錄的方法,而是要記錄什麼以及如何記錄。
使用方法創造工 具的好處
最常見的方法創作工具是文字處理程序和維基。它們提供了一些明顯的優點,因為只需要很 少或根本不需要培訓,而且對如何組織和展示信息的限制極少。
其缺點是,這樣的非結構化信息就像 一本書。使用它的惟一途徑就是閱讀它。方法創作工具提供了一個方法數據庫。數據庫具有以下優點:
可配置性與自定義 您可以從其他方法的片斷和部分來創建或調整方法。您可以擴展方法,以適應小型和大型 項目。自定義可以是協作式的,其中團隊成員對方法進行評論,並共同作出更改和補充。
流程構建器向導 您可以創建提出問題以及根據答案來調整方法的向導。
一致性和完整性 流程感知的方法編制工具,確保信息是一致的和完整的。表單填寫界面使得提供正確的信息 很容易。可以生成信息(如相關元素之間的交叉引用),從而確保一致性。
自動化 可以使用方法信息來配置流程自動化的工具。自動化包括生成最初的項目計劃或工作項列表、觸手可 及的特定於上下文的流程指南、自動工具配置。未來還有更多可能。
查詢、混搭和報表 方法數據庫可以支持 RSS 提要以及其他混搭技術,以提高方法信息的可訪問性和價值。查 詢和報表可以用來以不同的方式查看方法信息,這些方式包括表格、摘要表單、卡片,或 Portlet。您可以掛 接到不同的信息源,如在線幫助、社區和工具數據庫。
問題不再是 “我們是否應該使用方法創作工具”,而是 “我們應該如何構建我們的方法信息,以便我們 可以優化我們對方法的使用?”
Rational Method Composer 的價值
Rational Method Composer 包括以下特性和功能:
一個巨大的實踐庫,包括一套集成了實際業務和技術控制的豐富敏捷實踐
工具集成特性,如:
自動配置工具,以匹配記錄的流程
從流程定義創建計劃和工作項模板
工作時 “觸手可及” 的流程指南
綜合的流程和工具解決方案,適用於不同行業中不同類型的開發,如:
Collaborative Lifecycle Management for IT agility@scale
系統和軟件工程
汽車
航空航天
可定制性特性:
皮膚(可選顯示),定制信息的呈現方式
定義自己的方法元素類型、規則和關系的選項
項目或組織現有方法的簡單定制
針對富文本編輯、圖表、分解結構、適應性、報表和查詢的大量特性
針對衡量項目績效及作出改進的指南和標准
配套資產,如 “自我檢查” 和 “測量改進”,提高團隊和組織的績效
如圖 2 所示,Rational Method Composer 由一個記錄流程的工具和一個可重用實踐庫組成。可使用開 發工具對記錄的流程進行制定。已測量的改進方法使您能夠改進流程。
圖 2. 記錄、制定、測量和改 進
結束語
方法對於您的組織是重要的,因為它 們定義了您的組織如何運作。記錄這些方法,以便交流和改進這些操作。
利用 Rational Method Composer,您可以創建一致的、可定制的方法,從而利用敏捷和擴展的敏捷實踐的豐富的庫。Rational Method Composer 集成基於 Jazz 的工具,使團隊可以更高效地工作。配套資產,如自我檢查、測量改進,和 特定於行業的解決方案,可以幫助您有效地部署可以開展真正業務價值的組織性改進。
本系列的後續 文章將使用這裡介紹的特性來探討記錄和自動化流程的場景。