軟件工程 項目管理

2021-10-23 15:00 更新

軟件項目管理中可以分成兩部分:

  • 軟件創(chuàng)新
  • 軟件項目管理

項目是定義明確的任務(wù),這是為了實現(xiàn)某個目標(biāo)(例如,軟件開發(fā)和交付)進行的一系列操作的集合。一個項目可以表征為:

  • 每個項目都可以有一個獨特而鮮明的目標(biāo)。
  • 項目不是日常活動或日常運營。
  • 項目帶有開始時間和結(jié)束時間。
  • 項目在其目標(biāo)實現(xiàn)時結(jié)束,因為它是組織生命周期中的一個臨時階段。
  • 項目需要充實的時間,人力,財力,物力和知識庫資源。

軟件項目

一個軟件項目是軟件開發(fā)從需求收集到測試和維護的完整過程,按照執(zhí)行方法進行,在特定的時間段內(nèi)實現(xiàn)預(yù)期的軟件產(chǎn)品.

軟件項目管理的必要性

軟件被認(rèn)為是一種無形的產(chǎn)品。軟件開發(fā)是世界商業(yè)中的一種全新流程,在構(gòu)建軟件產(chǎn)品方面的經(jīng)驗很少。大多數(shù)軟件產(chǎn)品都是根據(jù)客戶的要求量身定制的。最重要的是底層技術(shù)的變化和進步如此頻繁和迅速,以至于一種產(chǎn)品的經(jīng)驗可能無法應(yīng)用于另一種產(chǎn)品。所有這些業(yè)務(wù)和環(huán)境限制都會給軟件開發(fā)帶來風(fēng)險,因此有效管理軟件項目至關(guān)重要。

上圖顯示了軟件項目的三重約束。它是軟件組織的重要組成部分,以提供高品質(zhì)的產(chǎn)品,將成本控制在客戶的預(yù)算范圍內(nèi),并按計劃交付項目。有幾個內(nèi)部和外部因素,這可能會影響到三重約束三角形。三個因素中的任何一個會嚴(yán)重影響其他兩個.

因此,軟件項目管理對于用戶的需求以及預(yù)算和時間的限制結(jié)合起來是至關(guān)重要的.

軟件項目經(jīng)理

軟件項目經(jīng)理是負(fù)責(zé)執(zhí)行軟件項目的人。軟件項目經(jīng)理完全了解軟件將經(jīng)歷的 SDLC 的所有階段。項目經(jīng)理可能不會直接參與生產(chǎn)的最終產(chǎn)品,但他控制和管理參與生產(chǎn)活動。

項目經(jīng)理密切監(jiān)察開發(fā)過程,準(zhǔn)備和執(zhí)行各種計劃,安排必要的和足夠的資源,保持所有團隊成員之間的溝通,以解決成本,預(yù)算,資源,時間,質(zhì)量和客戶滿意度等問題。

讓我們來看看一個項目經(jīng)理需要做什么:

管理人員

  • 擔(dān)任項目負(fù)責(zé)人
  • 與利益相關(guān)者聯(lián)絡(luò)
  • 人力資源管理
  • 設(shè)置報告層次結(jié)構(gòu)等

項目管理

  • 定義和設(shè)置項目范圍
  • 管理項目管理活動
  • 監(jiān)控進度和績效
  • 每個階段的風(fēng)險分析
  • 采取必要措施避免或擺脫問題
  • 作為項目的發(fā)言人

軟件管理活動

軟件項目管理包括了一系列活動,其中包括項目的規(guī)劃、軟件產(chǎn)品范圍的決定、各個方面的成本估算、任務(wù)和事件的調(diào)度和資源管理。項目管理活動包括:

  • 項目規(guī)劃
  • 范圍管理
  • 項目估算

項目規(guī)劃

軟件項目規(guī)劃的任務(wù),是在生產(chǎn)軟件的真正開始之前進行。它是為軟件生產(chǎn)而存在的,但不涉及與軟件生產(chǎn)有任何方向聯(lián)系的具體活動;相反,它是一組多個流程,便于軟件生產(chǎn)。

范圍管理

