如何構(gòu)建軟件開發(fā)團隊取決于可供選擇的人員、項目的需求以及組織的需求。本文闡述了項目實施過程中各種團隊組織的策略。
有效的軟件項目團隊由擔當各種角色的人員所組成。每位成員扮演一個或多個角色;可能一個人專門負責項目管理,而另一些人則積極地參與系統(tǒng)的設(shè)計與實現(xiàn)。常見的一些項目角色包括:分析師、策劃師、數(shù)據(jù)庫管理員、設(shè)計師、操作/支持工程師、程序員、項目經(jīng)理、項目贊助者、質(zhì)量保證工程師、需求分析師、主題專家(用戶)、測試人員。
作為一個項目經(jīng)理人,您是如何組織項目團隊的?是采用垂直方案、水平方案還是混合方案?以垂直方案組織的團隊由多面手組成,每個成員都充當多重角色。以水平方案組織的團隊由專家組成,每個成員充當一到兩個角色。以混合方案組織的團隊既包括多面手,又包括專家。
一個重要的考慮因素是可供選擇的人員的性質(zhì)。如果大多數(shù)人員是多面手,則您往往需要采用垂直方案,同樣,如果大多數(shù)人員是專家,則采用水平方案。如果您正引入一些新人,即使這些人員都是合同工,則仍然需要優(yōu)先考慮您的項目和組織。本文描述了形成團隊組織的垂直、水平和混合方案,并指出了它們各自的優(yōu)缺點。本次討論的一個重要含意是您的團隊組織和用于管理項目的手段之間應(yīng)構(gòu)成默契;任何方法上的失諧都很可能導(dǎo)致項目產(chǎn)生問題。
垂直團隊組織
垂直團隊由多面手組成。用例分配給了個人或小組,然后由他們從頭至尾地實現(xiàn)用例。
優(yōu)點
● 以單個用例為基礎(chǔ)實現(xiàn)平滑的端到端開發(fā)。
● 開發(fā)人員能夠掌握更廣泛的技能。
缺點
● 多面手通常是一些要價很高并且很難找到的顧問。
● 多面手通常不具備快速解決具體問題所需的特定技術(shù)專長。
● 主題專家可能不得不和若干開發(fā)人員小組一起工作,從而增加了他們的負擔。
● 所有多面手水平各不相同。
成功因素
● 每個成員都按照一套共同的標準與準則工作。
● 開發(fā)人員之間需要進行良好的溝通,以避免公共功能由不同的組來實現(xiàn)。
● 公共和達成共識的體系結(jié)構(gòu)需要盡早在項目中確立。
水平團隊組織
水平團隊由專家組成。此類團隊同時處理多個用例,每個成員都從事用例中有關(guān)其自身的方面。
優(yōu)點
● 能高質(zhì)量地完成項目各個方面(需求、設(shè)計等)的工作。
● 一些外部小組,如用戶或操作人員,只需要與了解他們確切要求的一小部分專家進行交互。
缺點
● 專家們通常無法意識到其它專業(yè)的重要性,導(dǎo)致項目的各方面之間缺乏聯(lián)系。
● “后端”人員所需的信息可能無法由“前端”人員來收集。
● 由于專家們的優(yōu)先權(quán)、看法和需求互不相同,所以項目管理更為困難。
成功因素
● 團隊成員之間需要有良好的溝通,這樣他們才能彼此了解各自的職責。
● 需要制定專家們必須遵循的工作流程和質(zhì)量標準,從而提高移交給其他專家的效率。