如何組建開發團隊-談談團隊組成


 最近忙着公司搬家,搞得雞飛狗跳。現在終於可以安頓下來,接着寫這個系列的文章。

什么樣的團隊是合格的團隊?什么樣的團隊最有戰斗力?如何安排團隊中各種人員的身份和比例?這里問題向來都是項目經理比較頭疼的問題,也是仁者見仁智者見智的問題。我想這種問題也不會有個類似銀彈的解決方案,所以下面我就我個人的經驗和感受談談如何組建團隊,並安排團隊組成的。

一、橄欖法

主要是為了解決項目質量控制,項目組間資源共享等問題。其基本思路是:

1、 項目的入口同一起點,即:所有項目售前、需求分析階段由“專家”團隊承擔。

2、 系統的設計保證質量,即:系統的設計要匯聚公司的優秀資源,既要考慮系統的需求,又要考慮開發成本,還要結合公司現有的開發技術能力和已有的技術資源。

3、 系統的開發並行實施,即:系統的開發和編碼階段,由開發部門進行全盤考慮和統一安排,根據項目的進度要求靈活組建開發團隊。

4、 系統的出口歸並統一,即:系統測試必須嚴格把關,由測試部門承擔,保證所有系統質量的一致性。系統的發布通過統一的出口,包括包裝(如果需要)和各種附加文檔(如:使用手冊、系統說明書)。

下圖是傳統項目開發方式和橄欖法開發方式的比較

傳統方法是以項目組為單位,項目組人員基本上從開始到最后基本上是固定的,橄欖法是以項目的不同階段來組織不同的團隊,其人員的數量和成員本身隨着項目的進程不停的調整。

二、項目角色:

有效的項目團隊由擔當各種角色的人員所組成。每位成員扮演一個或多個角色,常見的一些項目角色包括:

角色

描述

項目經理

項目管理人員,要求具有良好的溝通能力和管理能力

客戶經理

市場人員

技術經理

開發過程中負責技術管理的人員

售前工程師

知識全面、表達能力優秀

需求分析師

業務專家

系統構架師

技術能力突出,有豐富的項目經驗

界面設計師

具有一定的業務知識,能快速設計用戶界面

系統設計師

設計人員

數據庫設計師

數據庫設計人員

數據庫管理員

DBA

技術支持工程師

硬件、網絡支撐

程序員

包括:界面開發工程師、業務邏輯開發工程師、數據庫開發工程師等

質量保證工程師

質量管理和質量控制人員

測試人員

對業務非常熟悉,能從功能和性能方面測試系統

以上每個角色都應該有清晰的工作定位。並要求具有相應的技能,能在項目的各個階段出色完成任務,這些稱為人力資源,是保證項目成功的最基本的條件。

三、項目前期的組織:

項目前期主要指的是項目業務需求調研、包括配合用戶制定項目建設方案、技術規范書、配合市場人員進行售前技術交流等環節,此階段應該組織由售前工程師、需求分析師(業務專家)以及系統構架師等組成一個臨時小組,負責跟蹤項目。這個小組根據項目的大小和客戶的要求確定小組成員,一般由3—5名成員組成。根據客戶的要求,既可以是全職的,也可以是兼職的。

項目前期小組的工作是項目的開始,這個小組工作成績的優劣、工作質量的高低,將直接影響項目的成敗。因此,從管理層的角度,一定要重視這個環節。

項目前期小組需要完成的工作包括以下方面:

1、 客戶的各種項目前期要求,如:方案介紹、業務需求編寫等

2、 提交項目可行性分析報告,包括成本/效益分析

3、 提交項目建議方案

4、 提交業務需求說明書或需求分析說明書

四、系統設計階段

系統設計是決定項目或軟件系統“怎樣做”的過程,這個過程回答了系統應該如何實現的問題。從軟件工程的角度,設計階段大約是整個項目開發成本的25%,所以,設計團隊以及該團隊的工作成績對於整個系統來說至關重要。