它定義項目的范圍;這包括了為了制作可交付的軟件產(chǎn)品而需要完成的所有活動和過程。范圍管理是必不可少的,因為它通過明確定義在項目中可以做什么做,不可以做什么來創(chuàng)建項目的界限。這使得項目包含有限的且可量化的任務(wù),它可以很容易地進行記錄,進而避免了成本和時間超支。

在項目范圍管理,有必要:

  • 定義范圍
  • 決定其驗證和控制
  • 為了便于管理,將項目劃分為各個較小的部分
  • 驗證范圍
  • 通過合并對范圍的更改來控制范圍

項目估算

對于各項措施的有效管理準(zhǔn)確的估算是必須的。有了正確的估算,經(jīng)理可以更有效地管理和控制項目。

項目估算可能涉及以下內(nèi)容:

  • 軟件規(guī)模
    估算軟件規(guī)模可能根據(jù) KLOC(Kilo Line Of Code)或通過計算軟件中的功能點數(shù)量進行估算。代碼行數(shù)取決于編碼實踐,功能點根據(jù)用戶或軟件的要求而變化.
  • 工作量
    管理人員根據(jù)生產(chǎn)軟件所需的人員需求和工時來估算工作量。對于工作量估算,軟件規(guī)模應(yīng)該是已知的。這可以通過管理人員的經(jīng)驗、組織的歷史數(shù)據(jù)或軟件規(guī)??梢酝ㄟ^使用一些標(biāo)準(zhǔn)的公式轉(zhuǎn)換成工作量。
  • 時間
    一旦估算了規(guī)模和工作量,就可以估算生產(chǎn)軟件所需要的時間。根據(jù)需求規(guī)范和軟件各個組件的依賴性,所需的工作分為子類別。軟件任務(wù)通過工作突破結(jié)構(gòu)(WBS)分為較小的任務(wù)、活動或時間。他的任務(wù)是按天或按日歷月安排的。
    以小時或天為單位完成所有任務(wù)所需的時間總和是完成項目所投入的總時間。
  • 成本
    這可能被認(rèn)為是最困難的,因為它依賴的元素比以前任何一個都多。在估算項目成本時,需要考慮:
    • 軟件規(guī)模
    • 軟件質(zhì)量
    • 硬件
    • 其他的軟件或工具,許可證等
    • 具有特定任務(wù)技能的技術(shù)人員
    • 出差
    • 溝通
    • 培訓(xùn)和支持

項目估算技術(shù)

我們討論了涉及項目估算各種參數(shù),例如規(guī)模,工作量,時間和成本.

項目經(jīng)理可以使用兩種廣泛認(rèn)可的技術(shù)來評估所列出的因素。

分解技術(shù)

這種技術(shù)將軟件假定為各種組合的產(chǎn)品。

主要有兩種模式:

  • 代碼行 估算是代表軟件產(chǎn)品中的代碼行數(shù)進行的。
  • 功能點?估算是代表軟件鏟平中的功能點數(shù)量進行的。

經(jīng)驗估算法

這種技術(shù)使用經(jīng)驗得出的公式來作出估算。這些公式是基于 LOC 或 FP.

  • Putnam 模型 這種模式是由勞倫斯·普特南,它是基于 Norden 的頻率分布(瑞利曲線)。Putnam 模型映射了軟件規(guī)模所需的時間和精力。
  • COCOMO COCOMO 代表構(gòu)造成本模型,由巴里·W·貝姆開發(fā)。它把軟件產(chǎn)品分為三類軟件:有機、半獨立式和嵌入式。

項目安排

項目中的項目安排是指在每個活動分配的時間段內(nèi)按照指定的順序完成的所有活動的路線圖。項目經(jīng)理傾向于定義各種任務(wù)和項目里程碑,并在考慮各種因素的情況下安排它們。他們在計劃中尋找位于關(guān)鍵路徑中的任務(wù),這些任務(wù)必須以特定的方式(因為任務(wù)相互依賴)并嚴(yán)格在分配的時間內(nèi)完成。關(guān)鍵路徑之外的任務(wù)安排不太可能影響項目的所有進度。

安排一個項目,有必要:

  • 將項目任務(wù)分解為更小的、可管理的形式
  • 找出各種任務(wù)并將它們關(guān)聯(lián)起來
  • 估算每項任務(wù)所需的時間范圍
  • 將時間劃分為工作單位
  • 為每項任務(wù)分配足夠數(shù)量的工作單位
  • 計算項目從開始到結(jié)束所需的總時間

