一、為什么要敏捷開發(fā)
要敏捷開發(fā)是因?yàn)槊艚莸奶攸c(diǎn)是團(tuán)隊(duì)能夠更加擁抱變化,這句話對應(yīng)的受益者是誰? 我能想到最大的受益者就是業(yè)務(wù)方了。只要你不是在沖刺內(nèi)部變更,你的需求其實(shí)可以一定程度上一直處于靈活調(diào)整的live狀態(tài)。(當(dāng)然靈活的代價就是這些需求的反復(fù)帶來的團(tuán)隊(duì)效力折損也是最終會由業(yè)務(wù)方承擔(dān)的,加錢或者加時間), 然而換來的是最終成品的滿意度和確定性,那么一定程度上也是。
敏捷的迭代周期性使得項(xiàng)目的方向能夠不斷被業(yè)務(wù)方Review,這與傳統(tǒng)瀑布式的最終驗(yàn)收,一驗(yàn)定成敗相比是一個更為科學(xué)且人性化的舉措。
我們知道傳統(tǒng)瀑布基本屬于階段性封閉式開發(fā)過程,一方面需求會被定格在項(xiàng)目早期,而在初期項(xiàng)目組掌握信息量較少情況下,對需求產(chǎn)生誤解是常有的事;另一方面后續(xù)開發(fā)過程客戶參與度較小,即使中途發(fā)現(xiàn)方向偏差,往往也木已成舟,改動代價很大, 有時甚至最后驗(yàn)收時才被發(fā)現(xiàn),項(xiàng)目被迫宣布失敗也是時有發(fā)生。
所以對于業(yè)務(wù)方來說,敏捷提供的周期性報(bào)告+反饋機(jī)制幫了業(yè)務(wù)方大忙。 “沖刺時低頭走路,沖刺完抬頭看路” 使得項(xiàng)目的成功率大大提高了。
延伸閱讀:
二、Scrum的特點(diǎn)
它獨(dú)特的短周期性沖刺確實(shí)一定程度上緩解了瀑布的原罪。
首先,”短”: 它把一個大項(xiàng)目拆成很多”故事”,把一次性評估整個大項(xiàng)目, 變成多次評估這些小”故事”,每次只評估有限的一小部分”故事”。這種方式有效地把評估精度提高,并把工作復(fù)雜度降低到了周級別,團(tuán)隊(duì)精力集中在了刀刃上。試想: 如果讓你做未來一周和未來一年的日程計(jì)劃,你對哪一個更有把握? 去執(zhí)行哪一項(xiàng)計(jì)劃時你感覺心中目標(biāo)感更強(qiáng)烈?
其次,”周期性”: 使得工作可以進(jìn)行平行迭代,什么意思? 首先不管瀑布還是敏捷,一個完整的功能多多少少還是會由需求->開發(fā)->測試 這么一個大致的順序開展的。 但不同的是敏捷的周期性賦予這些工序依然可以以固定時間差(周期) 不斷首尾相連, 重復(fù)滾動的機(jī)會, 這就使得敏捷模式下的工序可以平行開展。比如Sprint1的開發(fā)正在進(jìn)行的同時, Sprint2的需求的收集和調(diào)研已經(jīng)可以同時平行開展了。 從整個項(xiàng)目的高度來看, 這種每一道工序不斷迭代, 工序間又互相平行的做法極大程度縮短了項(xiàng)目時間, 加快了項(xiàng)目的進(jìn)度,即我們所謂的敏捷的”快”。