好像現(xiàn)在開發(fā)軟件都流行敏捷模式稀并,項(xiàng)目經(jīng)理要是不懂得敏捷開發(fā)流程感覺就像是過時(shí)了一樣鞭缭。但是敏捷優(yōu)劣并存,用不好的話就會(huì)適得其反抛猖。其實(shí)格侯,我認(rèn)為敏捷流程更有點(diǎn)極限壓榨程序員的意味。
6.1 敏捷的流程簡介
-
現(xiàn)有做法vs敏捷的做法
敏捷的做法更像是隨意一點(diǎn)财著,開心就好联四。
現(xiàn)有做法vs敏捷的做法 敏捷的開發(fā)原則
- 盡早并持續(xù)地交付有價(jià)值的軟件以滿足顧客需求
- 敏捷流程歡迎需求的變化,并利用這種變化來提高用戶的競爭優(yōu)勢
- 經(jīng)常發(fā)布可用的軟件撑教,發(fā)布間隔可以從幾周到幾個(gè)月朝墩,能短則短
- 業(yè)務(wù)人員和開發(fā)人員在項(xiàng)目開發(fā)過程中應(yīng)該每天共同工作
- 以有進(jìn)取心的人為項(xiàng)目核心,充分支持信任他們
- 無論團(tuán)隊(duì)內(nèi)外伟姐,面對面的交流始終是最有效的溝通方式
- 可用的軟件是衡量項(xiàng)目進(jìn)展的主要指標(biāo)
- 敏捷流程應(yīng)能保持可持續(xù)的發(fā)展收苏。領(lǐng)導(dǎo)、團(tuán)隊(duì)和用戶應(yīng)該能按照目前的步調(diào)持續(xù)合作下去
- 只有不斷關(guān)注技術(shù)和設(shè)計(jì)愤兵,才能越來越敏捷
- 保持簡明—盡可能簡化工作量的技藝—極為重要
- 只有能自我管理的團(tuán)隊(duì)才能創(chuàng)造優(yōu)秀的架構(gòu)鹿霸、需求和設(shè)計(jì)
- 時(shí)時(shí)總結(jié)如何提高團(tuán)隊(duì)效率,并付諸行動(dòng)
-
敏捷的步驟
敏捷的步驟
第一步:找出完成產(chǎn)品需要做的事情—Product Backlog秆乳。
第二步:決定當(dāng)前的沖刺(Sprint)需要解決的事情—Sprint Backlog
第三步:沖刺(Sprint)
第四步:得到軟件的一個(gè)增量版本懦鼠,發(fā)布給用戶
6.2 敏捷流程的問題和解法
說一下第三點(diǎn):每日例會(huì)。基本上敏捷開發(fā)需要經(jīng)常開例會(huì)討論進(jìn)度葛闷,匯總信息憋槐,例如:
我昨天做了啥
我今天要做啥
我碰到了哪些問題
但是每日例會(huì)經(jīng)常會(huì)出現(xiàn)一些效率不高的發(fā)言双藕。例如:
我昨天掰棒子
我今天繼續(xù)掰棒子
我沒碰到困難
這樣的發(fā)言毫無疑問是沒有意義的淑趾。所以就需要定義任務(wù)究竟是什么?
每個(gè)人的任務(wù)必須是明確定義的忧陪,狗熊們不能籠統(tǒng)地說“我在掰棒子”扣泊,而是要說明標(biāo)號為123的棒子現(xiàn)在是什么狀態(tài),你做好之后交給誰了嘶摊。
同時(shí)延蟹,在每一個(gè)任務(wù)上記錄完成這個(gè)任務(wù)還需要多長時(shí)間?
已經(jīng)花了多少時(shí)間雖然重要叶堆,但那不是關(guān)鍵(那是沉沒成本)阱飘,關(guān)鍵是要看我們離最后目標(biāo)有多遠(yuǎn)。就像某部門展覽“反腐成果”給群眾看—“已經(jīng)抓出來N個(gè)腐敗分子”固然解恨虱颗,但關(guān)鍵是“還剩多少在臺上”沥匈,這個(gè)問題不說明,再抓多少個(gè)都不解決問題忘渔。
最后說一下燃盡圖高帖,下面是一個(gè)實(shí)際項(xiàng)目的燃盡圖,有三個(gè)每天跟蹤的時(shí)間值:
實(shí)際剩余時(shí)間(Remaining Hour):每個(gè)團(tuán)隊(duì)成員所有任務(wù)的剩余時(shí)間的總和畦粮。
預(yù)估剩余時(shí)間(Projected Remaining Hour):根據(jù)每個(gè)人每天的理論進(jìn)度推算的剩余時(shí)間散址。
實(shí)際花費(fèi)時(shí)間(Completed Hour):實(shí)際花費(fèi)的時(shí)間。
6.3 敏捷的團(tuán)隊(duì)
敏捷看起來很舒服宣赔,管理也方便预麸,但是一個(gè)強(qiáng)勢的Scrum Master是敏捷能否實(shí)施成功的關(guān)鍵。這個(gè)角色絕不是招呼大家開開會(huì)儒将,記錄每個(gè)人的進(jìn)度而已师崎。
6.4 敏捷總結(jié)
- 敏捷不特別
Sprint/Scrum對項(xiàng)目的眾多需求采取分而治之的辦法,能讓相關(guān)人員集中精力椅棺,在一定期限內(nèi)解決部分問題犁罩。它強(qiáng)調(diào)短時(shí)間的迭代(Iteration、Time-box)两疚,在多次迭代中不斷總結(jié)床估,改進(jìn)團(tuán)隊(duì)的流程和產(chǎn)品功能。
- 敏捷流程的經(jīng)驗(yàn)教訓(xùn)
這里有一些實(shí)踐者的經(jīng)驗(yàn)教訓(xùn):
- 敏捷宣言表明的是一些優(yōu)先級诱渤,不必當(dāng)作圣旨或者教條來爭論丐巫。
- Scrum Master不是一個(gè)官,而是一個(gè)沒有行政權(quán)力的溝通者,就像微軟的PM那樣递胧。他/她同時(shí)還要在團(tuán)隊(duì)中做具體的工作碑韵。直接把原來的“經(jīng)理”變成Scrum Master,大多行不通缎脾。
- 一些項(xiàng)目需要很多暗箱操作和政治角力才能搞定祝闻,Scrum會(huì)把這些矛盾都擺到明處。這有好處遗菠,也有風(fēng)險(xiǎn)联喘。
- 在復(fù)雜的項(xiàng)目里,要讓一線團(tuán)隊(duì)成員做決定辙纬。
- 創(chuàng)業(yè)公司的團(tuán)隊(duì)其實(shí)經(jīng)常是運(yùn)行在Scrum 的模式中(只不過大家太忙豁遭,沒工夫論證自己到底有多么Scrum)。
- 在Scrum計(jì)劃階段的估計(jì)不是一個(gè)“合同”贺拣,領(lǐng)導(dǎo)們不要把它當(dāng)成一個(gè)合同蓖谢。估計(jì)總是不準(zhǔn)的。堅(jiān)持短期的Sprint譬涡,這樣即使不準(zhǔn)的估計(jì)也不會(huì)有大的損害闪幽。
- 不要和管理層談“流程”,他們只關(guān)心“結(jié)果”昂儒。
- 在大型團(tuán)隊(duì)沟使、跨地區(qū)的團(tuán)隊(duì),或者復(fù)雜項(xiàng)目中渊跋,Scrum并沒有非常完美的答案腊嗡,Scrum的創(chuàng)始人也承認(rèn)這一點(diǎn)。
6.5 敏捷的一些相關(guān)問答
敏捷不是說開發(fā)就不用搞計(jì)劃拾酝、搞文檔燕少、上來就寫代碼等等
——魯迅沒說過
-
敏捷的適用范圍
適用范圍 -
什么時(shí)候適合選擇敏捷
什么時(shí)候適合選擇敏捷