為什么要使用敏捷
1.敏捷Scrum框架
Scrum框架是在當(dāng)今的軟件開發(fā)界里面應(yīng)用得比較廣的一種框架,也是國(guó)內(nèi)能看到的,大多數(shù)的敏捷在線項(xiàng)目管理工具的范本厘熟。
目前這個(gè)框架呢,有一個(gè)叫Scrum聯(lián)盟的組織维哈,在負(fù)責(zé)維護(hù)和管理绳姨。這個(gè)組織,每年會(huì)有一些認(rèn)證阔挠,每年開一些會(huì)議飘庄,會(huì)定期地去更新這個(gè)框架。
Scrum框架的思想來(lái)源于一個(gè)著名的思想叫精益思想购撼,這個(gè)思想是豐田在上世紀(jì)80年代提出來(lái)的跪削。這個(gè)思想有兩個(gè)重點(diǎn),一個(gè)叫迂求,respect people碾盐,尊重人;另外一個(gè)叫Continuous improvement揩局,也就是持續(xù)改進(jìn)毫玖。實(shí)際Scrum框架也是秉承的這樣的原則。
三種角色
在Scrum這個(gè)框架里面我們會(huì)給團(tuán)隊(duì)分配這三類角色凌盯,第一類叫Scrum master付枫,這是一個(gè)人;第二類叫產(chǎn)品負(fù)責(zé)人Product Owner驰怎;第三類叫團(tuán)隊(duì)阐滩,Team。
①Scrum 主管:Scrum master在這里不是項(xiàng)目經(jīng)理的意思县忌,他更像是這個(gè)團(tuán)隊(duì)的保姆叶眉,他要負(fù)責(zé)整個(gè)團(tuán)隊(duì)的鼓勵(lì)工作,為團(tuán)隊(duì)服務(wù)芹枷,給團(tuán)隊(duì)提供理論支持,引導(dǎo)團(tuán)隊(duì)莲趣。更像是教練的一個(gè)工作鸳慈。
②產(chǎn)品負(fù)責(zé)人:Product Owner是這個(gè)Scrum團(tuán)隊(duì)里邊兒唯一一個(gè)經(jīng)過(guò)授權(quán)的人,他負(fù)責(zé)的是整個(gè)產(chǎn)品喧伞。整個(gè)產(chǎn)品開發(fā)做什么走芋,不做什么绩郎,哪一部分在哪個(gè)時(shí)間點(diǎn)交付的這個(gè)工作,也就是說(shuō)翁逞,負(fù)責(zé)構(gòu)建產(chǎn)品待辦列表肋杖。
③開發(fā)團(tuán)隊(duì)成員:在Scrum里頭,這個(gè)團(tuán)隊(duì)是近似于全功能的跨職能團(tuán)隊(duì)挖函,其實(shí)敏捷對(duì)團(tuán)隊(duì)的要求是非常高的状植,這也是他成本高比較貴的原因之一。
三種工件
第一個(gè)工件怨喘,叫產(chǎn)品待辦列表(Product Backlog)津畸,它其實(shí)有點(diǎn)兒像我們現(xiàn)在產(chǎn)品開發(fā)中講的需求池的概念,通常來(lái)講必怜,我們會(huì)把所有需求一股腦的扔到這個(gè)列表中去肉拓,但是這個(gè)列表會(huì)有一個(gè)與傳統(tǒng)的需求池不一樣的地方。這個(gè)列表里面所有的需求梳庆,都是有價(jià)值的暖途,有次序的。
第二個(gè)工件是沖刺待辦事項(xiàng)(Sprint backlog)驻售,通過(guò)我們價(jià)值的體現(xiàn),包括我們對(duì)它的排序芋浮。我們就會(huì)得出這樣一個(gè)結(jié)論壳快,我們應(yīng)該先做什么纸巷,后做什么。
第三個(gè)工件眶痰,叫潛在可交付產(chǎn)品增量,這個(gè)東西大致的意思是竖伯,我們?cè)谧霎a(chǎn)品的時(shí)候,是一個(gè)迭代增量的過(guò)程七婴。
五個(gè)會(huì)議(事件)
①第一個(gè)叫Scrum計(jì)劃會(huì)議祟偷,把產(chǎn)品待辦事項(xiàng)列表里面的東西決定哪些可以在Scrum計(jì)劃會(huì)議里邊兒解決掉,做出沖刺待辦列表打厘。
②第二個(gè)會(huì)議修肠,我相信很多的企業(yè)嵌施,很多的團(tuán)隊(duì)在做饲化,叫做每日站會(huì)吃靠。
這個(gè)站會(huì)通常都問(wèn)什么問(wèn)題呢足淆,我昨天做了什么巢块,今天我要做什么缸浦,我遇到了什么問(wèn)題,通常都是這樣的對(duì)吧歹鱼。但是我想告訴大家的是卜高,大多數(shù)團(tuán)隊(duì)開這個(gè)會(huì)的時(shí)候,問(wèn)的這三個(gè)問(wèn)題都是不正確的掺涛,我們?nèi)タ丛模?/p>
第一個(gè)問(wèn)題:What did I done yesterday that helped the Development Team meet theGoal?
第二個(gè)問(wèn)題:What will I done today to help the Development Team meet the Goal?
也就是說(shuō)在敏捷開發(fā)這個(gè)環(huán)境里面,我們不會(huì)講我做一件事情秧廉,做了百分之多少拣帽,在敏捷的世界里沒有百分之幾這個(gè)概念,它只有零和一蔽豺。沒完成就是零,完成了就是一拧粪。所以他的問(wèn)題會(huì)說(shuō),我為了我們團(tuán)隊(duì)的目標(biāo)魄鸦,昨天做了什么癣朗;我為了我的團(tuán)隊(duì)目標(biāo),今天我要完成什么盾致。
③第三個(gè)會(huì)議叫做Sprint評(píng)審荣暮,Scrum review。這個(gè)會(huì)議就是來(lái)評(píng)價(jià)你迭代的這個(gè)產(chǎn)品穗酥,是不是可以納入到潛在可交付的產(chǎn)品增量,這還是個(gè)潛在的骏啰,還是不可交付的抽高,經(jīng)過(guò)了這個(gè)會(huì),你能不能交付這個(gè)事兒就能定了翘骂。
④第四個(gè)會(huì)議叫Scrum回顧碳竟。希賽發(fā)過(guò)一篇文章,里面有一部分講回顧(文章后附該篇文章的鏈接)莹桅。那就是敏捷回顧的一部分,叫做帆船工作法懂拾,或者帆船回顧厂汗,有興趣可以翻回去看一看。敏捷回顧對(duì)敏捷這種活動(dòng)來(lái)講是非常重要的娶桦,應(yīng)該說(shuō)是在這幾個(gè)敏捷Scrum的活動(dòng)里面是最最重要衷畦。通過(guò)回顧,我們不但能夠找到過(guò)去的一些缺點(diǎn)和失誤祈争,還能發(fā)現(xiàn)一些優(yōu)點(diǎn),并持續(xù)的改進(jìn)下去忿墅,這對(duì)于敏捷團(tuán)隊(duì)尤為重要,為什么呢亿柑,因?yàn)槊艚葸@件事棍弄,第二個(gè)原則就是要持續(xù)的改進(jìn)。
⑤第五個(gè)會(huì)議是一個(gè)持續(xù)的活動(dòng)呼畸,這個(gè)活動(dòng)叫產(chǎn)品列表梳理。說(shuō)白了就是收集需求卧须。因?yàn)槊艚菹鄬?duì)于傳統(tǒng)開發(fā)瞬痘,這個(gè)需求不是那么穩(wěn)定。但是我們講擁抱變化察绷,我們擁抱變化津辩,不是為了讓需求蔓延。擁抱變化喘沿,也不是為了讓項(xiàng)目鍍金,擁抱變化的意思是要讓項(xiàng)目符合用戶的價(jià)值莺禁,要讓項(xiàng)目達(dá)成既定的目標(biāo)或持續(xù)改變著的目標(biāo)窄赋,我們要對(duì)這個(gè)需求做調(diào)整,這件事才叫擁抱變化浩峡。
SCRUM五條核心價(jià)值觀
專注错敢,公開,承諾纸淮,勇氣,尊重萎馅。
1、承諾– 愿意對(duì)目標(biāo)做出承諾
2、專注– 把你的心思和能力都用到你承諾的工作上去
3魄衅、開放– Scrum 把項(xiàng)目中的一切開放給每個(gè)人看
4晃虫、尊重– 每個(gè)人都有他獨(dú)特的背景和經(jīng)驗(yàn)
5、勇氣– 有勇氣做出承諾哲银,履行承諾,接受別人的尊重
2.Stacey矩陣(Stacey模型)
這個(gè)模型能很好的告訴我們滥比,為什么要使用敏捷去解決問(wèn)題做院。
這個(gè)模型里面分四個(gè)部分,一部分叫Simple寺滚,just do it屈雄。第二部分叫Complicated,然后空白的部分叫complex酒奶,右上角那個(gè)我把它叫混沌讥蟆,混沌的問(wèn)題咱們不去討論,實(shí)際上我們?cè)谲浖_發(fā)里面瘸彤,要做的事情就是三體里面講的,叫降維打擊愕宋。
在這個(gè)過(guò)程里,我們將復(fù)雜的東西劃到一個(gè)相對(duì)簡(jiǎn)單的區(qū)域去解決囤捻。然而呢邻寿,對(duì)于一些很復(fù)雜的情況,比如說(shuō)誊涯,我們需求很不確定蒜撮,我們也不確定用什么方法去做這些事,我們就用敏捷方法去做段磨。敏捷方法是什么呢苹支,就是持續(xù)學(xué)習(xí),持續(xù)迭代沐序,持續(xù)規(guī)劃這樣一個(gè)方法。
這是一個(gè)實(shí)用的非預(yù)定義過(guò)程邑时。
有同學(xué)問(wèn)特姐,敏捷項(xiàng)目和傳統(tǒng)項(xiàng)目的區(qū)別,如何進(jìn)行混合應(yīng)用浅浮,相互取長(zhǎng)補(bǔ)短捷枯?傳統(tǒng)項(xiàng)目即預(yù)測(cè)型項(xiàng)目。
我們?cè)陬A(yù)測(cè)性的項(xiàng)目里郁油,做的事情是這樣的。首先有一個(gè)發(fā)起人桐腌,然后我們做一個(gè)詳細(xì)的計(jì)劃,然后強(qiáng)制團(tuán)隊(duì)躬审,或者說(shuō)責(zé)令團(tuán)隊(duì)按計(jì)劃去進(jìn)行蟆盐,然后在中間控制變更,按規(guī)定測(cè)試炒刁,結(jié)項(xiàng)等等誊稚,最后交付產(chǎn)品罗心。
然而,敏捷不是這樣的疾瓮,一個(gè)敏捷軟件的開發(fā)往往在敏捷初期飒箭,是不會(huì)預(yù)見到幾個(gè)迭代之后的軟件需求的。它往往是肩碟,以最小可行性產(chǎn)品凸椿,MVP,去交付給客戶髓抑。也就是說(shuō)我們用最基本的模型优幸,最基本的能用的東西給客戶去用,從而不斷的得到客戶的反饋羹饰,不停的迭代,改進(jìn)严里,或者重構(gòu)刹碾。這就是擁抱變化,或者叫檢查和適應(yīng)迷帜,敏捷和傳統(tǒng)項(xiàng)目的一個(gè)比較好的區(qū)別的詮釋。
所以敏捷冠胯,其實(shí)是一種輕量型的锦针,最開始確實(shí)是用在軟件上的,軟件開發(fā)原則悉盆。它是一種方法馋吗,一種思想,是一種迭代的研發(fā)模式脚翘,而且是增量的绍哎,是一種一定時(shí)間盒的,以價(jià)值為中心的备图。
敏捷是一種適應(yīng)復(fù)雜情況赶袄、不靠譜客戶的,一種持續(xù)學(xué)習(xí)蒋困,持續(xù)增量的迭代模型敬辣。
敏捷有一個(gè)特別著名的東西叫做敏捷軟件開發(fā)宣言零院,這個(gè)當(dāng)時(shí)在2001年發(fā)布的時(shí)候村刨,推動(dòng)了硅谷的一個(gè)改革嵌牺。
敏捷宣言里面提到了四點(diǎn)價(jià)值觀,這四點(diǎn)價(jià)值觀大家看看就行了逆粹。他最重要的一句話僻弹,盡管右向有其價(jià)值,我們更重視左向的價(jià)值蹋绽。說(shuō)白了就是,你一切從客戶出發(fā)稿蹲,一切從變化出發(fā)鹊奖,一切從成果出發(fā)涂炎,一切從價(jià)值出發(fā)唱捣,比你那些花里胡哨,按規(guī)定來(lái)的這些東西震缭,更有價(jià)值拣宰。
它是一種價(jià)值觀,也代表了這一幫人的一種處事方式巡社。