設計團隊一般由3—8名設計人員組成,從這個階段起,項目需要一名項目經理,行使項目組的各種管理職能。設計團隊的成員具體包括:

1名項目經理

包括1—2名項目前期成員

1名系統構架師

2—4名設計人員

1名數據庫設計人員

1名用戶界面設計人員組成

設計團隊需要完成的工作包括:

1、 項目開發計划

2、 確定系統軟硬件配置最佳方案

3、 確定系統開發平台以及開發工具

4、 確定系統軟件結構

5、 確定系統功能模塊以及各個模塊之間的關系

6、 確定系統測試方案

7、 提交系統數據庫設計方案

8、 提交系統概要設計文檔

由於應用軟件需求經常變化,因此設計需要考慮系統可擴展性,並需要在設計過程中對於重要的環節和用戶進行及時溝通。

五、編碼和系統實現階段

將用戶的需求變成真正可用的軟件系統,是通過編碼和系統實現階段來完成的。雖然軟件的質量主要取決於系統設計的質量,但是編碼的途徑和實現的具體方法對程序的可靠性、可讀性、可測試性和可維護性產生深遠的影響。

這個階段要根據用戶對項目進度的要求靈活組織開發團隊,一般5—15左右。為了工作的連貫性,同時也為了解決在開發過程中用戶需求有可能變化的因素,開發團隊因該保留1—3名設計團隊的成員。

開發過程中,項目經理的角色非常重要,項目經理負責項目組開發人員的日常管理,控制項目的進度,負責和設計部門、市場部門以及客戶之間進行必要的溝通。這個階段通常是多個部門的人員共同組成一個項目組,因此,項目管理的一定要保證統一管理,理想狀態是項目經理全權負責項目組人員的人員工作安排、業績考核、工資獎金等,因為項目經理最了解項目組成員的工作態度和工作業績。

一般在大型項目開發團隊中,應該設立專門的技術經理崗位,負責對項目組的技術方案進行管控,技術經理最好是由設計團隊中抽調出來。技術經理在項目開發過程中需要注意程序風格、編碼規范等問題,並必須進行有效的代碼管理(版本管理)。

開發過程還應該進行系統的單元測試工作,確保各個獨立模塊功能的正確性和性能滿足需求說明書的要求。

開發團隊應該完成的工作包括:

1、 系統的實現代碼編寫

2、 單元測試

3、 提交源代碼清單

4、 提交單元測試報告

六、系統測試、軟件打包階段

系統測試階段在整個軟件生存周期中是占據總工作量最大的一個環節,統計資料表明在40%左右,有的時候還可能是其他過程的幾倍,因此,必須高度重視軟件的測試工作。

軟件的測試本身是發現軟件中的錯誤,但是發現錯誤是為了使開發的系統完全滿足用戶的需求,因此測試工作還伴隨着診斷、改正錯誤、調試等復雜過程,測試也是軟件開發最困難的工作。

測試這個環節,參與人員除了測試人員以外,還應該包括幾乎所有的開發人員,同時我們經常可以把這個環節看作是編碼工作的延續,直到完成集成測試、通過測試驗收,形成最后的發布版本。

經過測試、穩定的軟件版本包括相關的文檔可以進行打包,作為軟件開發的出口。

這個階段,必須嚴格把關,確保各個開發組完成的軟件都是高質量的、同一個水平層次的軟件系統。

這個階段完成的工作包括:

1、 更改情況說明

2、 集成測試報告

3、 軟件發布版本

4、 系統使用說明書

5、 系統安裝配置說明書

七、工程施工及軟件安裝階段

由於從事的應用軟件的開發,因此,在開發完成之后經常會有系統集成、軟件的安裝等工作。這個階段還經常伴隨着新的業務需求和本地化需求的產生,因此將會有一部分的開發工作需要在這個階段完成。

工程實施階段需要的人員包括:

1名項目經理

多名技術支持工程師(硬件、網絡支撐)

2—4名軟件開發人員

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM