一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

敏捷開發(fā)方法學(xué)及應(yīng)用

 昵稱10504424 2014-01-16

本篇文章是有關(guān)敏捷軟件開發(fā)方法學(xué)及應(yīng)用的基礎(chǔ)知識(shí)。敏捷開發(fā)是有關(guān)團(tuán)隊(duì)怎么樣合作去實(shí)現(xiàn)一個(gè)常規(guī)目標(biāo)。敏捷開發(fā)并不僅僅適用于軟件開發(fā)者,也適用于團(tuán)隊(duì)領(lǐng)導(dǎo)人,項(xiàng)目經(jīng)理,產(chǎn)品經(jīng)理,開發(fā)經(jīng)理,測(cè)試人員,質(zhì)量保證經(jīng)理,質(zhì)量保證工程師,技術(shù)作者,用戶體驗(yàn)設(shè)計(jì)者,以及任何與制做發(fā)布軟件相關(guān)的人員。本文著重于技術(shù)團(tuán)隊(duì)怎么很好的合作去計(jì)劃,開發(fā)并發(fā)布軟件。本文不著重于編碼,技術(shù)細(xì)節(jié)或微軟工具。希望本文能改善你的專業(yè)生活和團(tuán)隊(duì)效率。

背景

下圖是Winston Royce的瀑布式開發(fā)模型:
( "Managing the Development of Large Software Systems",1970 IEE paper)

無論項(xiàng)目有多大有多復(fù)雜,有兩個(gè)關(guān)鍵的步驟常用于所有的計(jì)算機(jī)程序開發(fā):1) 分析 2) 編碼。

接下來,Winston Royce介紹了最重要的五步:

第一步:程序設(shè)計(jì)

分配任務(wù)處理流程,功能,數(shù)據(jù)庫處理,明確數(shù)據(jù)庫流程,分配執(zhí)行時(shí)間,明確操作系統(tǒng)間的接口與處理流程模塊,描述輸入與輸出流程,并且明確初步的操作流程。撰寫容易理解的,信息量大的,當(dāng)前時(shí)新的概要文檔。

第二步:撰寫設(shè)計(jì)文檔

管理軟件開發(fā)的第一條規(guī)則就是無條件服從的執(zhí)行文檔需求。

第三步:重復(fù)兩次

第二個(gè)非常重要的成功標(biāo)準(zhǔn)以產(chǎn)品是否完全原始為重中之重。如果把還有疑問的計(jì)算機(jī)程序開發(fā)為第一版,考慮到嚴(yán)格的設(shè)計(jì)/操作領(lǐng)域,那么給客戶正式部署的版本實(shí)際上是第二版本。

第四步:計(jì)劃,控制,監(jiān)控測(cè)試

在成本和計(jì)劃方面上,這是最有風(fēng)險(xiǎn)的一步。當(dāng)備選方案幾乎或一點(diǎn)不可用時(shí),它會(huì)出現(xiàn)在日程安排的最近時(shí)間點(diǎn)上。

第五步:讓客戶參與

讓客戶參與到項(xiàng)目中是非常重要的,因?yàn)榭蛻艨赡茉谧罱K發(fā)布之前較早的認(rèn)可項(xiàng)目工作。
仔細(xì)閱讀Royce的文章后發(fā)現(xiàn):
  1. 每一階段都應(yīng)該迭代式地傳遞到下一階段。
  2. 軟件發(fā)布前對(duì)軟件整體流程實(shí)踐兩次。
  3. 簡(jiǎn)單單一的階段傳遞會(huì)造成項(xiàng)目失敗。
不幸地是,上面列出的步驟當(dāng)中,設(shè)計(jì)迭代從來沒被限制成連續(xù)的步驟。
下面這些東西都是什么?
答案是:
敏捷開發(fā)并不意味著只是一種方法。上面雨傘下的術(shù)語代表著不同的敏捷開發(fā)方法。

敏捷軟件開發(fā)宣言

我們一直在實(shí)踐中探尋更好的軟件開發(fā)方法,身體力行的同時(shí)也幫助他人。由此我們建立了如下價(jià)值觀:


  • 個(gè)人與交互 高于 流程和工具
  • 可用軟件 高于 詳盡的文檔
  • 客戶合作 高于 合同談判
  • 響應(yīng)變化 高于 遵循計(jì)劃


也就是說,上面右側(cè)(藍(lán)色字體)內(nèi)容有其價(jià)值,但我們更重視左側(cè)(紅色字體)產(chǎn)生的價(jià)值。

敏捷宣言的十二條原則

我們遵循以下原則:

  1. 我們最重要的目標(biāo),是通過持續(xù)不斷地及早交付有價(jià)值的軟件使客戶滿意。
  2. 欣然面對(duì)需求變化,即使在開發(fā)后期也一樣。為了客戶的競(jìng)爭(zhēng)優(yōu)勢(shì),敏捷過程掌控變化。
  3. 經(jīng)常地交付可工作的軟件,相隔幾星期或一兩個(gè)月,傾向于采取較短的周期。
  4. 業(yè)務(wù)人員和開發(fā)人員必須相互合作,項(xiàng)目中的每一天都不例外。
  5. 激發(fā)個(gè)體的斗志,以他們?yōu)楹诵拇罱?xiàng)目。提供所需的環(huán)境和支援,輔以信任,從而達(dá)成目標(biāo)。
  6. 不論團(tuán)隊(duì)內(nèi)外,傳遞信息效果最好效率也最高的方式是面對(duì)面的交談。
  7. 可工作的軟件是進(jìn)度的首要度量標(biāo)準(zhǔn)。
  8. 敏捷過程倡導(dǎo)可持續(xù)開發(fā)。責(zé)任人、開發(fā)人員和用戶要能夠共同維持其步調(diào)穩(wěn)定延續(xù)。
  9. 堅(jiān)持不懈地追求技術(shù)卓越和良好設(shè)計(jì),敏捷能力由此增強(qiáng)。
  10. 以簡(jiǎn)潔為本,它是極力減少不必要工作量的藝術(shù)。
  11. 最好的架構(gòu)、需求和設(shè)計(jì)出自自組織團(tuán)隊(duì)。
  12. 團(tuán)隊(duì)定期地反思如何能提高成效,并依此調(diào)整自身的舉止表現(xiàn)。
很多開發(fā)者都經(jīng)過這樣的噩夢(mèng):沒有任何實(shí)踐可以輔佐的項(xiàng)目。由于缺乏有效的實(shí)踐,項(xiàng)目變得不可預(yù)測(cè),重復(fù)出現(xiàn)錯(cuò)誤,還有白白浪費(fèi)的辛苦。計(jì)劃延期,超出預(yù)算,質(zhì)量低下使客戶感到失望。開發(fā)者也由于更長(zhǎng)時(shí)間的工作而換來更糟糕的軟件而心灰意冷。

DSDM

DSDM(Dynamic Software Development Method),動(dòng)態(tài)軟件開發(fā)方法,通過提供一個(gè)負(fù)責(zé)整體開發(fā)周期的框架來彌補(bǔ)RAD(Rapid Application Development)快速程序開發(fā)的不足。下面是DSDM的主要功能:
  1. 用戶參與
  2. 迭代和遞增開發(fā)
  3. 提高了發(fā)布頻率
  4. 集成測(cè)式于每一階段
  5. 已發(fā)布產(chǎn)品的可接受程度直接取決于需求的實(shí)現(xiàn)

FDD

FDD(Feature Driven Development),功能驅(qū)動(dòng)開發(fā),是一種包裝方法學(xué)。它允許你在非常高的級(jí)別上應(yīng)用一個(gè)方法來管理項(xiàng)目,但它也允許你在較低的級(jí)別上應(yīng)用其它方法學(xué)。FDD的著重點(diǎn)是能夠把估算,日程計(jì)劃,項(xiàng)目狀態(tài)匯報(bào)作為一個(gè)整體或放到顆粒級(jí)別上,但是FDD不會(huì)規(guī)定一個(gè)非常細(xì)節(jié)化的方法讓你應(yīng)用去創(chuàng)建日程計(jì)劃,相反FDD讓你去覺決定該用什么方法。FDD的觀點(diǎn)是你可以查看一下你的項(xiàng)目,陳術(shù)一下項(xiàng)目的確切狀態(tài),如項(xiàng)目進(jìn)度是否及時(shí),延時(shí)或過早等等。

Lean

Lean思想是一種進(jìn)行系統(tǒng)優(yōu)化的途徑,它關(guān)注于減少浪費(fèi),提高整個(gè)系統(tǒng)總體流程。Lean在制造業(yè)上有著豐富的歷史,近幾年在在軟件開發(fā)行業(yè)也越來越流行。Lean來源于制造業(yè)中的Lean(Lean Manufacturing: http://www./pages/article/newSTR_44.htm),它是一組為滿足質(zhì)量,速度和客戶需求而定制的原則。

七大Lean軟件開發(fā)原則:

  1. 估算浪費(fèi)
  2. 構(gòu)建質(zhì)量
  3. 創(chuàng)建知識(shí)
  4. 延遲承諾
  5. 快速交付
  6. 尊重人
  7. 優(yōu)化整體
軟件產(chǎn)品的交付工作應(yīng)用這些原則并不是我們的最終目的。我們并不是說讓我們用Lean吧,而是把Lean原則做為決策的向?qū)Щ騾⒖既ミx擇可以改善整體系統(tǒng)的技術(shù)。比如,TDD測(cè)試驅(qū)動(dòng)開發(fā),通過在每一個(gè)功能點(diǎn)上創(chuàng)建功能自我測(cè)試從而構(gòu)建軟件的完整性和完善性。

Plan(譯外話:指瀑布式開發(fā)Waterfall Development)

在計(jì)劃驅(qū)動(dòng)開發(fā)中,如果一個(gè)項(xiàng)目確切的按照計(jì)劃執(zhí)行,那么它就是成功的。因此,在軟件開發(fā)中計(jì)劃驅(qū)動(dòng)開發(fā)依賴于需求的穩(wěn)定性,明確性和固定性。你或許知道這些奢侈的性質(zhì)是在大多數(shù)軟件項(xiàng)目中不存在的。
計(jì)劃驅(qū)動(dòng)方法學(xué),在初期的設(shè)計(jì)階段的需求變更中成本花費(fèi)較低,但是一旦到了開發(fā)階段需求變更將會(huì)花費(fèi)昂貴的代價(jià)。所以,很多的工作被要求在初期計(jì)劃設(shè)計(jì)階段完成。然而,軟件開發(fā)不同于普通的項(xiàng)目,我們不能保證將來的開發(fā)階段會(huì)完全按照初期的設(shè)計(jì)進(jìn)行,無論你的設(shè)計(jì)有多么出色。
"Walking on water and developing software from a specification are easy if both are frozen."- Edward V. Berard
在水上行走和開發(fā)軟件都只有當(dāng)它們被凍結(jié)時(shí)才會(huì)變得容易。
敏捷開發(fā)打破了對(duì)需求穩(wěn)定性的依賴,它有一個(gè)專門的流程用于負(fù)責(zé)需求變化,主要體現(xiàn)在它的自適應(yīng)計(jì)劃和進(jìn)化式設(shè)計(jì)。
自適應(yīng)計(jì)劃,意思是多次的仔細(xì)檢查整體項(xiàng)目流程,經(jīng)常會(huì)再次制定計(jì)劃并再次適應(yīng)。
進(jìn)化式設(shè)計(jì),有一些實(shí)踐對(duì)它很有幫助,如自我測(cè)試代碼,持續(xù)集成,重構(gòu),簡(jiǎn)易設(shè)計(jì)等。
敏捷開發(fā)是價(jià)值驅(qū)動(dòng),傳統(tǒng)的瀑布式開發(fā)是計(jì)劃驅(qū)動(dòng)。這并不是說計(jì)劃驅(qū)動(dòng)就沒有價(jià)值,在特定的實(shí)際情況下它們都有各自的有優(yōu)缺點(diǎn)。關(guān)鍵是怎么平衡使用兩種方法,在特定情況下采取它們的長(zhǎng)處而回避它們的短處。

