敏捷開發過程剖析及工具推薦

csdn發表於2013-07-16

  敏捷開發,要求在開發過程中不斷增強,從而提高軟體質量,以達到提高商業收入的目的。它是一個迭代的過程,一個不斷提高企業投資回報率和服務質量的過程。值得注意的是,成功的敏捷開發,單純依附於活躍的開發過程和理解敏捷所帶來的效益並對此有濃厚興趣的企業使用者。本文將介紹敏捷開發的五大過程及這些過程中所要用到的工具。

  敏捷計劃

  典型的敏捷開發將整體工作分為一系列的釋出過程,每個釋出過程都是一個迭代迴圈,每個迭代迴圈都會發布一組功能特性。

  敏捷計劃規定了每個迴圈中所需要完成的工作(釋出/迭代)。在該階段,產品所有者將描述每個迴圈過程中他希望看到的產品樣子。

  敏捷計劃包含釋出計劃與迭代計劃,兩者的內容及執行者不同。

  釋出計劃:包含每次釋出的功能組。產品所有者負責在產品釋出之前制定釋出計劃。

  迭代計劃:開發團隊需要在開發工作及迭代開始前確定需要完成的工作。可以通過每天的站立會議來實現。 

  工具:制定敏捷計劃,有很多工具可以使用,如:

  建立使用者故事

  使用者故事,是對功能、特性的簡單描述。每個特性也可能由很多故事組成。使用者故事要簡單且容易理解,能在幾分鐘內通過幾行字表述清楚。請注意,使用者故事是由專案所有者或主要使用者群體來定義的,而非開發者。

  正如Mike Cohnrn所建議的,使用者故事應該遵循下面的格式:

  作為一個(某種角色),我需要(某事)如此如此。

  例如,作為一個使用者,我希望通過姓名來查詢我的客戶。

  工具:最好的方法是使用索引卡片來記錄各個故事。有很多種工具可以幫助完成故事圖譜與故事追蹤,如

  注意:故事並不是一次性完成的,它迴圈往復,且貫穿於整個專案開發週期中。

  評估你的工作

  在敏捷中,評估用於預測功能實現的複雜程度,並根據以前完成相似複雜度功能的經驗預估所需要的完成時間。它是一個持續的過程,基於之前的經驗和模式學習,不斷提高評估的準確性。

  通常,評估故事的複雜程度多基於故事要點,而非所耗費的時間。要點解釋了故事的複雜性,並通過資料1,2,3……來體現。

  評估有助於做出更好的商業決策,定義釋出/迭代的範圍。例如,我們可以很容易地為每次迭代/釋出中的所有故事分配同樣的數字。

  工具:Planning Poker是定義和改善你評估的最好技術。

  站立會議

  站立會議是開發團隊每天進行的簡短會議。會上每個人需要說明昨天所完成的事,及今天的計劃和被分配任務現在的狀態。商業使用者和領域專家偶爾也會參加,這將給他們更多關於專案的信心。

  它不是例行會議,僅僅對專案實施情況給出粗略的描述,而是要提供更多關於專案的可視性內容,增強團隊間的協作,對當天的計劃給出正確指導。

  工具:在站立會議中,白板是非常有效的工具。

  專案監控技術

  速率:

  通過速率,可以精確地測量開發團隊釋出商業價值的速度。速率是對生產力的測量。通過計算一定間隔內完成工作的單元數來計算速率。

  在每次迭代的最後,為了計算速率,敏捷團隊會檢視該過程所完成的工作要求,並累加與這些要求相關聯的故事點。所完成故事點的總數便是團隊的速率。首次小小的迭代之後,你會逐漸發現某種趨勢,且能計算出平均速率。 

  下面一些工具可以幫助追蹤速率。

  Burndown Reports:

  Burndown Report是追蹤專案進度的另一個標尺。它用來追蹤完成故事點的個數,監控簡單的迭代、釋出和整個專案積壓的工作。它可以顯示進度,反映產品交付的價值和團隊的速率。

  以下一些工具可用於測量Burndown Reports:

  英文來源:TechMyTalk

相關文章