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