敏捷開發(fā)在很多IT公司實踐已經(jīng)有些年頭了,并不是新鮮事物,實際上敏捷宣言并沒有創(chuàng)新,只是許多軟件開發(fā)實踐經(jīng)驗的薈萃,挖掘和總結(jié)軟件管理中包含最優(yōu)方案。
敏捷開發(fā)的目的:
帶給客戶價值,是所有敏捷實踐的主要動力來源。
從產(chǎn)品的角度來說:是為了縮短產(chǎn)品上市時間,提高產(chǎn)品質(zhì)量和服務(wù)生命周期,增加產(chǎn)品的業(yè)務(wù)和市場價值。
從管理的角度來說:提高管理項目溝通中的便捷性,增強透明度,節(jié)約軟件開發(fā)成本。
敏捷開發(fā)實踐模式:
通過項目啟動會,確定產(chǎn)品具體功能目標,啟動會通過規(guī)劃撲克打牌來對工作進行評估,將軟件開發(fā)周期拆分成2-6周迭代。每天的項目組成員通過站會,互相交流當(dāng)前迭代進度.在每輪迭代完成后,向項目的相關(guān)負責(zé)人進行系統(tǒng)功能展示。
敏捷開發(fā)輔助實踐模式:
1、融入敏捷社區(qū),參加敏捷討論組或論壇,或進行在線交流。這種方式可以對敏捷過程中出現(xiàn)的問題提供解決方法和思路。
2、組織讀書會,通過定期會議討論、分析和學(xué)習(xí),定期組織會議挑選一個讀書主題進行相互交流。
3、組織研討會,研討會是一個推進會議,相關(guān)成員一起做練習(xí)、討論,創(chuàng)建文檔。這種方式必須依賴多個人的輸入。
4、組織課程培訓(xùn),通過知識分享練習(xí),引導(dǎo)和幫助學(xué)生學(xué)習(xí)相關(guān)方法,幫助項目成員快速成長,從知識中獲益。
敏捷開發(fā)工具:
1、每日站會:昨天工作中遇到的幾個小問題,今天需要做的任務(wù),簡潔有效的小團隊溝通方式。
2、白版:直接反應(yīng)工作的具體進度。比如日常開發(fā)的進度、測試缺陷的進度。
3、演示、評審、反思會:項目團隊成員相互協(xié)作溝通交流,對系統(tǒng)的功能設(shè)計等方面進行優(yōu)化。
4、用戶故事:站在用戶的角度去梳理用戶具體業(yè)務(wù)場景,BA在需求文檔中可以通過小故事的角度幫助開發(fā)和測試梳理業(yè)務(wù)功能。
5、持續(xù)迭代:通過版本的周期性迭代,高質(zhì)量的交付產(chǎn)品,以相應(yīng)市場的需求變化。
關(guān)于敏捷:
敏捷開發(fā)絕對不是一套固定的標準化流程,而是根據(jù)項目團隊需要,可以自我梳理出來的一套敏捷流程.不一樣的項目經(jīng)理會有不一樣的流程,一樣的項目經(jīng)理,不一樣的團隊也會有不一樣的流程。所以沒有最好的流程,只有適用并且持續(xù)優(yōu)化流程是最好的。
其次敏捷開發(fā)中對個體的要求很高,在敏捷宣言里面第一行這樣寫道:個體與交互重于過程和工具.個體敏捷性的主體是人,責(zé)任心是個體敏捷性的基石,如果沒有積極負責(zé),團隊從敏捷開發(fā)中獲得顯著成效的可能性都微乎其微。個人感覺敏捷特別適用大神,大神知道自己自己在干嘛、別人在干嘛、別人的專業(yè)領(lǐng)域、本身技術(shù)等方面也很厲害,因為這樣在敏捷開發(fā)里面通過溝通能更好的解決問題。
敏捷的收獲:
1.更快的版本發(fā)布:縮短了軟件開發(fā)的時間,敏捷里面強調(diào)的是快和周期性,以前我們產(chǎn)品組2周一輪迭代,客戶的需求和功能經(jīng)過產(chǎn)品組評審后,能快速滿足客戶的軟件開發(fā)需要。
2.項目進度可控:以前我們會基于產(chǎn)品進行定制化,定制化過程我們會對項目進行周期評估,通過敏捷開發(fā)按合同約定的周期去交付產(chǎn)品。整個產(chǎn)品團隊通過敏捷開發(fā),在固定周期內(nèi)交付某個功能模塊,迭代功能進度完全可控,項目組成員目標也更明確。
3.產(chǎn)品團隊有條不紊:通過設(shè)定的敏捷流程,每個成員工作目的很明確,項目進度不會出現(xiàn)阻塞,整個團隊在一起作戰(zhàn),步調(diào)一致。
敏捷的影響:
1.頻繁的會議:敏捷里面最需要的就是溝通機制,項目組頻繁的溝通會議機制是必須的,但是特別對于開發(fā)的來說,會議意味著時間,尤其是產(chǎn)品需求功能迭代、晨會、版本發(fā)布、用例評審的時候會占用很多時間,如果項目成員參與產(chǎn)品也參與項目這會比較頭疼,唯一的方式只能說提高會議效率。
2.頻繁的迭代:頻繁的需求迭代,超負荷的工作.雖然產(chǎn)品的迭代是必須的。但是我們會發(fā)現(xiàn)其實項目組成員一直處在超強度的迭代中,一周可能有6天時間都在加班,大家總是很忙,項目組成員也是疲憊不堪,總是忙著做,而停下腳步去思考。只有執(zhí)行力,沒有創(chuàng)造力。所以項目經(jīng)理需要更好的前期參與項目評估,多維度的統(tǒng)計項目周期,進行長跑迭代,合理的考慮下面員工的感受,實施彈性制度等等。
3.其它方面:迭代意味著執(zhí)行,會發(fā)現(xiàn)項目組成員會更多的像機器一樣工作,沒有特定提升自己學(xué)習(xí)的目標和想法。更多的是為了工作而去學(xué)實現(xiàn)起來.溝通過程也更多的是工作方面,而且開發(fā)和需求這邊有些技術(shù)的實現(xiàn)存在分歧,容易產(chǎn)生分歧。有的時候,為了盲目的追求周期性產(chǎn)出,缺少測試環(huán)節(jié),就是迭代工作雖然已經(jīng)完成了,但是總是感覺做的不是很細很到位。