Plan VS Agile

計(jì)劃驅(qū)動(dòng)開發(fā)模式和敏捷驅(qū)動(dòng)開發(fā)模式在基本原理差異上有兩大不同。
第一大不同:計(jì)劃驅(qū)動(dòng)模型中只能在項(xiàng)目完成時(shí)才能部署一個(gè)新模塊,而且是較大的模塊。敏捷驅(qū)動(dòng)模型中可以頻繁的部署新模塊,甚至較小的模塊。
第二大不同:計(jì)劃驅(qū)動(dòng)是序列化的,敏捷驅(qū)動(dòng)是并發(fā)的。在計(jì)劃驅(qū)動(dòng)模型中,一個(gè)流程的開始必須在前一個(gè)流程完全成功結(jié)束的前提下進(jìn)行。在敏捷驅(qū)動(dòng)模型中,任何時(shí)候都可能在做計(jì)劃,流程是并發(fā)的或互相穿插的。
“Plan your work, then work your Plan” by Martin Fowler and Neal Ford
先計(jì)劃你的工作,后工作你的計(jì)劃。
敏捷開發(fā)和計(jì)劃驅(qū)動(dòng)開發(fā)(瀑布式開發(fā)):
  • 都提供了操作流程,操作工具和操作技術(shù)。
  • 都需要嚴(yán)格的有條不紊的方法進(jìn)行軟件開發(fā)。
  • 都各自有優(yōu)缺點(diǎn)。
  • 敏捷開發(fā)適合的情況,計(jì)劃驅(qū)動(dòng)模型不一定適應(yīng)。
  • 敏捷開發(fā)強(qiáng)調(diào)流程上的不同。
  • 計(jì)劃驅(qū)動(dòng)模型強(qiáng)調(diào)正式的溝通與控制。
  • 敏捷開發(fā)強(qiáng)調(diào)連續(xù)的溝通和處理變化的能力
  • 計(jì)劃驅(qū)動(dòng)模型是關(guān)卡式控制質(zhì)量,敏捷開發(fā)是高迭代式開發(fā)確保質(zhì)量。
  • 計(jì)劃驅(qū)動(dòng)模型僅在產(chǎn)品最終完成后進(jìn)檢查,敏捷開發(fā)每完成一小塊工作就進(jìn)行檢查。
  • 計(jì)劃驅(qū)動(dòng)模型以預(yù)估什么將被交付為起點(diǎn),敏捷開發(fā)以完成一個(gè)需求為目標(biāo)做為起點(diǎn)
適應(yīng)變化能力(Y軸) 時(shí)間(X軸)
可見性(Y軸) 時(shí)間(X軸)
在敏捷開發(fā)中:
客戶滿意度是以迅速,持續(xù)的交付可用軟件為導(dǎo)向。
強(qiáng)調(diào)人和互動(dòng)要高于強(qiáng)調(diào)流程和工具。
客戶,開發(fā)者,還有測(cè)試人員一直保持互動(dòng)。
可用軟件頻繁的被交付使用(按周交付高于按月交付)
面對(duì)面交流是最好的溝通形式。
業(yè)務(wù)人員和開發(fā)者保持近距離的,日常的協(xié)作。
持續(xù)關(guān)注出色的技術(shù)和設(shè)計(jì)。
適應(yīng)易變情況。
需求中較晚的改動(dòng)也受歡迎。

善于使用計(jì)劃驅(qū)動(dòng)模型的管理團(tuán)隊(duì)同樣也能夠善于使用敏捷開發(fā)方法。

缺乏能力使用計(jì)劃驅(qū)動(dòng)模型的管理團(tuán)隊(duì)也沒有能力使用敏捷開發(fā)方法。

敏捷開發(fā)Agile

敏捷軟件開發(fā)的原理和價(jià)值用于幫助團(tuán)隊(duì)打破流程循環(huán)膨脹,著重于用簡(jiǎn)單的技術(shù)去實(shí)現(xiàn)目標(biāo)。目標(biāo)?什么是目標(biāo)?

