轉(zhuǎn)自?敏捷開發(fā)初識(shí)_iblade的博客-CSDN博客
軟件市場(chǎng)發(fā)展越來越迅速和成熟疹瘦,傳統(tǒng)瀑布式開發(fā)模式存在一定的限制枉层,敏捷從而有了更廣闊的的平臺(tái)與機(jī)遇砚作。Scrum作為在敏捷中使用最常用的一種方案,受到眾多的關(guān)注恩闻。
定義:敏捷開發(fā)(Agile Development)不是指某一種具體的方法論、過程或框架剧董,而是一組價(jià)值觀和原則幢尚。
理解:
首先,敏捷并不是一門具體的技術(shù)翅楼,而是一種理念或者說是一種思想尉剩。它可以指導(dǎo)我們更加高效的開發(fā)。
其次毅臊,敏捷開發(fā)都具有以下共同的特征:
????1.????迭代式開發(fā)
????2.????增量交付
????3.????開發(fā)團(tuán)隊(duì)和用戶反饋推動(dòng)產(chǎn)品開發(fā)
????4.????持續(xù)集成
????5.????開發(fā)團(tuán)隊(duì)自我管理
最后理茎,相比于“傳統(tǒng)”的瀑布開發(fā)模式,敏捷開發(fā)是一種“現(xiàn)代”的開發(fā)模式管嬉。
具體方式:
上面說了敏捷是一種指導(dǎo)思想或開發(fā)方式皂林,但是它沒有明確告訴我們到底采用什么樣的流程進(jìn)行開發(fā),而具體的開發(fā)方式有哪些呢宠蚂?
Scrum式撼,極限編程(XP),精益軟件開發(fā)(Lean Software Development)求厕,動(dòng)態(tài)系統(tǒng)開發(fā)方法(DSDM)著隆,特征驅(qū)動(dòng)開發(fā)(Feature Driver Development),水晶開發(fā)(Crystal Clear)等等呀癣。
除了Scrum和XP美浦,對(duì)于上面的其他開發(fā)方式,我也只是簡(jiǎn)單了解项栏,大家可以多查查相關(guān)的資料浦辨。
我們可以簡(jiǎn)單的對(duì)比一下Scrum和XP:
1. 在開發(fā)的過程中,你可以采用Scrum方式也可以采用XP方式沼沈;
2. Scrum和XP的區(qū)別是流酬,Scrum偏重于過程币厕,XP則偏重于實(shí)踐,但是實(shí)際中芽腾,兩者是結(jié)合一起應(yīng)用的旦装。
敏捷宣言:
我們通過身體力行和幫助他人來揭示更好的軟件開發(fā)方式。經(jīng)由這項(xiàng)工作摊滔,我們形成了如下價(jià)值觀:
個(gè)體與交互 重于 過程和工具
可用的軟件 重于 完備的文檔
客戶協(xié)作 重于 合同談判
響應(yīng)變化 重于 遵循計(jì)劃
在每對(duì)比對(duì)中阴绢,后者并非全無價(jià)值,但我們更看重前者
敏捷開發(fā)的12準(zhǔn)則:
在敏捷開發(fā)中艰躺,我們遵循以下準(zhǔn)則:
1.????我們的最高目標(biāo)是呻袭,通過盡早和持續(xù)地交付有價(jià)值的軟件來滿足客戶。
2.????歡迎對(duì)需求提出變更——即使是在項(xiàng)目開發(fā)后期腺兴。要善于利用需求變更左电,幫助客戶獲得競(jìng)爭(zhēng)優(yōu)勢(shì)。
3.????要不斷交付可用的軟件含长,周期從幾周到幾個(gè)月不等券腔,且越短越好
4.????項(xiàng)目過程中,業(yè)務(wù)人員與開發(fā)人員必須在一起工作拘泞。
5.????要善于激勵(lì)項(xiàng)目人員纷纫,給他們以所需要的環(huán)境和支持,并相信他們能夠完成任務(wù)陪腌。
6.????無論是團(tuán)隊(duì)內(nèi)還是團(tuán)隊(duì)間辱魁,最有效的溝通方法是面對(duì)面的交談。
7.????可用的軟件是衡量進(jìn)度的主要指標(biāo)诗鸭。
8.????敏捷過程提倡可持續(xù)的開發(fā)染簇。項(xiàng)目方、開發(fā)人員和用戶應(yīng)該能夠保持恒久穩(wěn)定的進(jìn)展速度强岸。
9.????對(duì)技術(shù)的精益求精以及對(duì)設(shè)計(jì)的不斷完善將提升敏捷性锻弓。
10.???要做到簡(jiǎn)潔,即盡最大可能減少不必要的工作蝌箍。這是一門藝術(shù)青灼。
11.???最佳的架構(gòu)、需求和設(shè)計(jì)出自于自組織的團(tuán)隊(duì)妓盲。
12.???團(tuán)隊(duì)要定期反省如何能夠做到更有效杂拨,并相應(yīng)地調(diào)整團(tuán)隊(duì)的行為。