❶ 軟體項目進度管理如何才能及時、准確地獲知項目進展的實際情況
兩方面的因素。
1、軟體的功能足夠滿足,進度管理的全面性,以及項目個性化需求的差異。簡單、易用。
2、項目在使用過程中,對待軟體的使用進行流程上和制度上的約束,按周期的將現實數據,真實的反應到系統當中。
自然而然的,期望的進度啊、成本啊以及所有項目上關注的點都可以在軟體上體現出來。
❷ 怎麼控制軟體開發進度具體方法。
要根據不同技術的開發團隊和不同的項目難度制定。調研和數據建模是最基本的。然後在根據調研報告和數據結構制定開發模塊,分析開發周期,然後在分析出來的開發周期上在縮短時間分配給下屬。期間注意項目進度的跟進和測試
❸ 軟體項目計劃的進度安排
軟體項目的進度安排與任何一個工程的進度安排沒有實質上的不同。首先識別一組項目任務,建立任務間的相互關聯,然後估計各個任 務的工作量,分配人力和其他資源,指定進度時序。
軟體開發任務的並行性
若軟體項目有多人參加時,多個開發者的活動將並行進行。
Gantt圖
Gantt圖常用水平線段來描述把任務分解成子任務,以及每個子任務的進度按排,該圖表示方法簡單易懂, 一目瞭然,動態反映軟體開發進度情況。如下表:
進程計劃時間表
工程網路圖
工程網路圖是一種有向圖,該圖中用圓表示事件,有向弧或箭頭表示子任務的進行,箭頭上的數字稱為權,該權表示此子任務的持續時間,箭頭下面括弧中的數字表示該任務的機動時間,圖中的圓表示與某個子任務開始或結束事件的時間點。如下圖:
軟體質量保證軟體質量保證是軟體工程管理的重要內容,軟體質量保證應作好以下幾個方面的工作:
(1)採用技術手段和工具。
(2)組織正式技術評審。
(3)加強軟體測試。
(4)推行軟體工程規范(標准)。
(5)對軟體的變更進行控制。
(6)對軟體質量進行度量。
❹ 項目管理中該如何進行進度控制管理
進度控制管理是採用科學的方法確定進度目標,編制進度計劃與資源供應計劃,進行進度控制,在於質量、費用、安全目標協調的基礎上,實現工期目標。由於進度計劃實施過程中目標明確,而資源有限,不確定因素多,干擾因素多。而這些因素存在主觀因素和客觀因素,並且主客觀條件的不斷變化,項目計劃也隨之改變,因此,在項目進行過程中必須不斷掌握計劃的實施狀況,並將實際情況與計劃進行對比分析,必要時採取有效措施,使項目進度按預定的目標進行,確保目標的實現。進度控制管理是動態的、全過程的管理。進度控制的目標就是了解進度的情況,干預導致進度變更的因素,確定進度是否已經發生變更,以及進度發生變更時,管理好這些變更。進度控制的主要輸入是項目管理計劃、項目進度計劃、工作績效信息、組織過程資產。其所使用的主要工具和技術是進展報告、進度變更控制系統、進度對比條形圖(如甘特圖)、項目管理軟體、偏差分析,假設情景分析.進度壓縮,績效管理等。
❺ 如何對軟體測試的質量和進度進行把控
2. 風險評估:這個能力非常重要,項目的每個階段都可能存在風險:需求不明確、系統設計或測試設計不完善、代碼編寫不安全、測試用例不充足、測試人員未完全測試、測試資源不足、回歸工作量估計不當、項目進度安排不妥、其他項目對本項目的影響等等,所以項目過程中要具有高度警惕性,尤其要做到開發和測試善始善終。 3. 缺陷預防:個人認為做到很好的缺陷預防是需要綜合素質的,如熟練的業務能力,最好能夠熟知各產品間的關聯,如果能夠知道產品實現方法及過程最好不過。能夠及時根據當前其他產品發布出現的問題預測對本項目的影響度並做好相關缺陷分析。 4. 溝通能力:往往測試和開發容易處於對立面,不和諧的團隊對項目的質量必然帶來一定的負面影響,畢竟人的情緒在工作中對工作效率的影響力是非常大的,軟體質量是靠開發測試一起保證的,記得在測試技術交流大會中郭芙老大說過開發人員的測試意識不是天生具有的,當遇到開發人員測試觀念不足時需要測試人員去指導開發人員,提高開發人員的測試意識。不能把開發人員測試意識不足當作產品質量不好的理由,所以在這個過程中溝通能力是一個很好的體現。 5. 時間管理:會管理時間的人往往離成功更近一步,如何利用時間解決緊急的項目問題、沖突問題、資源安排問題、測試用例的執行的先後順序等講究時間效率方法是保證質量的因素之一。
❻ 軟體項目進度管理怎樣當進度發生偏差時,如何調整項目的進度
及時制定實施調整與補救措施。調整的目的是根據實際進度情況,對項目計劃作必要的修正,使之符合變化的實際情況,以保證項目目標其順利實現。由於初期編制項目計劃時考慮不周,或因其他原因需要增加某些工作時就需要重新調整項目計劃中的網路邏輯,計算調整後的各時間參數、關鍵線路和工期。
進度落後的情況下,有幾種措施來彌補,如加人、加班、加激勵等等,這些都是增加資源而又未必會見效的方法。根據Brooks原則,在某些項目進度延遲的情況下增加人手,有可能會使項目的進度更加延後。因為對於新加入本項目的員工來說,對項目相關背景、需求、設計的培訓、對項目環境的熟悉和項目團隊成員之間的溝通路徑的增加,可能會使項目的工作效率急劇下跌。而加班造成的疲勞會再次使工作效率降低。增加激勵會造成工作成本卻不斷的向上攀升。這些措施並不是完全不可取,而是項目經理要考慮適度原則。最好是要全面分析項目進度延遲的原因,如果確實是不合理的項目交付時限要求,就應當通過溝通變更為合理的項目時限要求,以免因為這樣一個不合理的時限要求造成對軟體質量或團隊成員心理上的負面影響,最終導致項目最終的失敗。否則應從技術、團隊成員心態、環境等方面查找原因,找到提高效率、加快進度的方法。
❼ 項目管理中的里程碑
項目管理中的里程碑
項目進度的延遲總是在快到計劃結束的時刻暴露出來,結果是誰也不知道到底什麼時候才能夠結束項目,到最後項目 經理只好請辭。那麼,到底問題出在哪呢?一起來看看!
艱難的項目進度管理
軟體開發管理一直有一個令人困惑的難題,就是如何確保項目進度管理。項目進度控制是項目管理工作中的重要一環,也可以說是最艱難的工作之一。在軟體開發中項目進度失控受到很多因素的影響,主要有以下幾種情況:
(1)缺少進度指路明燈
當我們在路上行走的時候,會在沿途觀看路標,當到達某一個路標時,我們便知道還有多少路或多少時間才能夠到達終點。這些路標是我們在旅程中的里程碑,讓我們可以清楚地知道目前所在地離開目的地有多遠,也讓我們能估算何時才能夠到達目的地。
對於在路上行走的我們,可以通過路邊的里程碑這一個簡單工具來獲知自己的進度信息。當進行軟體開發的時候,我們也需要建立開發項目的里程碑,使我們知道項目的進度。里程碑是項目管理不可忽視的一部分,通常意味一個時間點上可交付成果的完成,好的里程碑管理就像一張地圖指示我們走向項目目標的進 度。
(2)項目進度估算準確性差
軟體項目開發進度控制面臨的最大挑戰就是項目進度估算的准確性差。據統計,在對軟體項目進度與成本估算時,大多數項目實際完成時間超過估算進度的25%到100%。根據我的經驗要想對項目進度進行有效的估算,必須抓好以下兩個方面:一是項目計劃的可行性和可操作性,這是進度估算的基礎。二是要對項目進度進行合理的度量,這樣才能夠獲得項目的真實進展情況,並對項目估算做出相應調整。
(3)前松後緊,項目進度缺乏有效監管和控制
一般人在工作時都有前松後緊的習慣,而里程碑強制規定在某段時間做什麼,從而合理分配工作,細化管理粒度。對復雜的軟體開發項目而言,每一階段 的進度都需要逐步逼近目標,里程碑產出的中間“交付物”就是每一步逼近的結果,也是控制的對象。如果沒有里程碑,中間想知道“現在進度做的怎麼樣了”是很困難的。
(4)沒有盡早發現和降低項目風險
在軟體開發中錯誤發現得越晚,對於開發造成的損失越大。里程碑式開發模式可根據每個階段產出結果分期確認成果,避免血本無歸。通過早期里程碑評審一般可以提前發現需求和設計中的`問題,降低後期修改和返工的可能性。例如,在需求分析階段發生的錯誤,那麼最多就是把需求分析寫一遍,損失的是一個人的勞動;而到了測試階段發現了需求錯誤,再回去重新做需求分析,那麼損失可能是致命的。
目標導向衍生里程碑式管理
一般來說,在項目開始時項目經理都會對開發項目進度制定一個詳細的計劃。通常情況下,這需要採用一些具體的開發模式技術,最常用的技術是網路計 劃和里程碑計劃。網路計劃是任務導向,以工作分解結構(WBS)為基礎;里程碑計劃是目標導向,以目標分解結構(OBS)為基礎。有時兩種方法可以混合使用,如在網路計劃中設置里程碑。
(1)什麼是里程碑式管理
里程碑是一個目標導向模式,它表明為了達到特定的里程碑需要完成的一系列活動。里程碑式開發是通過建立里程碑和檢驗各個里程碑的到達情況,來控制項目工作的進展和保證實現總目標。
軟體開發項目生命周期中有三個與時間相關的重要概念,這三個概念分別是:檢查點、里程碑和基線。檢查點是指在規定的時間間隔內對項目進行檢查, 比較實際進度與估算計劃之間的差異,並根據差異進行調整。我們可以將檢查點看作是一個固定“采樣”時點,而時間間隔根據項目周期長短不同而不同。里程碑是 指一個具有特定重要性的事件,通常代表項目工作中一個重要階段的完成。在里程碑處,通常要進行檢查。基線則是指一個配置在項目不同時間點上通過正式評審而 進入正式受控的一種(里程碑)狀態。
三者的關系是:重要的檢查點是里程碑,重要的需要客戶確認的里程碑,就是基線。有一句通俗的話是這樣描述:沒有檢查點,工作難進展,不設里程碑,項目往後推,基線不評審,客戶吃不準。
(2)怎樣才算是一個里程碑呢?
簡單的說里程碑是完成一個階段工作後可以看到部分結果的檢查點。一般來說,在軟體開發過程中,我們都會經過一定的流程或階段,例如信息搜集階 段、需求分析階段、系統設計階段、系統開發和系統測試階段。每個階段都會產生交付物,每一份交付物的完結說明我們已經完成了一個階段的工作,一般情況下我 們是在確認這一份工作成果後才會進入下一個階段的工作。因此,每一份交付物將就是開發過程中的里程碑。
里程碑(基線、基點)是一個軟體配置在開發周期內的某一特定時刻、正式的事件,它也就是階段性目標。里程碑是團隊階段性工作完成的標志,對於任 何一個里程碑都應該給於認真的檢查、審定和批准。在里程碑中間應要設置大量的檢查點,這些檢查點應要細分到一旦檢查點出現問題不至於在進度上失控。
(3)里程碑可為進度預留緩沖時間
使用里程碑式模式還有一個好處,就是將大項目分成若干里程碑式的重要階段時,可在各重要階段之間預留有緩沖時間。使用緩沖時間,可以很好的在項 目未來實際執行進度和預計進度之間取得平衡。一般來說,在項目中我們需要為意外事故保留總開發1/3的時間,即“緩沖時間”。緩沖時間有助於一個項目適應 意料之外的事件,例如緩沖時間可以用於彌補進度延誤,或者是技術困難或是由於疏忽而忘記把任務寫入進度,或者是未料到的難題而形成的時間損失,這種應付突 發事件的緩沖時間在開發和穩定化過程中是每一個主要里程碑的一部分。
(4)警惕只問結果的里程碑陷阱
眾所周知,里程碑是項目進度控制中的一個極為重要的概念,也正因為如此,人們也易於過於依賴里程碑,反而使項目進度落空。里程碑陷阱表現為人們在軟體項目的里程碑被設定以後,認為“目標管理是只問結果,不計過程”,從而忽視對過程的監控而導致項目里程碑不能按期達到。
如何實施里程碑式的管理
里程碑一般是項目中完成階段性工作的標志,不同類型的項目,里程碑也不同。其精髓首先是將大項目劃分成若干個子項目或若干個子階段;其次,是通過每一階段對各人員角色職責的考核和監管,以保證開發過程的進度和質量。
(1)劃分若干個子項目,設立里程碑檢查點
項目進度是以里程碑為界限,將整個開發周期劃分為若干階段。根據里程碑的完成情況,適當的調整每一個較小的階段的任務量和完成的任務時間,這種方式非常有利於整個項目進度的動態調整,也利於項目質量的監督。
在里程碑式的開發模式下,因為按子項目或子階段來劃分里程碑,每一個子項目都會經過一定的穩定化階段。當再進入到第二個子項目的時候,就是基於 前一個相對穩定的子項目基礎之上,這樣就將風險或錯誤的累加分散到最低。以局部的進度控制和質量控制來保證整體開發過程的穩定,使得質量和進度得以很好的 控制,這就是里程碑式的開發模式優秀之處。
(2)每個具體的里程碑應與具體角色相關聯
里程碑模式也可以稱作項目實施進度管理模式,一但開發項目立項確定,需要做的第一件事情就是確定項目進度的里程碑。在里程碑中應清楚地定義每一個階段的開始時間、結束時間、負責人和階段的提交成果。
因此,里程碑是項目經理進行開發進度控制的主要依據,里程碑一旦確定,各相應負責人應確保按時交付成果,這樣既便於明確各個角色責權范圍,也有 利於按時完成任。例如每個具體的里程碑與開發組某一具體的人員角色相關聯,達到某個里程碑表明對此負有主要責任的人員角色完成了任務。因此,基於里程碑的 軟體質量控制必然會演變成對角色的質量控制,這樣才能真正達到對軟體質量的控制,
(3)確保里程碑有可驗證的標准
我們經常看到許多項目進度中,都像模像樣地設立了里程碑。但實際上,最大的問題就在於許多里程碑沒有設定相應的驗證標准。在軟體開發項目中設立 的里程碑,其作用是在項目進行時確認進度用的,沒有設定驗證標准就等於沒有里程碑管理。因此,需要給出一個清晰的驗證標准,用來驗證是否達到里程碑。
(4)里程碑應標明交付成果的進度
在標識里程碑時,要根據里程碑完成情況標明交付成果的進度。更通俗地說,就是讓每個里程碑帶上一個百分比,清楚的告訴團隊通過這個里程碑說明項目完成了多少。當然隨著項目進度的動態變化,未到達的里程碑的也應該做出相應的調整。
;❽ 在項目執行的過程中如何進行項目的控制,確保項目進度
轉載,供參考。
軟體開發項目進度控制
一、影響軟體開發項目進度的因素
要有效地進行進度控制,必須對影響進度的因素進行分析,事先或及時採取必要的措施,盡量縮小計劃進度與實際進度的偏差,實現對項目的主動控制。軟體開發項目中影響進度的因素很多,如人為因素、技術因素、資金因素、環境因素等等。在軟體開項目的實施中,人的因素是最重要的因素,技術的因素歸根到底也是人的因素。軟體開發項目進度控制常見問題主要是體現在對一些因素的考慮上。常見的問題有以下幾種情況:
1、80-20原則與過於樂觀的進度控制
80-20原則在軟體開發項目進度控制方面體現在:80%的項目工作可以在20%的時間內完成,而剩餘的20%的項目工作需要80%的時間。這個80%的項目工作不一定是在項目的前期,而可能是分布在項目的各個階段,但是剩餘的20%左右的項目工作大部分是在後期。所以軟體開發在進入編碼階段後會給人一種「進展快速」的感覺,使得項目經理、項目團隊成員、用戶以及高層領導產生了過於樂觀的估計。有些領導看到軟體交付給用戶了,就一塊石頭落地「總算交差了」,同時又可能撤出一些被認為不必要的人力資源。但很多情況下這是為了對付用戶不合理的交付期限要求而採用的不得已的措施。這樣的結果是拖延了後期的工作,同時如果軟體還不成熟的話,會給用戶造成不好的影響。
2、范圍、質量因素對進度的影響
軟體開發項目比其他任何建設項目都會有更經常的變更,大概是因為軟體程序是一種「看不見」又「很容易修改」的東東吧,用戶是想改就改,造成需求的蔓延,項目經理有時還不知如何拒絕,加上要說「我能」的心理因素,一般都會答應修改。這樣集少成多,逐漸影響了項目進度。
如果某項工作在進度上表面上達到目標了,但經檢驗其質量沒有達到要求,則必然要通過返工等手段,增加人力資源的投入,增加時間的投入,實際上是拖延了進度。不管是從橫向或縱向來看,部分任務的質量會影響總體項目的進度,前面的一些任務質量中會影響到後面的一些任務質量。
3、資源、預算變更對進度的影響
資源,最主要的還是人力資源,有時某方面的人員不夠到位,或者在多個項目的情況下某方面的人員中途被抽到其他項目、或身兼多個項目、或在別的項目不能自拔無法投入本項目。還有一個很重要的資源,就是信息資源,如某些國家標准、行業標准,用戶可能提供不了,而是需要去收集或購買,如果不能按時得到,就會影響需求分析、設計或編碼的工作。其他資源,如開發設備或軟體沒有到貨,也會對進度造成影響。
預算其實就是一種資源,它的變更會影響某些資源的變更,從而對進度造成影響。
4、低估了軟體開發項目實現的條件
低估軟體開發項目實現的條件表現在低估技術難度、低估協調復雜度、低估環境因素這樣幾個方面。
首先是低估技術難度。軟體開發項目團隊成員,有時甚至是企業的高級項目主管也經常低估項目技術上的困難。低估技術難度實際上也就是高估人的能力,認為或希望項目會按照已經制定的樂觀項目計劃順利地實施,而實際則不然。軟體開發項目的高技術特點本身說明其實施中會有很多技術的難度,除了需要高水平的技術人員來實施外,還要考慮為解決某些性能問題而進行科研攻關和項目實驗;
其次,低估了協調復雜度,也低估了多個項目團隊參加項目時工作協調上的困難。軟體開發項目團隊成員比較強調個人的智慧、強調個性,這給項目工作協調帶來更多的復雜度。當一個大項目由很多子項目組成時,不僅會增加相互之間充分溝通交流的困難,更會增加項目協調和進度控制上的困難。
另外,企業高級項目主管和項目經理也經常低估環境因素,這些環境因素包括用戶環境、行業環境、組織環境、社會環境、經濟環境。低估這些條件,既有主觀的原因,也會有客觀的原因。對項目環境的了解程度不夠,造成沒有做好充分的准備。
5、項目狀態信息收集的情況
由於項目經理的經驗或素質原因,對項目狀態信息收集的的掌握不足,及時性准確性完整性比較差。另外其它一些原因也會造成這種現象。某些項目團隊成員報喜不報憂,不希望別人知道自己工作的不好的情況,例如軟體程序的編制,可能會先編制一些表面的東西,現有界面,看起來好像完成任務了,實際上只是一個「原型系統」或演示系統。給領導造成比較樂觀的感覺。
如果項目經理或者管理團隊沒有及時地檢查發現這種情況,將對項目的進度造成嚴重的影響。當然,如果出現這種需要時時刻刻都互相提防的氛圍,管理人員就應該從管理的角度,從制度的角度檢討一下,進行改進,讓大家實事求是地進行溝通。溫伯格說:「無論你多麼聰明,離開了信息,對項目進行成功的控制就是無源之水、無本之木。」
6、執行計劃的嚴格程度
沒有把計劃作為項目過程行動的基礎,而是把計劃放在一邊,比較隨意去做。例如對於項目團隊內部溝通或外部溝通,在計劃中要說明清楚人員、周期、方式、方法,不能遺漏,但在實際項目過程中,可能出現溝通沒有按時或沒有完整地達到所有項目干係人的情況。若項目計劃本身有錯誤,執行錯誤的計劃肯定會產生錯誤。如,計劃制訂者在計劃系統框架設計考慮上的錯誤、進度安排上的失誤等。實際的項目實施中,除了這種錯誤之外,還可能因為項目執行上的錯誤,造成項目的麻煩。例如,項目的客戶及其他項目干係人沒有及時為項目中出現的情況採取必要的措施或者所採取的措施的不適合具體的情況、沒有效果或者有副作用等。另外,如果在項目中的某項工作(如某個子系統或模塊、組件)被轉包給第三方開發後,不能進行有效的管理,也會造成進度上的延誤。
7、計劃變更調整的及時性
漸近明細是項目的特點,特別是對於軟體開發項目,並不是一個一成不變的過程。開始時的項目計劃可以先制定得比較粗一些,隨著項目的進展,特別是需求明確以後,項目的計劃就可以進一步的明確,這時候應該對項目計劃進行調整修訂,通過變更手續取得項目干係人的共識。計劃應該隨著項目的進展而逐漸細化、調整、修正。沒有及時調整的計劃或者是隨意的不負責任的計劃的項目是難以控制的。在高技術行業,日新月異是主要特點,因此計劃的制定需要在一定條件的限制和假設之下採用漸近明細的方式,隨著項目的進展進行不斷細化、調整、修正、完善。對於較為大型的軟體開發項目的工作分解結構可採用二次甚至多次 WBS 方法。即根據總體階段劃分的總體 WBS ,需求調研階段結束、概要設計完成後專門針對詳細設計或編碼階段的二次 WBS 。由於需求的功能點和設計的模塊或組件之間並不是一一對應的關系,所以只有在概要設計完成以後才能准確地得到詳細設計或編碼階段的二次 WBS ,根據代碼模塊或組件的合理劃分而得出的二次 WBS 才能在詳細設計、編碼階段乃至測試階段起到有效把握和控制進度的作用。有些項目的需求或設計做得不夠詳細,無法對工作任務的分解、均衡分配和進度管理起參考作用,因此要隨著需求的細化和設計的明確,對項目的分工和進度進行及時的調整,使項目的計劃符合項目的變化,使項目的進度符合項目的計劃。
8、未考慮不可預見事件發生造成的影響
假設、約束、風險等考慮「不周」造成項目進度計劃中未考慮一些不可預見的事件發生。例如軟體開發項目還會因為項目資源特別是人力資源缺乏、人員生病、人員離職、項目團隊成員臨時有其他更緊急的任務造成人員流動等不可預見的事件對項目的進度控製造成影響(即項目按時完成是基於如下假設:人力資源不會缺乏、人員不會生病、人員不會流動)。企業環境、社會環境、天災人禍等事件對項目的進度控製造成影響。對項目的假設條件、約束條件、風險及其對策等對於進度的影響在項目計劃要進行充分的考慮,在項目進展過程中也要不斷地重新考慮有沒有新的情況,新的假設條件、約束條件、潛在風險會影響項目的進度。假設是通過努力可以直接解決的問題,而這些問題是一定要解決才能保證項目按計劃完成;約束一般是難以解決的問題,但可以通過其他途徑迴避或彌補、取捨,如犧牲進度、質量等等;假設與約束是針對比較明確會出現的情況,如果問題的出現具有不確定性,則應該在風險分析中列出,分析其出現的可能性、造成的影響、採取的措施。實際上像沒有考慮人的疾病、人員流動這些情況本身也不是什麼問題,因為任何人都不可能把所有以外的情況都考慮完整,實際上也沒有必要。但有些諸如下班或節假日的加班時間都被安排用於項目工作的情況就會造成更多的項目不確定性。在可能的情況下當然要對所有可能情況都做到有備無患,但是有的時候也要冒一定的風險,同時對於風險的防範也需要考慮如果防範的成本大於風險本身造成的損失和影響,則這種防範是沒有必要的。
9、程序員方面的因素對進度的影響
程序員方面有兩種常見的心態影響了進度的控制:一是技術完美主義、二是自尊心。
技術完美主義的常見現象是,有些程序員由於進度壓力、經驗等方面的原因,會匆忙先做編碼等具體的事情,等做到一定程度後會想到一些更好的構思,或者看到一些更好的技術的介紹,或者是覺得外部構架可以更加美化,或者是覺得內部構架可以更加優化,這樣他們會私下或公開對軟體進行調整,去嘗試一下新的技術。而是否使用這些新的技術對完成項目本身的目標並沒有影響,相反可能帶來不確定的隱患。這種做法不是以用戶的需求為本、或以項目團隊的總體目標為本,可能對軟體開發進度造成較大的影響。
自尊心的常見想像是,有些程序員在遇到一些自己無法解決的問題時,傾向於靠自己摸索,而不願去問周圍那些經驗更為豐富的人。有些人也許會通過聊天室等方式匿名地向別人求教。如果運氣好會很快地解決,否則要花很多實踐摸索。而如果向周圍的人求教,可能摸索幾天的問題別人早就解決了。
10、未考慮軟體開發過程的循環、迭代特性
對軟體開發的各個過程分類過於精細,制定進度計劃時各項工作過於緊湊、沒有彈性,造成的後果是,定期提交項目進度階段報告的制度只有在表面上起到效果,按照計劃的時間表提交階段成果也只是在表面上起到效果。因為「上有政策、下有對策」,強行的規定會使人產生一些錯誤的認識:如在項目計劃中「規定」某個時間只能做某某類別的事情,那麼嚴格執行的後果就是編碼階段就不能修改文檔;另外錯誤的「里程碑」概念可能會使大家輕易地相信上一個階段的工作成果都是「通過評審」最終定稿了,而實際上可能只是因為時間到了該提交的人提交、該評審的人評審了。如果上下階段是不同的人就根本不會去檢查其中是否還有錯誤;如果上下階段是同一個人,就可能非正式地修改上一階段的錯誤,但佔用的時間和精力卻是下一階段的,並且這樣的修改時沒有記錄的。這樣關於階段進度控制的措施實際上只是在表面上有效。最為普遍的情況是,用戶在合同中限定了提交軟體系統的時間,實際上這個時間對完成項目任務來說是遠遠不夠的,但計劃只能按照合同來進行,所以要不用戶讓步,要不只能按照時間的約定提交實際上還未完成的軟體系統,完成系統的安裝,但這時候的「完成階段任務」只是一個表面現象,系統雖然安裝了,但可能是沒有經過嚴格徹底測試的,也可能是只完成了部分的功能,省略了某些功能,有些是整塊功能省略,有的是省略了某些功能的某個過程,如數據錄入裡面隱含的數據錄入前預設值設置、數據錄入檢驗等功能,而是實現了比較粗糙的功能。這樣,系統交付並不意味著項目的完成,而在項目交付之後還要花更多的時間。
11、其他因素
以上這些因素是影響項目進度的幾個主要方面,除此之外還有很多其他的影響因素。其實最主要的因素還是人的因素,這里的人包括所有與項目相關的人。項目經理的素質、管理者的水平、用戶的因素、項目成員的因素等等,都會對項目進度造成影響,這是因為由於軟體開發的特性。因為篇幅有限無法一一列舉,只能在此分析一些常見的因素。
不可否認,軟體開發項目進度可控性還是帶有一定運氣成分的。特別是需要用戶配合的那些軟體開發項目,其可控性與用戶的成熟度、軟體應用領域的成熟程度和行業標准規范的完備程度有很大關系。關於可控性方面會涉及到一些與客戶打交道經驗,雖然我們說,顧客是上帝、以顧客為中心,但並不是說我們要把主導權交給他們,而關鍵是我們如何去主導、引導、把握。因此,項目控制的好壞與相關人員人際關系方面的經驗也有關系。
盡管存在很多不可控的因素,我們的任務是首先分清哪些是可以控制的,哪些是我們不能控制的。項目經理一是要盡量擴大可控的領域,減少不可控的領域,二是不要在「不可控」上花太多時間,而是多花一些時間把可控的工作控制好,做好防範措施,減輕不可控因素對項目進度的影響。
項目進入實施階段後,項目經理的幾乎所有的活動都是圍繞進度展開的。進度控制的目標與成本控制的目標和質量控制的目標是對立統一的關系。項目的進度、質量和成本構成一個相互制約的三角關系,需要項目經理去平衡。
二、項目進度控制的目的
項目進度控制和監督的目的是:增強項目進度的透明度,以便當項目進展與項目計劃出現嚴重偏差時可以採取適當的糾正或預防措施。已經歸檔和發布的項目計劃是項目控制和監督中活動、溝通、採取糾正和預防措施的基礎。
1、根據計劃進行監控
項目控制的第一個目的是根據計劃對項目的各項活動進行監控,即根據已經制定並取得共識的軟體開發項目計劃來監控項目的實際表現和進度。為此應該根據項目計劃來監控項目計劃參數的實際值,這些參數包括進度表、項目成本、工作量、工作產品和任務的屬性、使用的資源、項目成員的知識和技能;根據項目計劃來監控項目團隊所作的承諾是否已經或可能兌現、原來的確定的風險是否可以避免或減少損失,是否有新的風險出現;根據項目計劃來收集、管理、使用項目數據;根據計劃監督項目干係人的參與情況,監控各項任務承擔人的參與活動;定期進行必要的進度評審,確定項目是否存在重大偏差、跟蹤變更請求和問題報告直到變更或問題得到解決;在項目的里程碑對項目的成果進行評審。
2、管理糾正和預防措施
項目控制的另外一個目的是管理糾正和預防措施,即當項目進度或者結果已經或即將與計劃有嚴重偏差時,對需要採取的糾正或預防措施進行管理。為此應當收集並且分析項目進行中可能存在的問題,並以此確定解決這些問題的糾正或預防措施;對已經確定的問題採取糾正和預防措施;監控要實施的糾正和預防措施,分析措施採取以後的結果,判斷這些措施的有效性,確定和記錄糾正與計劃結果存在偏差的問題而採取的必要且合適的措施。
項目執行過程中僅僅靠最初建立的一份「完善」的基準計劃是不夠的,最好的計劃也未必會一直有效。根據項目任務漸進明晰的特點,特別是軟體開發項目的特點,在項目進行過程中,肯定需要在適當和必要的時候對項目進行變更控制,這種控制過程包括定期搜集有關項目進展情況的信息,把實際進展情況與計劃進展情況進行對比;如果實際進展情況比計劃進展情況有差距,或可能會有差距,就應當採取糾正或預防措施。變更控制應當在項目期間定期進行,這里所說的變更控制不一定要進行真正的變更,而是說要定期對變更進行控制。
如果在項目生命周期內的某一時間點,把實際進度與計劃中約定的進度相比對,顯示出項目已經延誤或即將延誤、超出預算目標或不符合質量要求,就必須採取糾正或預防措施使項目回到正軌上來,重新符合計劃的安排要求。在已做出執行糾正或預防措施的決定之前,應評估一下糾正與預防措施的有效性和無副作用性,以確保糾正措施使項目回到項目的工作范圍、時間和預算約束內,並對項目的其他目標不會造成太大的影響。
3、在各種項目目標中進行平衡
如果經過評估確定項目確實已無法控制,就應當下定決心以犧牲軟體功能范圍、工作成果范圍(如某些中間文檔)、成本預算、進度計劃或軟體質量中的某一項目標為代價,來保住項目最重要的那些目標,在各種項目目標中進行平衡,最終確定一個最合適的解決方案。有效的項目控制的關鍵是定期及時測量實際進程,並與計劃進程相比較,如有必要就立即採取糾正或預防措施。指望不採取糾正和干預措施,問題就自行消失的想法是不現實的。問題越早發現就越好改正,造成的影響和損失越小。問題越提前發現就越好採取預防措施,可以用最小的代價避免造成損失。基於項目實際進展情況,就有可能准確預測項目進度計劃和成本預算的實施情況,以便順利完成項目。如果這些項目參數超出項目目標的限制范圍,就必須馬上採取糾正措施;如果發現這些項目參數有超出項目目標的限制范圍的趨勢,就必須馬上採取預防措施。
軟體開發項目實施中進度控制是項目管理的關鍵,若某個分項或階段實施的進度沒有把握好,則會影響整個項目的進度,因此應當盡可能地排除或減少干擾因素對進度的影響,確保項目實施的進度。
三、軟體開發項目常用進度控制措施
1、項目進度控制的前提
項目進度控制的前提是有效地項目計劃和充分掌握第一手實際信息,在此前提下,通過實際值與計劃值進行比較,檢查、分析、評價項目進度。通過溝通、肯定、批評、獎勵、懲罰、經濟等不同手段,對項目進度進行監督、督促、影響、制約。及時發現偏差,及時予以糾正;提前預測偏差,提前予以預防。
在進行項目進度控制時,必須落實項目團隊之內或之外進度控制人員的組成,明確具體的控制任務和管理職責。要制定進度控制的方法,要選擇適用的進度預測分析和進度統計技術或工具。要明確項目進度信息的報告、溝通、反饋、以及信息管理制度。
項目進度控制應該由部門經理和項目監控人員共同進行,之所以需要部門經理參與,是因為部門經理負責項目一般要負責一定人事行政的責任,如成員的考核、升遷、發展等。他們只有通過軟體開發項目才能更好地了解項目成員,項目也只用通過對他們有切身利益的管理者參與管理才會更加有效。
2、項目進度控制主要手段
項目計劃書:作為項目進度控制的基準和依據,項目負責人負責製作項目計劃書。項目進度監控人員根據項目計劃書對項目的階段成果完成情況進行監控,如果由於某些原因階段成果提前或延後完成,項目負責人應提前申請並做好開發計劃的變更。對於項目進度延後的,應當分析產生進度延後的原因、確定糾正偏差的對策、採取糾正偏差的措施,在確定的期限內消除項目進度與項目計劃之間的偏差。項目計劃書應當根據項目的進展情況進行調整,以保證基準和依據的新鮮性、有效性。
項目階段情況匯報與計劃:項目負責人按照預定的每個階段點(根據項目的實際情況可以是每周、每雙周、每月、每雙月、每季、每旬等等)定期在與項目成員和其他相關人員充分溝通後,向相關管理人員和管理部門提交一份書面項目階段工作匯報與計劃,內容包括:
a、對上一階段計劃執行情況的描述
b、下一階段的工作計劃安排
c、已經解決的問題和遺留的問題
d、資源申請、需要協調的事情及其人員
e、其他需要處理的問題
這些匯報將存檔,作為對項目進行考核的重要材料。
在計劃制定時就要確定項目總進度目標與分進度目標;在項目進展的全過程中,進行計劃進度與實際進度的比較,及時發現偏離,及時採取措施糾正或者預防;協調項目參與人員之間的進度關系。
在項目計劃執行中,做好這樣幾個方面的工作:
檢查並掌握項目實際進度信息。對反映實際進度的各種數據進行記載並作為檢查和調整項目計劃的依據,積累資料,總結分析,不斷提高計劃編制、項目管理、進度控制水平。
做好項目計劃執行中的檢查與分析。通過檢查,分析計劃提前或拖後的主要原因。項目計劃的定期檢查是監督計劃執行的最有效的方法。
及時制定實施調整與補救措施。調整的目的是根據實際進度情況,對項目計劃作必要的修正,使之符合變化的實際情況,以保證項目目標其順利實現。由於初期編制項目計劃時考慮不周,或因其他原因需要增加某些工作時就需要重新調整項目計劃中的網路邏輯,計算調整後的各時間參數、關鍵線路和工期。
3、進度控制內容
從內容上看,軟體開發項目進度控制主要表現在組織管理、技術管理和信息管理等這幾個方面。組織管理包括這樣幾個內容:
(1)項目經理監督並控制項目進展情況;
(2)進行項目分解,如按項目結構分,按項目進展階段分,按合同結構分,並建立編碼體系;
(3)制訂進度協調制度,確定協調會議時間,參加人員等;
(4)對影響進度的干擾因素和潛在風險進行分析。
技術管理與人員管理有非常密切的關系。軟體開發項目的技術難度需要引起重視,有些技術問題可能需要特殊的人員,可能需要花時間攻克一些技術問題,技術措施就是預測技術問題並制訂相應的應對措施。控制的好壞直接影響項目實施進度。
在軟體開發項目中,合同措施通常不由項目團隊負責,企業有專門的合同管理部門負責項目的轉包、合同期與進度計劃的協調等。項目經理應該及時掌握這些工作轉包的情況,按計劃通過計劃進度與實際進度的動態比較,定期向客戶提供比較可靠的報告等。
軟體開發項目進度控制的信息管理主要體現在編制、調整項目進度控制計劃時對項目信息的掌握上。這些信息主要是:預測信息,即對分項和分階段工作的技術難度、風險、工作量、邏輯關系等進行預測;決策信息,即對實施中出現的計劃之外的新情況進行應對並做出決策。參與軟體開發項目決策的有項目經理、企業項目主管及客戶的相關負責人;統計信息,軟體開發項目中統計工作主要由參與項目實施的人員自己做,再由項目經理或指定人員檢查核實。通過收集、整理和分析,寫出項目進展分析報告。根據實際情況,可以按日、周、月等時間要求對進度進行統計和審核,這是進度控制所必須的。
4、不同階段的項目進度控制
從項目進度控制的階段上看,軟體開發項目進度控制主要有:項目准備階段進度控制,需求分析和設計階段進度控制,實施階段進度控制等這幾個部分。
准備階段進度控制任務是:向業主提供有關項目信息,協助業主確定工期總目標;編制階段計劃和項目總進度計劃;控制該計劃的執行;
需求分析和設計階段控制的任務是:編制與用戶的溝通計劃、需求分析工作進度計劃、設計工作進度計劃,控制相關計劃的執行等。
實施階段進度控制的任務是:編制實施總進度計劃並控制其執行;編制實施計劃並控制其執行等。由甲乙雙方協調進度計劃的編制、調整並採取措施確保進度目標的實施。
為了及時地發現和處理計劃執行中發生的各種問題,就必須加強項目的項目的協同工作。協同工作是組織項目計劃實現的重要環節。它要為項目計劃順利執行創造各種必要的條件,以適應項目實施情況的變化。
5、關於進度落後時的「趕工」措施
進度落後的情況下,有幾種措施來彌補,如加人、加班、加激勵等等,這些都是增加資源而又未必會見效的方法。根據Brooks原則,在某些項目進度延遲的情況下增加人手,有可能會使項目的進度更加延後。因為對於新加入本項目的員工來說,對項目相關背景、需求、設計的培訓、對項目環境的熟悉和項目團隊成員之間的溝通路徑的增加,可能會使項目的工作效率急劇下跌。而加班造成的疲勞會再次使工作效率降低。增加激勵會造成工作成本卻不斷的向上攀升。這些措施並不是完全不可取,而是項目經理要考慮適度原則。最好是要全面分析項目進度延遲的原因,如果確實是不合理的項目交付時限要求,就應當通過溝通變更為合理的項目時限要求,以免因為這樣一個不合理的時限要求造成對軟體質量或團隊成員心理上的負面影響,最終導致項目最終的失敗。否則應從技術、團隊成員心態、環境等方面查找原因,找到提高效率、加快進度的方法。
❾ 如何做好項目跟蹤
項目跟蹤相當於項目監測,項目各級管理人員根據項目的規劃和目標等,在項目實施的整個過程中對項目狀態以及影響項目進展的內外部因素進行及時的、連續的、系統的記錄和報告。
一些普遍的觀點認為,項目跟蹤主要針對計劃、任務和項目成員三個方面,是為了了解項目的實際進展情況而進行。比如,了解成員工作完成情況,了解整個項目計劃完成情況等內容。但我認為這是不夠全面的,比如成本管理,記錄監控人工成本、材料成本等,提高資源使用率;比如溝通管理,可以讓項目經理及時獲取最新項目情況,同時發現並解決問題;比如風險管理,做好風險把控,將問題解決在萌芽狀態等。
項目跟蹤活動看起來繁雜瑣碎,但8Manage PM項目管理軟體都可以幫你輕松實現。軟體本身就嚴格按照PMBOK項目管理的十個知識領域管理設計,時刻關注項目的最終目標,有助跟蹤整個項目管理流程,確保項目按質按量完成。
❿ 如何做好項目進度管理
題主提到了項目集、項目經理和工具這三個關鍵詞。其實涉及到專業的項目管理,還需要結合具體的場景,比如主要是敏捷還是瀑布管理,是否是金融體系內的「穩態」+「敏態」的雙模管理等等。不考慮場景因素,單從項目管理工具來看,這種復雜場景需要怎樣的產品,能支撐起完整的項目流程。
先來看看企業研發管理的經典流程:
成功的項目都是相似的,失敗的項目卻各有各的原因。作為一款優秀的研發項目管理工具,我們接下來會持續為大家分享項目管理中的那些坑和國內外各類項目管理經驗,希望我們一起向陽生長!