每一個(gè)軟件開發(fā)者,開發(fā)團(tuán)隊(duì)的主要目標(biāo)是為老板和客戶制造盡可能高的價(jià)值。

敏捷開發(fā)的核心是把傳統(tǒng)的軟件開發(fā)方法(瀑布式開發(fā))的五個(gè)步驟壓縮成一個(gè)一周的開發(fā)周期。用敏捷開發(fā)方法去開發(fā)一個(gè)系統(tǒng)時(shí),項(xiàng)目中會(huì)不斷貫穿著重復(fù)的周期開發(fā)和較小模塊的開發(fā),并在開發(fā)過程中允許開發(fā)者測(cè)試和檢查。高速度,低成本,靈活性是敏捷開發(fā)的主要優(yōu)勢(shì)。
敏捷開發(fā)發(fā)展極為迅速,從2001年的只有1%的開發(fā)者使用敏捷開發(fā)到現(xiàn)在的60-80%的開發(fā)者在使用敏捷開發(fā)。更大的吸引力是因?yàn)槊艚蓍_發(fā)提供:
  • 改善的質(zhì)量
  • 在項(xiàng)目過程中有更多的機(jī)會(huì)做出修改更正
  • 提高客戶或商業(yè)滿意度
  • 使業(yè)務(wù)和IT更好的組合在一起
  • 更優(yōu)化的面向市場(chǎng)的時(shí)間

敏捷開發(fā)使用者從來不會(huì)害怕變化。他們把需求變化看作是好事,因?yàn)檫@些變化意味著團(tuán)隊(duì)又收獲了更多關(guān)于怎樣滿足客戶的經(jīng)驗(yàn)。敏捷開發(fā)團(tuán)隊(duì)成員一起協(xié)作項(xiàng)目的方方面面。每一個(gè)成員都允許為項(xiàng)目整體提出意見或做貢獻(xiàn)。沒有一個(gè)團(tuán)隊(duì)成員是單一的負(fù)責(zé)架構(gòu)或者需求或者測(cè)試。團(tuán)隊(duì)分享這些責(zé)任,同時(shí)每個(gè)成員都會(huì)對(duì)它們產(chǎn)生影響。

我們有很多的敏捷開發(fā)流程:Scrum,crystal,BDD(Behavior-Driven Development行為驅(qū)動(dòng)開發(fā)),TDD(Test-Driven Development測(cè)試驅(qū)動(dòng)開發(fā)),F(xiàn)DD(Feature-Driven Development功能驅(qū)動(dòng)開發(fā)),ADP(Adaptive Software Development自適應(yīng)軟件開發(fā)),XP(Extreme Programming極限編程),等等等等。然而,大量成功的敏捷開發(fā)團(tuán)隊(duì)從所有這些方法中吸取經(jīng)驗(yàn)與知識(shí),進(jìn)而調(diào)整生成他們自己特有的敏捷開發(fā)方式。這些改編后的方法通常與SCRUM還有XP組合在一起,SCRUM實(shí)踐用來管理使用極限編程XP的團(tuán)隊(duì)。

極限編程XP

As developers we need to remember that XP is not the only game in town.- Pete McBreen
作為開發(fā)者,我們需要記住極限編程并不是城里唯一的游戲。

極限編程強(qiáng)調(diào)團(tuán)隊(duì)合作(經(jīng)理,客戶,開發(fā)者)。它從五個(gè)關(guān)鍵點(diǎn)改善軟件項(xiàng)目:溝通,簡(jiǎn)明,反饋,尊重,還有勇氣


維基百科對(duì)極限編程的定義:極限編程XP是一種軟件開發(fā)方法,它的意圖是提搞軟件質(zhì)量及對(duì)用戶需求變化的響應(yīng)能力。作為一種敏捷軟件開發(fā)方法,它提倡在短開發(fā)周期中頻繁地發(fā)布,從而提高軟件生產(chǎn)力并提出新客戶需求能夠被采納的檢查點(diǎn)。