資源管理

用于開發(fā)軟件產(chǎn)品的所有元素都可以被假定為該項目的資源。這可能包括人力資源,生產(chǎn)工具和軟件庫。

資源數(shù)量有限,并作為資產(chǎn)池留在組織中。資源短缺阻礙了項目的發(fā)展,可能會滯后于進度。分配額外的資源最終會增加開發(fā)成本。因此,有必要為項目估算和分配足夠的資源。

資源管理包括:

  • 通過創(chuàng)建項目團隊并將職責(zé)分配給每個團隊成員來定義適當(dāng)?shù)慕M織項目
  • 確定特定階段所需的資源及其可用性
  • 通過在需要時生成資源請求并在不再需要時取消分配來管理資源

項目風(fēng)險管理

風(fēng)險管理涉及與識別、分析和準(zhǔn)備項目中可預(yù)測和不可預(yù)測風(fēng)險有關(guān)的所有活動。風(fēng)險可能包括以下內(nèi)容:

  • 經(jīng)驗豐富的工作人員離開該項目,新員工加入。
  • 組織管理的變化。
  • 需求變更或誤解需求。
  • 低估了所需的時間和資源。
  • 技術(shù)變化,環(huán)境變化,商業(yè)競爭。

風(fēng)險管理過程

有參與的風(fēng)險管理流程如下活動:

  • 識別 記下項目中可能發(fā)生的所有可能的風(fēng)險。
  • 分類 根據(jù)對項目可能產(chǎn)生的影響,將已知風(fēng)險分為高、中和低風(fēng)險強度。
  • 管理 分析各階段風(fēng)險發(fā)生的概率。制定計劃以避免或面臨風(fēng)險。盡量減少它們的副作用。
  • 監(jiān)測 密切監(jiān)測潛在風(fēng)險及其早期癥狀。還要監(jiān)控為減輕或避免它們而采取的措施的影響。

項目執(zhí)行與監(jiān)控

在這個階段中,項目計劃中描述的任務(wù)根據(jù)它們的時間表執(zhí)行。

執(zhí)行需要監(jiān)控,以檢查按計劃一切是否會按計劃進行。監(jiān)控是觀察以檢查風(fēng)險發(fā)生的可能性,并采取措施應(yīng)對風(fēng)險或報告各項任務(wù)的狀態(tài)。

這些措施包括:

  • 活動監(jiān)控 可以每天監(jiān)控某些任務(wù)中安排的所有活動。當(dāng)任務(wù)中的所有活動都完成時,它就會被視為完成。
  • 狀態(tài)報告-?報告包含在給定的時間范圍內(nèi)(通常一周)完成的活動和任務(wù)的狀態(tài)。狀態(tài)可以標(biāo)記為已完成、待處理或者進行中等。
  • 里程碑清單 每個項目都分為多個階段,根據(jù) SDLC 的階段執(zhí)行主要任務(wù)(里程碑)。此里程碑清單沒幾周準(zhǔn)備一次,并報告里程碑的狀態(tài)。

項目溝通管理

有效的溝通對項目的成功起著至關(guān)重要的作用。它彌合了客戶與組織、團隊成員以及項目中其他利益相關(guān)者(如硬件供應(yīng)商)之間的差距。

溝通可以是口頭的或書面的。通信管理過程可具有以下步驟:

  • 規(guī)劃?這一步包括識別項目中的所有利益相關(guān)者以及他們之間的溝通方式。它還考慮是否需要任何額外的通信設(shè)施。
  • 共享?在確定規(guī)劃的各個方面,經(jīng)理專注于在正確的時間與正確的人共享正確的信息。這使參與項目的每個人都能了解項目進度及其狀態(tài)。
  • 反饋?項目經(jīng)理使用各種措施和反饋機制并建立狀態(tài)和績效報告。這種機制保證了來自不同利益相關(guān)者的輸入作為他們的反饋傳遞給項目經(jīng)理。
  • 關(guān)閉?在每一個重大時間結(jié)束,SDLC階段結(jié)束或項目本身結(jié)束時,正式宣布關(guān)閉,通過發(fā)送電子郵件、分發(fā)文件的硬拷貝或其他有效溝通方式來更新每個利益相關(guān)者。

