專家、多面手還是他們的組合?如何構(gòu)建軟件開發(fā)團(tuán)隊(duì)取決于可供選擇的人員、項(xiàng)目的需求以及組織的需求?本文闡述了各種團(tuán)隊(duì)組織的策略。
有效的軟件項(xiàng)目團(tuán)隊(duì)由擔(dān)當(dāng)各種角色的人員所組成。每位成員扮演一個(gè)或多個(gè)角色;可能一個(gè)人專門負(fù)責(zé)項(xiàng)目管理,而另一些人則積極地參與系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。常見的一些項(xiàng)目角色包括:
分析師
策劃師
數(shù)據(jù)庫管理員
設(shè)計(jì)師
操作/支持工程師
程序員
項(xiàng)目經(jīng)理
項(xiàng)目贊助者
質(zhì)量保證工程師
需求分析師
主題專家(用戶)
測試人員
您是如何組織項(xiàng)目團(tuán)隊(duì)的?是采用垂直方案、水平方案還是混合方案?以垂直方案組織的團(tuán)隊(duì)由多面手組成,每個(gè)成員都充當(dāng)多重角色。以水平方案組織的團(tuán)隊(duì)由專家組成,每個(gè)成員充當(dāng)一到兩個(gè)角色。以混合方案組織的團(tuán)隊(duì)既包括多面手,又包括專家。
一個(gè)重要的考慮因素是可供選擇的人員的性質(zhì)。如果大多數(shù)人員是多面手,則您往往需要采用垂直方案,同樣,如果大多數(shù)人員是專家,則采用水平方案。如果您正引入一些新人,即使這些人員都是合同工,則仍然需要優(yōu)先考慮您的項(xiàng)目和組織。本文描述了形成團(tuán)隊(duì)組織的垂直、水平和混合方案,并指出了它們各自的優(yōu)缺點(diǎn)。本次討論的一個(gè)重要含意是您的團(tuán)隊(duì)組織和用于管理項(xiàng)目的手段之間應(yīng)構(gòu)成默契;任何方法上的失諧都很可能導(dǎo)致項(xiàng)目產(chǎn)生問題。
垂直團(tuán)隊(duì)組織
垂直團(tuán)隊(duì)由多面手組成。用例 分配給了個(gè)人或小組,然后由他們從頭至尾地實(shí)現(xiàn)用例。
優(yōu)點(diǎn)
以單個(gè)用例為基礎(chǔ)實(shí)現(xiàn)平滑的端到端開發(fā)。開發(fā)人員能夠掌握更廣泛的技能。
缺點(diǎn)
多面手通常是一些要價(jià)很高并且很難找到的顧問。多面手通常不具備快速解決具體問題所需的特定技術(shù)專長。主題專家可能不得不和若干開發(fā)人員小組一起工作,從而增加了他們的負(fù)擔(dān)。所有多面手水平各不相同。
成功因素
每個(gè)成員都按照一套共同的標(biāo)準(zhǔn)與準(zhǔn)則工作。開發(fā)人員之間需要進(jìn)行良好的溝通,以避免公共功能由不同的組來實(shí)現(xiàn)。公共和達(dá)成共識(shí)的體系結(jié)構(gòu)需要盡早在項(xiàng)目中確立。
水平團(tuán)隊(duì)組織
水平團(tuán)隊(duì)由專家組成。此類團(tuán)隊(duì)同時(shí)處理多個(gè)用例,每個(gè)成員都從事用例中有關(guān)其自身的方面。
優(yōu)點(diǎn)
能高質(zhì)量地完成項(xiàng)目各個(gè)方面(需求、設(shè)計(jì)等)的工作。一些外部小組,如用戶或操作人員,只需要與了解他們確切要求的一小部分專家進(jìn)行交互。
缺點(diǎn)
專家們通常無法意識(shí)到其它專業(yè)的重要性,導(dǎo)致項(xiàng)目的各方面之間缺乏聯(lián)系?!昂蠖恕比藛T所需的信息可能無法由“前端”人員來收集。由于專家們的優(yōu)先權(quán)、看法和需求互不相同,所以項(xiàng)目管理更為困難。
成功因素
團(tuán)隊(duì)成員之間需要有良好的溝通,這樣他們才能彼此了解各自的職責(zé)。需要制定專家們必須遵循的工作流程和質(zhì)量標(biāo)準(zhǔn),從而提高移交給其他專家的效率。
混合團(tuán)隊(duì)組織
混合團(tuán)隊(duì)由專家和多面手共同組成。多面手繼續(xù)操作一個(gè)用例的整個(gè)開發(fā)過程,支持并處理多個(gè)使用例中各部分的專家們一起工作。
優(yōu)點(diǎn)
擁有前兩種方案的優(yōu)點(diǎn)。外部小組只需要與一小部分專家進(jìn)行交互。專家們可集中精力從事他們所擅長的工作。各個(gè)用例的實(shí)現(xiàn)都保持一致。
缺點(diǎn)
擁有前兩種方案的缺點(diǎn)。多面手仍然很難找到。專家們?nèi)匀徊荒苷J(rèn)識(shí)到其他專家的工作并且無法很好地協(xié)作,盡管這應(yīng)該由多面手來調(diào)節(jié)。項(xiàng)目管理仍然很困難。
成功因素
項(xiàng)目團(tuán)隊(duì)成員需要良好的溝通。需要確定公共體系結(jié)構(gòu)。必須適當(dāng)?shù)囟x公共流程、標(biāo)準(zhǔn)和準(zhǔn)則。
項(xiàng)目團(tuán)隊(duì)士氣是項(xiàng)目成功的一個(gè)因素
大部分項(xiàng)目成功的定義說的是項(xiàng)目如何按時(shí)
完成、是否在預(yù)算內(nèi)以及是否滿足用戶的需要。但是,在如今要找到好的軟件專業(yè)人員都非常困難,更不用說留住他們的這種情況下,還需要將項(xiàng)目成功的定義擴(kuò)展為包括項(xiàng)目團(tuán)隊(duì)的士氣??赡茉谂ν瓿梢粋€(gè)軟件項(xiàng)目后,不料卻因?yàn)閴赫ニ麄冞^度而失去了重要的開發(fā)人員,這樣做可能會(huì)符合組織的短期需要,但它對構(gòu)建一個(gè)高效的軟件部門的長遠(yuǎn)利益來說肯定是有害的。衡量項(xiàng)目成功與否的一個(gè)重要手段是項(xiàng)目結(jié)束后團(tuán)隊(duì)的士氣。在項(xiàng)目結(jié)束之際,項(xiàng)目團(tuán)隊(duì)的各個(gè)成員是否覺得他們從自己的經(jīng)歷中學(xué)到了一些知識(shí)、是否喜歡為這次項(xiàng)目工作,以及是否希望參與組織的下一個(gè)項(xiàng)目都是非常重要的。