軟體開發的組織和角色分工

2021-06-23 01:06:54 字數 1836 閱讀 3922

隨著軟體規模的不斷膨脹和軟體開發技術的發展,軟體開發的分工和組織也變得越來越複雜,如何合理的組織和分工越來越成為能否成功開發的乙個決定性因素。

對乙個軟體產品或者一項軟體工程來說,參與角色通常包括如下幾種:

l 高階經理

l 產品經理或專案經理

l 開發經理

l 設計師

l 測試經理

l 開發人員

l 測試人員

l 專案實施人員

高階經理具體參與專案或產品的時間並不多,但對專案的成敗卻起到了至關重要的作用。通常高階經理參與專案過程中各個關鍵環節的活動,關注產品開發的進度,對風險控制、資源提供做出決策。

產品經理(專案經理)作為客戶方和公司內部交流的紐帶,對專案過程進行監控,對專案的進度、質量負責。產品經理應該是軟體工程領域內的專家,但不一定是業務領域內的專家。產品經理的基本活動包括:制定計畫、協調資源、關注和控制計畫進度、控制客戶期望值。其中控制客戶期望值這一項在工程性質的專案中尤其重要。

開發經理是具體開發過程的領導者,必需由熟悉業務和開發技術的專家擔任。開發經理的職責是界定需求,確定適當的技術構架和體系,保證軟體產品按照設計的標準開發。

設計師是軟體藍圖的設計者。通常設計師可以分需求分析師、構架設計師、業務設計師三種,在小規模的開發團隊中,這三個角色通常由乙個人承擔。設計師一定是業務領域和技術領域內公認的專家,具有豐富的專案經驗,能夠準確把握客戶需求並提供可行的實現思路。設計師的基本活動包括:進行需求分析、進行構架設計和功能設計,按照規範編寫相應的文件,將設計思路傳播給開發人員、測試人員。

測試經理是測試活動的領導者,是公司內部認定的產品質量責任人(專案經理是對外的軟體質量責任人)。測試經理的責任是計畫和組織測試人員對目標產品進行測試,發現 bug 、跟蹤 bug 直到解決 bug ;計畫和組織使用者培訓工作。

產品經理、開發經理、設計師、測試經理作為乙個專案的高層,對專案的成敗起關鍵作用。

開發人員根據設計師的設計成果進行具體編碼工作,對自己的**進行基本的單元測試。通常 3 ~ 4 個開發人員組成乙個開發小組,由乙個 team leader 帶領進行開發活動。開發小組 team leader 由小組內技術和業務比較好的成員擔任。 team leader 通常還負有進行詳細設計和走查小組成員**的職責。考慮到 team leader 需要進行詳細設計、編寫文件,和小組成員進行溝通,因此乙個 team leader 的開發任務不能超過開發人員的平均任務量。對開發人員而言,必需具備產品開發所需要基本技術、技能,比如程式設計語音、資料庫應用開發經驗等。如果發現開發人員不完全具備這些技能,開發經理和專案經理應該提供必要的內部或外部、培訓,以使開發人員具備這些必要的技能。

測試人員根據測試經理的計畫和測試總體方案對目標產品進行測試,編寫測試 case 和測試**,發現和跟蹤 bug ;編寫使用者手冊;進行使用者培訓和教育。測試人員介入專案的時機從理論上講越早越好,但考慮到測試人力資源,通常在需求分析確定後介入比較合適。對測試人員而言,除了要求和開發人員相同的技術技能外,還應該熟悉測試理論和測試方法,盡可能做到總是站在使用者的角度觀察和思考問題。

專案實施人員是針對工程性質的專案必需的人員配置。專案實施人員負責軟體系統安裝配置、系統割接、執行期間的維護工作。

專案開始前,專案成員必需明確自己所在的崗位和需要承擔的責任。

專案組織的過程中,必需遵循的乙個原則是專案組盡量小型化、靈敏化,保證溝通順暢和高效,通常乙個小型專案組的成員不超過 20 人。對大型專案,應該進行更詳細、精確的拆分,保證乙個專案經理管轄的成員不超過 20 人。

軟體開發人員角色定位和分工

模組設計師 對與系統分析師和架構師所劃分的模組進一步細化,保障各模組按既定的標準和要求的完成。需求分析師 通俗一點講需求分析師就是跟客戶交流,準確獲取客戶需要。需求分析師是專案前期與客戶方打交道最多的人,對於客戶來說,他可以代表整個專案組,對與專案組成員來說他的意見可以代表客戶方的意見,專案組內所有...

軟體開發中角色職責

pm的職責 1.負責完成專案管理計畫 里程碑計畫 2.負責專案過程的標準化與規範化 3.負責專案的總體規化與階段設計 4.負責專案目標理解一致 5.負責各子計畫得到上級領導與客戶及專案組成員的認可 6.協調專案組所需各項資源 7.安排客戶培訓工作 8.提高專案組士氣 加強專案組凝聚力 9.負責對外溝...

如何組織軟體開發團隊

如何構建軟體開發團隊取決於可供選擇的人員 專案的需求以及組織的需求。本文闡述了各種團隊組織的策略。有效的軟體專案團隊由擔當各種角色的人員所組成。每位成員扮演乙個或多個角色 可能乙個人專門負責專案管理,而另一些人則積極地參與系統的設計與實現。常見的一些專案角色包括 分析師策劃師資料庫管理員設計師操作 ...