關(guān)閉后,團隊進入下一階段或項目。

配置管理

配置管理是跟蹤和控制軟件在產(chǎn)品的要求、設(shè)計、功能和開發(fā)方面的變化的變化。

IEEE 將其定義為“識別和定義系統(tǒng)中的項目的過程,控制這些項目在整個生命周期中的變化,記錄和報告項目狀態(tài)和變更請求的過程,并驗證項目的完整性和正確性?!薄?/p>

通常,一旦 SRS 最終確定,用戶要求更改的可能性就較小。如果發(fā)生這些變化,只有在獲得更高管理層的事先批準(zhǔn)后才能解決,因為可能會超出成本和時間。

基線

如果 SDLC 的一個階段是基線,則假定它結(jié)束,即基線是定義階段完整性的度量。當(dāng)與其相關(guān)的所有活動均已完成并有據(jù)可查時,該階段即位基線。如果它不是最后階段,則其輸出將在下一個立即階段使用。

配置管理是組織管理的一門學(xué)科,他負(fù)責(zé)在一個階段建立基線后發(fā)生任何變化(流程、需求、技術(shù)、戰(zhàn)略等)。CM 會不斷檢查軟件中所做的任何更改。

變更控制

變更控制的配置管理,從而確保軟件系統(tǒng)進行的所有更改都一致并按照組織的規(guī)章制度的作用。.

在產(chǎn)品配置的變化經(jīng)過以下步驟 -

  • 識別?變更請求來自內(nèi)部或者外部來源,當(dāng)變更請求被正式識別時,它會被正確記錄。
  • 確認(rèn)?檢查變更請求的有效性并確認(rèn)其處理程序。
  • 分析?根據(jù)進度、成本和所需工作量分析變更請求的影響,分析預(yù)期變更對系統(tǒng)的總體影響。
  • 控制?如果預(yù)期的變更要么影響了太多的實體系統(tǒng),要么是不可避免的,則必須在將變更納入系統(tǒng)之前獲得高層批準(zhǔn)。判斷決定是否值得合并,如果不是,更改請求將會被正式拒絕。
  • 執(zhí)行?如果前一階段決定執(zhí)行的變更請求,這個階段將采取適當(dāng)?shù)男袆觼韴?zhí)行變更,并在必要時進行徹底的修訂。
  • 關(guān)閉請求?驗證更改是否正確實施并與系統(tǒng)的其他部分合并。軟件中新合并的更改已正確記錄,請求已正式關(guān)閉。

項目管理工具

即使項目是根據(jù)既定方法開發(fā)的,風(fēng)險和不確定性也隨著項目規(guī)模的增加而成倍增加。

有一些可用的工具可以幫助進行有效的項目管理:

甘特圖

甘特圖是由亨利·甘特(Henry Gantt,1917)設(shè)計的。它代表與事件段相關(guān)的項目進度表。它是一個水平條形圖,其中的條形表示為項目活動安排的活動和事件。

PERT 圖

PERT(程序評估和審查技術(shù))圖是一種將項目描述為網(wǎng)絡(luò)圖的工具。它能夠以并行和連續(xù)的方式以圖形方式表示項目的主要事件。一個接一個發(fā)生的事件表明后一個事件對前一個事件的依賴性。

事件顯示為編號節(jié)點。它們由描述項目中人物順序的標(biāo)記箭頭連接。

資源直方圖

這是一個圖形工具,包含表示項目事件(或階段)隨時間推移所需資源數(shù)量的條形圖或者圖表。

關(guān)鍵路徑分析

此工具可用于識別項目中相互依賴的任務(wù)。它還有助于找出完成項目的最短路徑或關(guān)鍵路徑。與 PERT 圖一樣,每個時間都被分配了一個特定的時間范圍。此工具還顯示事件的相關(guān)性,假設(shè)事件只有在前一個時間完成后才能進行到下一個事件。

事件根據(jù)其最早可能的開始事件進行安排。起始節(jié)點和結(jié)束節(jié)點之間的路徑是關(guān)鍵路徑,不能進一步縮減,所有事件都需要以相同的順序執(zhí)行。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號