敏捷開發(fā)過程剖析及工具推薦
敏捷開發(fā),要求在開發(fā)過程中不斷增強(qiáng),從而提高軟件質(zhì)量,以達(dá)到提高商業(yè)收入的目的。它是一個(gè)迭代的過程,一個(gè)不斷提高企業(yè)投資回報(bào)率和服務(wù)質(zhì)量的 過程。值得注意的是,成功的敏捷開發(fā),單純依附于活躍的開發(fā)過程和理解敏捷所帶來的效益并對(duì)此有濃厚興趣的企業(yè)用戶。本文將介紹敏捷開發(fā)的五大過程及這些 過程中所要用到的工具。
敏捷計(jì)劃
典型的敏捷開發(fā)將整體工作分為一系列的發(fā)布過程,每個(gè)發(fā)布過程都是一個(gè)迭代循環(huán),每個(gè)迭代循環(huán)都會(huì)發(fā)布一組功能特性。
敏捷計(jì)劃規(guī)定了每個(gè)循環(huán)中所需要完成的工作(發(fā)布/迭代)。在該階段,產(chǎn)品所有者將描述每個(gè)循環(huán)過程中他希望看到的產(chǎn)品樣子。
敏捷計(jì)劃包含發(fā)布計(jì)劃與迭代計(jì)劃,兩者的內(nèi)容及執(zhí)行者不同。
發(fā)布計(jì)劃:包含每次發(fā)布的功能組。產(chǎn)品所有者負(fù)責(zé)在產(chǎn)品發(fā)布之前制定發(fā)布計(jì)劃。
迭代計(jì)劃:開發(fā)團(tuán)隊(duì)需要在開發(fā)工作及迭代開始前確定需要完成的工作??梢酝ㄟ^每天的站立會(huì)議來實(shí)現(xiàn)。
工具:制定敏捷計(jì)劃,有很多工具可以使用,如:
創(chuàng)建用戶故事
用戶故事,是對(duì)功能、特性的簡(jiǎn)單描述。每個(gè)特性也可能由很多故事組成。用戶故事要簡(jiǎn)單且容易理解,能在幾分鐘內(nèi)通過幾行字表述清楚。請(qǐng)注意,用戶故事是由項(xiàng)目所有者或主要用戶群體來定義的,而非開發(fā)者。
正如Mike Cohnrn所建議的,用戶故事應(yīng)該遵循下面的格式:
作為一個(gè)(某種角色),我需要(某事)如此如此。
例如,作為一個(gè)用戶,我希望通過姓名來查找我的客戶。
工具:最好的方法是使用索引卡片來記錄各個(gè)故事。有很多種工具可以幫助完成故事圖譜與故事追蹤,如
注意:故事并不是一次性完成的,它循環(huán)往復(fù),且貫穿于整個(gè)項(xiàng)目開發(fā)周期中。
評(píng)估你的工作
在敏捷中,評(píng)估用于預(yù)測(cè)功能實(shí)現(xiàn)的復(fù)雜程度,并根據(jù)以前完成相似復(fù)雜度功能的經(jīng)驗(yàn)預(yù)估所需要的完成時(shí)間。它是一個(gè)持續(xù)的過程,基于之前的經(jīng)驗(yàn)和模式學(xué)習(xí),不斷提高評(píng)估的準(zhǔn)確性。
通常,評(píng)估故事的復(fù)雜程度多基于故事要點(diǎn),而非所耗費(fèi)的時(shí)間。要點(diǎn)解釋了故事的復(fù)雜性,并通過數(shù)據(jù)1,2,3……來體現(xiàn)。
評(píng)估有助于做出更好的商業(yè)決策,定義發(fā)布/迭代的范圍。例如,我們可以很容易地為每次迭代/發(fā)布中的所有故事分配同樣的數(shù)字。
工具:Planning Poker是定義和改善你評(píng)估的最好技術(shù)。
站立會(huì)議
站立會(huì)議是開發(fā)團(tuán)隊(duì)每天進(jìn)行的簡(jiǎn)短會(huì)議。會(huì)上每個(gè)人需要說明昨天所完成的事,及今天的計(jì)劃和被分配任務(wù)現(xiàn)在的狀態(tài)。商業(yè)用戶和領(lǐng)域?qū)<遗紶栆矔?huì)參加,這將給他們更多關(guān)于項(xiàng)目的信心。
它不是例行會(huì)議,僅僅對(duì)項(xiàng)目實(shí)施情況給出粗略的描述,而是要提供更多關(guān)于項(xiàng)目的可視性內(nèi)容,增強(qiáng)團(tuán)隊(duì)間的協(xié)作,對(duì)當(dāng)天的計(jì)劃給出正確指導(dǎo)。
工具:在站立會(huì)議中,白板是非常有效的工具。
項(xiàng)目監(jiān)控技術(shù)
速率:
通過速率,可以精確地測(cè)量開發(fā)團(tuán)隊(duì)發(fā)布商業(yè)價(jià)值的速度。速率是對(duì)生產(chǎn)力的測(cè)量。通過計(jì)算一定間隔內(nèi)完成工作的單元數(shù)來計(jì)算速率。
在每次迭代的最后,為了計(jì)算速率,敏捷團(tuán)隊(duì)會(huì)查看該過程所完成的工作要求,并累加與這些要求相關(guān)聯(lián)的故事點(diǎn)。所完成故事點(diǎn)的總數(shù)便是團(tuán)隊(duì)的速率。首次小小的迭代之后,你會(huì)逐漸發(fā)現(xiàn)某種趨勢(shì),且能計(jì)算出平均速率。
下面一些工具可以幫助追蹤速率。
Burndown Reports:
Burndown Report是追蹤項(xiàng)目進(jìn)度的另一個(gè)標(biāo)尺。它用來追蹤完成故事點(diǎn)的個(gè)數(shù),監(jiān)控簡(jiǎn)單的迭代、發(fā)布和整個(gè)項(xiàng)目積壓的工作。它可以顯示進(jìn)度,反映產(chǎn)品交付的價(jià)值和團(tuán)隊(duì)的速率。
以下一些工具可用于測(cè)量Burndown Reports:
原文鏈接:http://techmytalk.com/2013/07/14/agile-software-development-process/