極限編程是一系列嵌入到敏捷開發(fā)中的簡(jiǎn)易并堅(jiān)實(shí)的實(shí)踐。極限編程是一個(gè)非常好的通用軟件開發(fā)方法。許多項(xiàng)目團(tuán)隊(duì)都采用它,同時(shí)更多的團(tuán)隊(duì)通過添加或修改實(shí)踐來把它變得更適用。
  • 它是大多數(shù)敏捷開發(fā)方法的始祖
  • 在90年代末期和21世紀(jì)初期,Kent Beck提出了熱門的話題
  • 協(xié)調(diào)流程與實(shí)踐
Kent Beck 的基本觀念:
  • 采取已關(guān)注過的有效團(tuán)隊(duì)實(shí)踐
  • 迫使它們走向極端
“迫使它們走向極端”是什么意思呢?是不是如下圖一樣?
或者下圖
不,這不是極限編程。讓我們看看它的真正意思:
出色的實(shí)踐 迫使它走向極端
代碼復(fù)查 結(jié)對(duì)編程
測(cè)試 TDD測(cè)試驅(qū)動(dòng)開發(fā)和常數(shù)回歸
軟件設(shè)計(jì) 不停地重構(gòu)
簡(jiǎn)單 最簡(jiǎn)單的事會(huì)有意想不到的效果
集成測(cè)試 不斷的集成/整合
短迭代 把制定計(jì)劃當(dāng)作游戲
極限編程是一系列遵循敏捷開發(fā)原則和價(jià)值的實(shí)踐。極限編程是離散的方法,而敏捷開發(fā)是一類方法。有很多的敏捷開發(fā)方法,極限編程只是其中一種。
極限編程在敏捷開發(fā)方法中是范圍寬闊,出類拔萃的。Scrum有些類似極限編程,擁有極限編程的大多數(shù)特征。但是在細(xì)節(jié)是它們有很多的不同,公平的說Scrum是是極限編程的子集。甚至,許多Scrum團(tuán)隊(duì)爭(zhēng)論著要把極限編程實(shí)踐加入Scrum流程中,如滿意度測(cè)試,結(jié)對(duì)編程,持續(xù)集成,以及測(cè)試驅(qū)動(dòng)開發(fā)。


在所有敏捷開發(fā)方法當(dāng)中,極限編程是唯一的一種方法為開發(fā)者的日常工作提供深度的,意義深遠(yuǎn)的開發(fā)準(zhǔn)則。在這些準(zhǔn)則中,測(cè)試驅(qū)動(dòng)開發(fā)是最革命性的。下圖中都是一些出色的極限編程實(shí)踐。

Scrum

Scrum是和種迭代式及遞增式的敏捷軟件開發(fā)框架,它用于管理軟件項(xiàng)目,產(chǎn)品,或程序的開發(fā)。它的著重點(diǎn)是一個(gè)靈活的,全面的產(chǎn)品開發(fā)策略,它把一個(gè)開發(fā)團(tuán)隊(duì)通常作為一個(gè)單位進(jìn)而實(shí)現(xiàn)一個(gè)常規(guī)目的。相反,它不著重于傳遞的序列化式的方法。Scrum會(huì)問傳統(tǒng)瀑布式開發(fā)“為什么我們要花費(fèi)這么長(zhǎng)時(shí)間,這么多努力去做一件事?為什么我們不能衡量出做一件事所需時(shí)間和人力?” Scrum擁抱變化和創(chuàng)造力,因?yàn)檫@是人們的工作方式。Scrum有一個(gè)流程學(xué)習(xí)結(jié)構(gòu),能夠讓團(tuán)隊(duì)評(píng)估他們做了什么以及他們?cè)鯓幼龅摹?/div>
  • 1986年,Scrum第一次被定義成一個(gè)靈活的全面的產(chǎn)品開發(fā)策略。--Hirotaka Takeuchi,Ikujiro Nonaka
  • 1995年,Sutherland和Schwaber共同地發(fā)表了一篇關(guān)于Scrum方法學(xué)的論文。

Scrum角色

