隨著開(kāi)發(fā)周期的縮短,團(tuán)隊(duì)成員間持續(xù)的軟件交付、共同承擔(dān)的角色和職責(zé),使得敏捷軟件開(kāi)發(fā)的效率有所提高。敏捷項(xiàng)目源于消除廣泛、低效率瀑布式方法:軟件通常會(huì)延遲交付,而且并沒(méi)有按照設(shè)計(jì)的那樣滿足用戶的需求。與瀑布式方法不同,敏捷項(xiàng)目只有代碼編譯完成后才能進(jìn)行測(cè)試,敏捷項(xiàng)目能夠很好地保持軟件開(kāi)發(fā)流程的運(yùn)行。例如對(duì)軟件各部分迭代進(jìn)行測(cè)試這樣的實(shí)踐能有助于項(xiàng)目取得穩(wěn)定的發(fā)展,并且顯示出只涉及該團(tuán)隊(duì)的項(xiàng)目。
但是當(dāng)敏捷開(kāi)發(fā)項(xiàng)目發(fā)展到包含多個(gè)團(tuán)隊(duì)的時(shí)候,團(tuán)隊(duì)成員工作地點(diǎn)不同,經(jīng)常會(huì)相隔很遠(yuǎn),此時(shí)又會(huì)發(fā)生什么樣的變化呢?當(dāng)團(tuán)隊(duì)成員無(wú)法在同一間屋子內(nèi)工作時(shí),他們?cè)撊绾我蝗缂韧膱?jiān)持遵守工作原則呢?
多倫多敏捷咨詢公司Scott Ambler及其附屬公司的創(chuàng)始人ScottAmbler說(shuō):“如果敏捷項(xiàng)目范圍超過(guò)一個(gè)團(tuán)隊(duì)時(shí),項(xiàng)目運(yùn)行就會(huì)出現(xiàn)問(wèn)題?!泵艚蓓?xiàng)目規(guī)模擴(kuò)大,就會(huì)增大了敏捷項(xiàng)目起初打算縮減的管理負(fù)載。面臨的挑戰(zhàn)是:軟件公司要如何管理多團(tuán)隊(duì)的敏捷項(xiàng)目,并且不失其敏捷特性。
根據(jù)敏捷項(xiàng)目專家所說(shuō),完全消除這些風(fēng)險(xiǎn)是不可能的。畢竟,與獨(dú)立團(tuán)隊(duì)的敏捷項(xiàng)目相比,多團(tuán)隊(duì)敏捷項(xiàng)目需要投入更多管理。重復(fù)工作是不可避免的,一些技術(shù)有助于多團(tuán)隊(duì)在一個(gè)項(xiàng)目中協(xié)同工作,并保證敏捷軟件開(kāi)發(fā)的高效性。
1、適宜的團(tuán)隊(duì)成員數(shù)量
轉(zhuǎn)向多團(tuán)隊(duì)敏捷項(xiàng)目是個(gè)不小的壯舉。敏捷項(xiàng)目咨詢師James Shore說(shuō),在沒(méi)有完全掌握獨(dú)立團(tuán)隊(duì)敏捷項(xiàng)目開(kāi)發(fā)過(guò)程之前,不要采用多團(tuán)隊(duì)敏捷項(xiàng)目,這一點(diǎn)非常重要。這聽(tīng)上去是很明顯的,但是Shore曾經(jīng)見(jiàn)過(guò)許多公司在沒(méi)有獨(dú)立團(tuán)隊(duì)開(kāi)發(fā)敏捷項(xiàng)目經(jīng)驗(yàn)的情況下就引入多團(tuán)隊(duì)敏捷項(xiàng)目模式。他認(rèn)為,這必然會(huì)失敗?!斑@是在做跳躍式改變。如果企業(yè)沒(méi)有按照漸進(jìn)式的方式來(lái)開(kāi)發(fā)敏捷項(xiàng)目,那么很快就會(huì)出現(xiàn)溝通和編碼質(zhì)量問(wèn)題?!?/span>
敏捷項(xiàng)目的獨(dú)立團(tuán)隊(duì)一般以少于10人為宜。Shore認(rèn)為,一旦團(tuán)隊(duì)成員數(shù)量達(dá)到10或者12人,那么最好成立兩個(gè)團(tuán)隊(duì)。他提到,他的合作伙伴Diana Larsen(俄勒岡州波特蘭市的FutureWorks敏捷項(xiàng)目咨詢公司的合作伙伴)認(rèn)為一個(gè)團(tuán)隊(duì)最佳的成員數(shù)為“五到九人?!?/span> Shore說(shuō),一旦團(tuán)隊(duì)成員數(shù)目過(guò)多,就要考慮將一個(gè)團(tuán)隊(duì)分為兩個(gè)團(tuán)隊(duì)?!凹词姑x上團(tuán)隊(duì)成員還是屬于同一個(gè)團(tuán)隊(duì),但是他們已經(jīng)形成兩個(gè)小團(tuán)體,不同時(shí)在一個(gè)團(tuán)隊(duì)工作了。無(wú)論你是否承認(rèn),一個(gè)團(tuán)隊(duì)都被分成兩個(gè)相互依賴的團(tuán)隊(duì)?!?/span>
2、所需的適當(dāng)技能
Rothman認(rèn)為,當(dāng)多團(tuán)隊(duì)項(xiàng)目組開(kāi)始工作時(shí),保持小型團(tuán)隊(duì)是保證項(xiàng)目敏捷性的關(guān)鍵。她建議團(tuán)隊(duì)成員數(shù)量以5-7人為最佳。Rothman并不建議擴(kuò)大團(tuán)隊(duì)成員數(shù)量,而是建議團(tuán)隊(duì)決定如何增加團(tuán)隊(duì)成員在敏捷項(xiàng)目中所缺乏的技能。她接觸的一些顧客認(rèn)為,沒(méi)有足夠的人能完全掌握敏捷開(kāi)發(fā)項(xiàng)目所需技能?!八麄冋f(shuō):‘我們沒(méi)有足夠多的測(cè)試人員、DBA和用戶體驗(yàn)專家?!?/span>
Ambler同意以上觀點(diǎn)。他說(shuō),企業(yè)希望團(tuán)隊(duì)自身具備完成工作所需的技能?!暗沁@樣做有風(fēng)險(xiǎn)。團(tuán)隊(duì)需要利用企業(yè)資源,與企業(yè)架構(gòu)師合作,重復(fù)使用工作人員以及數(shù)據(jù)庫(kù)人員?!?/span>
阿林頓Rothman咨詢有限公司的創(chuàng)始人JohannaRothman認(rèn)為,如何設(shè)置這些團(tuán)隊(duì)的組織架構(gòu),如何分配工作任務(wù)以及如何管理這些組織之間的依賴關(guān)系是判斷成功還是失敗的標(biāo)志。Rothman的
解釋是:“于細(xì)微處見(jiàn)真章”。