最適合敏捷方法的項(xiàng)目是那些有著激進(jìn)的時(shí)間期限限制,那些有著高度的復(fù)雜程度,以及那些有著高度新穎性(獨(dú)特性)的項(xiàng)目。當(dāng)我們在做一些新的事情,到少是對于開發(fā)團(tuán)隊(duì)是新的事情,我們會(huì)比較愿意使用敏捷方法。
如果這是一件團(tuán)隊(duì)以前曾經(jīng)重復(fù)做過很多次的事情,他們很可能就不需要用敏捷的方法來做了。對我來來說,這種時(shí)候就應(yīng)該考慮引入類比制造的方法了。如果我們每天建造同一種車,我們很快就會(huì)了解到造車中的每一個(gè)細(xì)微差別。我們不需要一個(gè)敏捷的方法因?yàn)樵谶@種情況下新穎性非常低。
但是單獨(dú)的新穎性本身并不一定就意味著必須使用敏捷流程。我今天去了我最喜歡的一家中國餐廳吃午餐。我點(diǎn)了一道“三倍辣外加墨西哥胡椒”的主菜。這也許是他們第一次這樣做這道菜,而且這是一個(gè)少見的或者獨(dú)一無二的點(diǎn)餐。但是廚師做得非常好。而且我確定(因?yàn)槲夷芸吹綇N房里面)他們不需要站會(huì)或者測試驅(qū)動(dòng)的方法來做這個(gè)午餐(然而,我好像看到他們背后有一個(gè)看板,所以說除了新穎性,使用敏捷的項(xiàng)目也需要有一定程度的復(fù)雜性。
一個(gè)我認(rèn)為在決定一個(gè)項(xiàng)目是否適合于使用敏捷方法的最終因素是緊急性。敏捷方法中的時(shí)間箱和迭代就是為了保持項(xiàng)目中的緊張度和專注度。如果項(xiàng)目沒有緊急性,這些就是不需要的。讓我們一起看一下這三個(gè)因素-緊急性,復(fù)雜性和新穎性-在不同的項(xiàng)目中是如何組合的。當(dāng)然,從軟件項(xiàng)目開始來看。沒有比軟件項(xiàng)目更適合的了。軟件項(xiàng)目是出了名的復(fù)雜。每一個(gè)新的軟件項(xiàng)目中的大部分內(nèi)容都是新的嘗試。而且在當(dāng)今社會(huì),軟件項(xiàng)目總是很急的。
但是讓我們再看看另一個(gè)我們大家都聽過的適用于Scrum的情形:婚禮籌備。我每年至少有好幾次聽說人們用Scrum方法來籌備婚禮。人們會(huì)準(zhǔn)備一份婚禮的backlog–買蛋糕, 找攝影師, 發(fā)邀請, 準(zhǔn)備服裝等等. 那么籌備婚禮與我所說的三個(gè)因素什么關(guān)系呢?緊急性?看一看??偸怯幸粋€(gè)限期在那里而且通常是不能改的。
敏捷特別適合于那些很緊急并且非常復(fù)雜及比較新穎的項(xiàng)目,可以是軟件項(xiàng)目,也可以是婚禮。夫婦倆是否要在慶典的結(jié)尾有第一個(gè)吻,這是否應(yīng)該屬于backlog的一部分,還是應(yīng)該算產(chǎn)品完成標(biāo)準(zhǔn)的一部分,這樣的問題是必須要搞清楚的。
它與軟件項(xiàng)目不太一樣但是有它自的復(fù)雜度,通常由非功能性的需求帶來,比如固定的預(yù)算,誰應(yīng)該坐誰的旁邊,提供什么類型的食物,是否要讓艾拉表妹樂隊(duì)做迎賓演出等等。新穎性,是的。大部分人都不會(huì)有太多次舉辦這種大型慶典活動(dòng),所以籌備活動(dòng)對他們都是有很強(qiáng)的新穎性的。