Transcript 下載/瀏覽
軟體快速開發 第二十六章 度量 大綱 26.1 應用度量 26.2 管理度量的風險 26.3 度量的副作用 26.4 度量與其它活動的相互關係 26.5 度量的底線 26.6 成功應用度量的關鍵 度量 Measurement 度量不僅有激勵員工的短期效益,也有 在成本、品質和進度方面的長期效益。 為獲得最好的效果,應由常設度量小組 制定一套高水準的管理規定。 效果 縮短原定進度的潛力: 很好 過程可視性的改善: 好 對專案進度風險的影響:降低風險 一次成功的可能性: 大 長期成功的可能性: 極大 主要風險 對某個度量指標過度優化 在對員工評估中誤用度量方法 從程式碼行數度量中獲得誤導資訊 主要的相互影響和權衡 為改善專案預算、制定進度計畫、評估程式 設計方法提供了基礎。 度量計畫可以通過下列方法支援快速開發: 度量提供狀態的可視性 能確切地知道目前專案所處的狀態 度量聚焦人員的活動 人們會對設定的目標做出反應 度量能提高士氣 度量能幫助設定實際的期望 度量為改善長期進度打下基礎 度量可幫助累積經驗,有助於精確估算 專案和進行規劃 26.1應用度量 高效應用度量的關鍵因素如下: 確定目標 決定如何改善專案和產品 提出問題 決定要提出那些問題有利於達成目標 建立度量標準 建立度量標準將能回答問題 度量小組 理想的度量小組應該有以下領域的知識: 統計和多元分析 軟體工程文獻 軟體專案管理文獻 軟體規劃和評估方法 軟體規劃和評估工具 資料收集表格設計 檢查設計 品質控制方法 逐步審查,審查和測試的所有標準格式 有關專門軟體度量標準的正反兩方面論 述 會計原則 度量什麼 成本和資源資料 如:電腦資源、日期資料 更改和缺陷資料 如:缺陷分類、缺陷檢測方法 過程資料 如:過程定義、過程一致性 產品資料 如:開發日期、總工作量 一旦已經開始收集資料元素,就可以從原始的 資料獲得更深層的資料,以下是可建立的資料 元素: 公開的缺陷數與報告總缺陷數的對比 審查發現的缺陷數量和運行發現的缺陷數量對 比 已經評估過的歷史紀錄與一個專案實際還需要 的天數的對比 按程式設計語言統計每個員工每月的平 均功能點數 產品發佈前清除的缺陷數在總缺陷數中 所占的百分比 按缺陷嚴重程度、子系統、時間,分類 統計平均修復時間 產生每頁文檔的平均小時數 數據立度 Granularity 大多數公司所收集資料遇到的一個問題是資 料收集的範圍太大以至於無法使用。 下表列出了計算時間的種類及活動內容: 種類 活動 管理(專案) 計畫 管理客戶關係 管理開發者 管理品質保證 管理變更 種類 活動 管轄(行政) 停機時間 開發實驗室的建立 開發流程 創建開發流程 復審或審查開發流程 重做/修復開發流程 講解開發流程 需求規格說明 建立規格說明書 復審審查規格說明書 重做/修復規格說明書 在制定說明書期間檢測到的缺陷 數 種類 活動 建立雛型 建立雛型 復審或審查雛型 重做/修復雛型 在建立雛型期間檢測到的缺陷數 架構 建立架構 復審或審查架構 重做/修復架構 在建立架構期間檢測到的缺陷數 設計 建立設計 復審或審查設計 重做/修復設計 在設計期間檢測到的缺陷數 種類 活動 實作 建立實作 復審或審查實作 重做/修復實作 在實作期間檢測到的缺陷數 元件的取得 調查或取得元件,購買或自製 管理元件的取得 測試取得的元件 維護取得的元件 報告取得元件中的缺陷 整合 創建及維護建構 測試建構的系統 發佈建構的系統 種類 活動 系統測試 計畫系統測試 建立系統測試手冊 建立自動系統測試 執行手動系統測試 執行自動系統測試 報告系統測試期間的缺陷 產品發佈 準備和支援中期發佈 準備和支援alpha版發佈 準備和支援beta版發佈 準備和支持最終版發佈 度量標準 收集度量資料 分析度量資料 應用收集到的資料 Pareto分析 尋找那些花費80%時間而僅佔總活動只 有20%的活動。最佳化軟體專案的進度 與最佳化軟體的執行速度一樣。 度量在那些地方花了時間,然後設法提 高其效率。 分析 vs. 度量 為了使收集的資料有意義,就要對度量 標準進行定義和進行標準化,以便我們 能在不同的專案之間進行比較。 NASA的軟體工程實驗室獲得的一個教訓 是在分析上用較多的時間而在資料收集 上花較少的時間。 整理和分析資料的方法如下: 方程式 餅形統計圖 定義正常範圍的圖表 表格 定義流程 經驗法則 配備具有上述部份或全部功能的軟體 回饋 Feedback 當組織能給開發人員提供度量資訊回饋時, 開發者會喜歡度量計畫。 讓開發者參與到資料收集及標準制定,收 集的資料可能會更好,而且你的邀請能提 高參與熱情。 基準報告 組織機構提供度量計畫的一種特殊回饋方法是年度軟 體基準報告。 基準報告類似年度財政報告,描述的是機構軟體發展 能力的狀態。 基準報告是在歷史資料、調查、圓桌會議討論和採訪 等基礎上寫成的。 基準報告不是評估報告。 局限性 度量是有用的,但它不是靈丹妙藥。要 在腦海中記住它們的局限性。 過份的依賴統計資料 可從統計資料中獲得洞察力,但與相關 人員討論統計分析時,能獲得更深的瞭 解。 資料的精確性 大多數公司的追蹤系統都會在一個軟體 專案中忽略30%到70%的實際工作量。 在制定度量計畫時,應考慮到這些誤差 來源。 26.2管理度量的風險 對單一因素的度量過分優化 要使度量的因素獲得最優化,就需要仔 細確定度量的因素。 評估員工時採用錯誤的度量方法 一個成功的度量計畫依靠被評估工作人 員的參與活動,並且度量方案是追蹤專 案的,而不是追蹤特定的人。 從程式碼行數度量中獲得錯誤資訊 用程式碼來度量生產力會使高階語言的生產率 顯得比它實際的要低。 應用系統每一程式碼缺陷數較少的這個事實會 對應用程式產生品質水準的錯誤印象。 聰明快速的方法可以導致程式碼較少,還可以 考慮對某些度量採用功能點的辦法,它能提供 生產力及品質的共通標準。 26.3度量的副作用 度量的主要附帶效果是使度量的對象獲 得最優。 例如:優化缺陷率,提高可用性,執行 效能,優化進度等等。 26.4度量與其它活動的相互關係 一個度量計畫可以提供多方面改進的基 礎。 雖然可以制定一個度量計畫來減低開發 專案的開支,但不能對其它方面的活動 產生副作用。 26.5度量的底線 度量方案的有效性自然要有可靠的資料 來支援。 建立了完整的軟體度量規劃的機構能夠 連續四、五年內,每年提高品質40%和 生產力15%。(Jones 1991) 26.6成功應用度量的關鍵 建立一個度量小組。 這個小組負責確定有用的度量指標和幫助各項指標進 行測試。 在一個合適數據粒度(granularity)下追蹤計算時間的 資料。 開始時採用較少量的度量。 根據目標、問題和度量標準來選擇你想要度量什麼。 不要僅僅收集資料。 要分析資料且把它們回饋給與度量資料相關的人。 軟體快速開發 第二十七章 小型里程碑 大綱 27.1 應用小型里程碑 27.2 管理小型里程碑的風險 27.3 小型里程碑的副作用 27.4 小型里程碑與其它一些活動的相互 關係 27.5 小型里程碑的底線 27.6 成功應用小型里程碑的關鍵 小型里程碑是一種進行專案追蹤和控制 的好方法,它能很好地提供專案狀態的 可視性。 成功應用的關鍵包括克服被管理的人員 抗拒情緒和使這項活動真正保持小型的 特徵。 效果 縮短原定進度的潛力: 一般 過程可視性的改善: 很好 對專案進度風險的影響:降低風險 一次成功的可能性: 大 長期成功的可能性: 極大 主要風險 無 主要的相互影響和權衡 特別適合專案恢復 當與每日建構和冒煙測試法相結合使用時特別有效 能與漸進式雛形法、使用者界面雛形,需求規格說 明和其它難管理的專案活動的結合使用 增加專案追蹤工作量換來良好的可視性和控制性 小型里程碑對快速開發支援可以歸結以 下四點: 提高狀態的可視性 提高控制精確度 改善激勵 減少進度風險 小型里程碑就是在軟體發展中採用了粒度控制 (Fine-grain control)相同的思想,通過這方法 便不會偏離期望太多。 里程碑有助於對人員進行追蹤。沒有短期 里程碑很容易失去目標。 通過小型里程碑,每個人都不得不每一天 或者每兩天需要完成他們的目標。 27.1應用小型里程碑 及早啟動小型里程碑或者對危機做出反應 讓開發者建立他們自己的小型里程碑 保持里程碑的小型特徵 里程碑的二分性 只有做完和還沒做完兩種狀態 制定一系列完整的里程碑 在短期計畫中應用小型里程碑 定期評價進度和調整或重新計畫 如果一個開發者僅僅靠著不斷超時工作 才能完成計畫,那麼我們就應該調整這 個計畫。 當同時評估幾個開發者的進度計畫時, 可能會發現有一些開發者的進度計畫比 其它人長。如果差別很大時,可以轉移 一部份給其它人,使得工作更平均。 27.2管理小型里程碑的風險 不能有效的應用小型里程碑時會存在一 定的風險,但應用小型里程碑不會對專 案本身造成任何風險。 27.3小型里程碑的副作用 小型里程碑比其它方法需要更多的管理, 不需要很多複雜的方法。 小型里程碑比其它方法需要更多時間。 避免專案領導者不與專案本身進行接觸。 27.4小型里程碑與其它一些活動的 相互關係 因為小型里程碑支援每天的預計進度與 實際進度的比較,所以相對地也能快速 評價出這個專案大概要延長多長的時間 。 小型里程碑非常適用於每日建構和冒煙 測試活動(ch18)也適合於控制不定型 (amorphous)開發。 27.5小型里程碑的底線 如果覺得在3個月內可以完這專案,但不能為 要做的工作建立小型里程碑時,那實際上可能 還需要6到9個月才能完成這個專案。 由於所有工作都是在進度計畫中,所以可以減 少去做一些有興趣但沒有生產作用的迂迴開發 活動。 可以減少開發時間。 27.6成功應用小型里程碑的關鍵 在合適的時候啟動使用小型里程碑,可 在專案早期或者要對危機做出反應的時 候 里程碑要小,一般間距控制在一到兩天 內 確保里程碑是詳盡的 準確地報告里程碑的進展情形 定期地評價進度並且在它們脫離里程碑 進度時進行調整或者重新計畫 報告完畢 End