從2015年以來,一直在使用敏捷開發(fā)模式。
今天主要來總結(jié)一下敏捷開發(fā)模式的步驟习绢。敏捷開發(fā)以一個(gè)迭代(一般是兩周)為開發(fā)一個(gè)開發(fā)周期污茵。他的目的是為了小步快跑快速迭代樱报,適應(yīng)不斷變化的市場需求。敏捷開發(fā)能用很短的時(shí)間開發(fā)出一個(gè)可用的產(chǎn)品跟客戶試用泞当,然后不斷迭代改進(jìn)迹蛤。瀑布模式就是嚴(yán)格把軟件項(xiàng)目的開發(fā)分隔成各個(gè)開發(fā)階段:需求分析,要件定義襟士,基本設(shè)計(jì)笤受,詳細(xì)設(shè)計(jì),編碼敌蜂,單元測試和系統(tǒng)測試等。使用里程碑的方式津肛,嚴(yán)格定義了各開發(fā)階段的輸入和輸出章喉。如果達(dá)不到要求的輸出,下一階段的工作就不展開身坐。重視和強(qiáng)調(diào)過程文檔秸脱,在開發(fā)的中后期才會看到軟件原型,早起只能通過文檔來了解系統(tǒng)的模樣部蛇。而且一旦開始摊唇,返工的成本很大。不能很好的響應(yīng)市場的變化涯鲁。
敏捷開發(fā)的主要流程包括哪些呢巷查?
1,用戶故事拆分抹腿。在此階段我們的需求分析師(BA)會講接到的需求進(jìn)行分析岛请,包括可行性分析和波及分析。拆成一個(gè)個(gè)的用戶故事之前的需求特性特性來劃分的警绩,需求分析以后就變成史詩故事崇败,BA分析后變成用戶故事。故事需要考慮故事的粒度肩祥,功能點(diǎn)和驗(yàn)收點(diǎn)后室。故事能過于復(fù)雜,并且工作量不能過多混狠,因?yàn)檫@樣的話團(tuán)隊(duì)不好進(jìn)行任務(wù)拆分岸霹,就不能很好的進(jìn)行任務(wù)協(xié)同工作了。
拆分用戶故事要遵循比爾·維克(Bill Wake)的INVEST原則檀蹋,即一個(gè)合適的用戶故事應(yīng)該是獨(dú)立的(Independent)松申、有價(jià)值的(Valuable)云芦、可討論的(Negotiable)、小的(Small)贸桶、可估算的(Estimable)和可測試驗(yàn)證的(Testable)舅逸。
2,敏捷的需求澄清會和計(jì)劃會皇筛。澄清會主要是用來將故事介紹給開發(fā)人員聽琉历,也就是澄清故事,在這個(gè)過程中開發(fā)人員也會提出自己的建議和想法水醋,并充分討論旗笔。討論后大家用敏捷牌估算工作量也就是故事點(diǎn)數(shù)。如果大家牌的點(diǎn)數(shù)差不多拄踪,那么就按照那個(gè)點(diǎn)數(shù)來寫到這個(gè)用戶故事卡上面去蝇恶。如果相差比較大,那就讓差距最大的兩個(gè)人說一下原因惶桐,然后繼續(xù)出牌直到一致即可撮弧。這樣做的目的是為了團(tuán)隊(duì)無差別的領(lǐng)取需求和任務(wù),要按照團(tuán)隊(duì)實(shí)力來考慮這個(gè)因素姚糊,而不是自己的能力贿衍,因?yàn)檫@個(gè)任務(wù)到時(shí)并不是自己做的。
3救恨,每日站會贸辈。在需求計(jì)劃會之后,將所有的故事和任務(wù)放到看板上肠槽。團(tuán)隊(duì)開始領(lǐng)取任務(wù)進(jìn)行開發(fā)擎淤。在開發(fā)過程中每天早上會有一個(gè)大約15分鐘的每日站會,在這個(gè)會議室大家主要是講三點(diǎn)事情署浩,一是自己昨天做了什么以及碰到的問題揉燃,二是今天要做什么。三是移動(dòng)任務(wù)卡筋栋,從to do 移到doing炊汤,或者從doing移到done,并減任務(wù)卡的小時(shí)數(shù)弊攘,這樣方便SM記錄燃盡圖抢腐,可視化團(tuán)隊(duì)的開發(fā)進(jìn)度。
4襟交,驗(yàn)收showcase會迈倍。在一個(gè)迭代快完成的時(shí)候我們就要進(jìn)行需求的驗(yàn)收會,這個(gè)會議形式比較自由捣域,如果需求比較大的話可能整個(gè)團(tuán)隊(duì)都參加驗(yàn)收會啼染,如果小需求則可能就是一兩個(gè)人共同驗(yàn)收一下即可宴合。
5,回顧會迹鹅,時(shí)間就是迭代末卦洽。會議內(nèi)容包括:評優(yōu)和總結(jié)。評優(yōu)是大家匿名投票斜棚,選出自己覺得本迭代做的好的同事阀蒂,并寫上理由〉苁矗總結(jié)是總結(jié)本迭代做的好的和不好的地方蚤霞。并對不好的地方投票選出最需要解決的問題。然后針對這個(gè)問題分析根本原因和解決辦法义钉。
敏捷就是由這些會議組成昧绣,重代碼輕文檔。重視可交付軟件捶闸。