三個(gè)核心角色:
  1. 產(chǎn)品持有人 Product Owner
  2. 開發(fā)團(tuán)隊(duì) Development Team
  3. Scrum領(lǐng)導(dǎo)人 ScrumMaster

產(chǎn)品持有人 Product Owner

  • 產(chǎn)品持有人代表著公司或股東的權(quán)益并傳遞客戶的聲音。
  • 專門負(fù)責(zé)確保商業(yè)價(jià)值
  • 制定以客戶為中心的一些工作條目,排序后放到產(chǎn)品待處理列表(Product backlog)中。
  • Scrum團(tuán)隊(duì)?wèi)?yīng)該有一個(gè)產(chǎn)品持有人,他/她也可以是開發(fā)團(tuán)隊(duì)中的一員。
  • 產(chǎn)品持有人不是Scrum領(lǐng)導(dǎo)者(ScrumMaster)。

開發(fā)團(tuán)隊(duì) Development Team

  • 在每一個(gè)Sprint周期結(jié)束后,負(fù)責(zé)交付將來需要發(fā)布的產(chǎn)品的模塊。
  • 由3到9人組成并擁有各種所需技能(分析,設(shè)計(jì),開發(fā),測(cè)試,技術(shù)溝通,文檔,等等)。
  • 自我組織,有可能需要與更高級(jí)的項(xiàng)目管理部門交流。


Scrum領(lǐng)導(dǎo)人 ScrumMaster

  • 專門負(fù)責(zé)掃清團(tuán)隊(duì)在交付Sprint目標(biāo)或產(chǎn)品中遇到的障礙。
  • 不是團(tuán)隊(duì)領(lǐng)導(dǎo)人,但是扮演著團(tuán)隊(duì)與可能分散團(tuán)隊(duì)注意力的影響之間的緩沖區(qū)。
  • 確保Scrum流程的使用在計(jì)劃中。
  • 規(guī)則強(qiáng)制執(zhí)行人。團(tuán)隊(duì)保護(hù)者,以保持團(tuán)隊(duì)專注于他們手中的工作。
  • 也會(huì)被看作一個(gè)人民公仆去加強(qiáng)這些雙重觀點(diǎn)。
  • 不同于一個(gè)項(xiàng)目經(jīng)理,沒有與ScrumMaster不相關(guān)的人員管理職責(zé)
  • 沒有任何額外的員工責(zé)任。

Backlog未完成項(xiàng)列表

產(chǎn)品的待完成項(xiàng)列表是一個(gè)需求的排列列表,我們維護(hù)這個(gè)列表是為了更好的開發(fā)產(chǎn)品。它的組成有功能,BUG修復(fù),非功能需求等任何為了成功發(fā)布可用軟件系統(tǒng)的所必須的內(nèi)容。在Scrum中,開始一個(gè)項(xiàng)目不必先開發(fā)一個(gè)冗長(zhǎng)文檔去記錄所有的需求。這個(gè)敏捷產(chǎn)品backlog對(duì)于第一個(gè)Sprint足夠了。當(dāng)有更多產(chǎn)品需求時(shí)和客戶需求時(shí),Scrum產(chǎn)品backlog允許變更和增加。

Sprint backlog是開發(fā)團(tuán)隊(duì)下個(gè)Sprint需要處理的工作列表。這個(gè)列表是產(chǎn)品backlog最上面的需求項(xiàng)衍生出來的,直到開發(fā)團(tuán)隊(duì)在這個(gè)Sprint中有足夠的工作去做。開發(fā)團(tuán)隊(duì)通過問一些問題來完成backlog的選擇,如“我們是不是也能做這個(gè)?”。

從概念上講,團(tuán)隊(duì)從優(yōu)先級(jí)最高的Scrum backlog開始畫一條線劃分出優(yōu)先級(jí)較低的項(xiàng),同時(shí)線上面的backlog也是團(tuán)隊(duì)認(rèn)為他們可以完成的項(xiàng)。在實(shí)踐中,團(tuán)隊(duì)通常不會(huì)去選擇優(yōu)先級(jí)最高的五項(xiàng)再選擇優(yōu)先級(jí)較低的兩項(xiàng)組合在一起即使它們是互相關(guān)聯(lián)的。

敏捷開發(fā)調(diào)查

這項(xiàng)調(diào)查發(fā)起于2012年8月9日至2012年11月1日之間,由VersionOne贊助的。調(diào)查從軟件開發(fā)社團(tuán)的不同渠道中選擇了4048人。數(shù)據(jù)由Analysis.Net Research分析并總結(jié)成報(bào)告。

誰知道敏捷開發(fā)?

一般情況下,相比業(yè)務(wù)人員,越接近開發(fā)團(tuán)隊(duì)角色的人了解敏捷開發(fā)的越多

敏捷開發(fā)失敗原因

進(jìn)一步使用敏捷開發(fā)的障礙物

使用敏捷開發(fā)最大的擔(dān)心

總結(jié)

一個(gè)好的敏捷團(tuán)隊(duì)會(huì)選擇最適合他們的管理與技術(shù)實(shí)踐。當(dāng)試著去使用敏捷開發(fā)時(shí),會(huì)有一萬個(gè)借口為什么這行不通。只有那些真正理解敏捷開發(fā)優(yōu)勢(shì)并真心實(shí)意地想要使用敏捷開發(fā)的人們才會(huì)有可能成功。那些正在搜索為什么Agile會(huì)失敗的人們,他們可能最終會(huì)找到答案也可能放棄之前所做的一切努力不再使用敏捷開發(fā)。Elisabeth Hendrickson稱這種行為“假敏捷開發(fā)”。
為了支持一下我的結(jié)論,讓我們引用一些名言(從Robert C. Martin收集):
"In preparing for battle I have always found that plans are useless, but planning is indispensable." - General Dwight David Eisenhower
在戰(zhàn)斗準(zhǔn)備中,我總是發(fā)現(xiàn)那些計(jì)劃是雞肋,但是制定計(jì)劃是不可缺少的。

局限于別人的方法世界里不是可取的,因?yàn)楣拘枨?,公司情況,項(xiàng)目都有可能一直在變化著。如果你想你的項(xiàng)目成功,你一定要靈活地應(yīng)用這些現(xiàn)成的方法去管理項(xiàng)目。任何單一的方法都不是一把尚方寶劍,因此關(guān)鍵是看哪種方法適合你并能協(xié)調(diào)你的方法去滿足你的個(gè)人需求。

記住,Scrum和Agile不是一個(gè)死產(chǎn)品 ,它是在持續(xù)改進(jìn)的基礎(chǔ)上不斷進(jìn)行中的一門哲學(xué)。


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    免费亚洲黄色在线观看| 日本女优一色一伦一区二区三区 | 不卡在线播放一区二区三区| 中文字幕精品一区二区年下载| 国产亚洲午夜高清国产拍精品| 欧美精品在线观看国产| 久久久精品区二区三区| 91欧美视频在线观看免费| 亚洲av熟女国产一区二区三区站| 成人精品视频一区二区在线观看| 国产精品日韩欧美第一页| 精品偷拍一区二区三区| 免费国产成人性生活生活片| 久久这里只精品免费福利| 亚洲中文字幕在线综合视频| 在线视频三区日本精品| 欧美国产日产综合精品| 好吊日在线视频免费观看| 亚洲欧美日韩熟女第一页| 好吊色欧美一区二区三区顽频| 日韩免费国产91在线| 精品人妻精品一区二区三区| 日本中文字幕在线精品| 日韩欧美国产亚洲一区| 国产超薄黑色肉色丝袜| 国产又猛又大又长又粗| 高跟丝袜av在线一区二区三区| 欧美日韩精品综合一区| 熟女白浆精品一区二区| 精品一区二区三区人妻视频| 国产日韩欧美专区一区| 欧美国产日韩在线综合| 欧美视频在线观看一区| 女同伦理国产精品久久久| 日本女人亚洲国产性高潮视频| 国产成人精品一区在线观看| 太香蕉久久国产精品视频| 内射精品欧美一区二区三区久久久 | 亚洲中文字幕视频在线播放| 国产一区二区三区四区免费| 欧美精品久久99九九|