如何成功管理一個軟體專案

  以科學的技術方法、融合現代的管理手段,將軟體專案的實施過程裡於一種規範化的管理之中是軟體專案監理所追求的目標。以下是小編為大家整理的關於,歡迎閱讀!

  成功管理軟體專案1:實行嚴格的產品控制。

  軟體開發過程中不應隨意改變需求,因為改變一項需求往往需要付出較高的代價;但是軟體開發過程中改變需求又在所難免,基於外部環境的變化而出現改變使用者需求的情況是一種客觀需要,而且迅速應對客戶的需求變更是顧客本位的內涵之一。在這種情況下,只能依靠科學的產品控制技術來順應這種要求。當改變需求時,為了保持軟體各個配置成分的一致性,必須實行嚴格的產品控制,其中主要是實行基準配置管理。所謂基準配置又稱基線配置,它們是經過階段評審後的軟體配置成分***各個階段產生的文件或程式程式碼***。基準配置管理也稱為變更控制:一切有關修改軟體的建議,特別是涉及到對基準配置的修改建議,都必須按照嚴格的規程進行評審,獲得批准以後才能實施修改。避免開發人員對軟體隨意進行修改。

  成功管理軟體專案2:分階段的生命週期計劃管理

  統計表明,不成功的軟體專案中約有一半左右源自計劃不周。本原則意味著,應該把軟體生命週期劃分成若干階段,相應地制定出切實可行的計劃,然後嚴格按照計劃對軟體的開發與維護工作進行管理。勃姆認為,在軟體的整個生命週期中應該制定並嚴格執行6類計劃,即專案概要計劃、里程碑計劃、專案控制計劃、產品控制計劃、驗證計劃、執行維護計劃。不同層次的管理人員必須嚴格按照計劃各盡其職地管理軟體開發與維護工作,絕不能受顧客或上級人員的影響而擅自背離預定計劃。

  成功管理軟體專案3:堅持進行階段評審。

  軟體的質量保證工作不能等到編碼階段結束之後再加以實施,其理由為:第一,大部分錯誤始於編碼之前;第二,錯誤的發現與修改時間越晚,需要付出的代價就越高。因此,本原則意味著,在軟體開發的每個階段應該進行嚴格的評審,以便儘早發現軟體開發過程中的錯誤。

  成功管理軟體專案4:結果應能清楚地審查。

  與其他有形產品不同,軟體是看不見摸不著的邏輯產品。軟體開發人員的工作進展情況可見性差,難以準確度量,從而使得軟體產品的開發過程比一般產品的開發過程更難以評價和管理。為了提高軟體開發過程的可見性,更好地進行管理,應該根據軟體開發專案的總目標及完成期限,規定開發組織的責任和產品標準,從而使得所得到的結果能夠清楚地審查。

  成功管理軟體專案5:開發小組的人員應該少而精。

  該原則意味著,軟體開發專案的組成人員的素質應該好,而人數則不宜過多。開發小組人員的素質和數量是影響軟體產品質量和開發效率的重要因素。素質高的人員的開發效率比素質低的人員的開發效率可能高几倍至幾十倍,而且素質高的人員所開發的軟體中的錯誤明顯少於素質低的人員所開發的軟體。此外,隨著開發小組人員數目的增加,因為交流問題而造成的溝通成本也急劇增加。因此,構建和維持少而精的開發團隊甚至標杆團隊是軟體工程的一條基本原理。

  成功管理軟體專案6:採用現代程式設計技術。

  從提出軟體工程的概念開始,人們一直把主要精力用於研究各種新的程式設計技術。從60年代末提出的結構程式設計技術到最近的面向物件技術,人們不斷創造先進的程式設計技術。實踐表明,採用先進的技術既可提高軟體開發的效率,又可提高軟體維護的效率。

  軟體專案成功的關鍵

  隨著客戶需求的變化,現在很多軟體企業的日子越來越不好過了,以前每籤一個專案就“樹立一座豐碑”,現在則陷入“每籤一個專案就樹立了一座墓碑”的尷尬境地,為什麼會這樣呢?根據我們輔導的企業情況來看,軟體專案關鍵問題在需求管理。需求管理是匯入型問題,如果需求都沒有搞清楚,跑的越快,死得越慘。

  第一:客戶對軟體的需求不明確

  由於很多軟體專案都是在需求朦朦朧朧的狀態下進行的,客戶自己也沒有搞清楚自己到底需要什麼,只是感覺現在的工作狀態不理想,想通過資訊化來改善一下,提高工作效率,具體怎麼設計、怎麼實施,沒有一個清晰的思路或者流程。

  軟體企業在接到專案需求之後,由於現在市場競爭非常激烈,很多企業甚至在不知道客戶需求什麼,我們能不能做的情況下,就滿口答應客戶所有需求,草草簽訂了合同,有的甚至連合同都沒有簽訂,直接開始做。

  第二:客戶對需求管理都不夠重視

  在客戶方面,很多客戶仗著自己是甲方的地位,也不重視對內部需求的管理,一會一個部門提出一個需求,一會另一個部門又提出一個需求,有的時候甚至不同部門的需求相互衝突相互矛盾。他們認為我們出錢了,你們就是要滿足我們的需求。這樣的心態不僅浪費了我們自己的資源,也浪費了乙方的資源。

  第三:軟體企業對需求管理都不夠重視,缺乏規劃化的需求管理流程

  有些軟體企業可能會覺得比較冤,說黃老師,我們非常重視客戶需求呀,難道說我們不重視需求管理嗎?

  首先,我們現在很多企業沒有規範化的需求管理流程。不知道如何科學收集客戶需求,如何整理需求,如何進行需求分析,哪些是使用者需求,哪些是功能系統,哪些是系統需求,哪些是業務需求?

  其次,沒有需求跟蹤文件的管理。可能很多企業都沒有完整的需求文件,那就更加談不上需求跟蹤與需求管理了。需求文件的管理是非常重要的,在專案進行過程中,客戶的需求可能會像擠牙膏似的慢慢一點一點出來,這個時候,我們要對客戶的需求進行記錄進行跟蹤,我們也會根據專案的進展狀況,對需求進行整理和回顧,這樣需求才能有據可查,如果沒有需求跟蹤文件,需求資訊必定會凌亂,不繫統,甚至會出現前後矛盾的情況。

  再次,沒有對需求進行優先順序劃分。很多企業對客戶提出的所有需求統統接收,沒有對客戶的需求進行優先順序劃分,哪些是緊急重要的需求,哪些是不緊急不重要的需求,哪些是確定的需求,哪些是不確定的需求。結果導致無論客戶提出什麼需求,都在第一時間進行響應,有的什麼還美其名曰:“我們是以客戶為中心”。這種不是以客戶為中心的做法,這種做法是鼓勵客戶犯錯誤,浪費企業資源。

  第四,沒有對客戶需求進行引導或者合理的拒絕。由於處於乙方的地位,很難對客戶的需求管理進行約束,因此,很多企業缺乏合理拒絕客戶不合理需求的勇氣和流程,有的時候甚至直到客戶提出的需求不合理,為了滿足“客戶需求”,還是要求研發人員及時響應。結果是鼓勵客戶肆無忌憚無視合理需求,提高研發人員的挫折感,延期專案進度。

  第四:缺乏需求變更管理流程,缺乏對需求變更的處罰機制

  由於軟體行業的需求收集和需求分析存在一定的困難,因此,很多企業就預設客戶需求一定會變化的現實。對需求變更採取放任的態度。

  我們承認,軟體行業的客戶需求確實很難把握和管理,如果我們不加以管理,那就更加難以管理了。因此,採取正確的需求變更管理可以有效提高軟體需求管理的精確度,減少需求變更的頻次。

  首先我們要從內部控制的角度來進行,公司內部要建立規範化的需求管理流程和變更管理流程,各個部門和相關負責同志要提高能力,正確引導客戶需求,合理攔截客戶不合理需求,提高對需求變更的認識,積累經驗,提高需求變更的準確率。

  其次,我們從客戶需求管理入手,幫助客戶建立規範化的需求管理流程,最後是客戶當面內部先對需求進行收集和整理,通過評審之後再發給軟體企業,這樣比較無效勞動,提高工作效率,避免專案進度延遲,利人利己。

  再次,加強對相關崗位需求變更管理的考核與激勵機制,針對造成重大損失的變更要進行處罰,對做的好的需求管理團隊進行獎勵。

  軟體專案的需求管理是匯入型問題,如果前面的需求管理沒有解決,後面的實施就很難進行,因此,軟體企業一定要提高“一次性把事情做對的能力”。如果前面的需求沒有了解清楚,後面將會花費更多的時間和成本。軟體企業如何提高需求管理水平呢?我們認為可以從以下幾個方面進行加強。

  提高對需求管理的認識。

  建立規範化的需求管理流程。***包括客戶的***

  建立需求跟蹤文件。

  對需求進行優先順序劃分。

  拒絕客戶不合理需求,學會引導客戶需求。

  建立需求變更管理流程,制定相應的獎勵和處罰機制。

  如果想在本行業進行長期耕耘的企業,還要加強對市場的研究和技術發展趨勢的研究,根據公司戰略定位和產品定位,選擇目標客戶群,對目標客戶群進行需求分析和識別,把客戶現在的需求,未來的需求按照BAS級別進行系統分析,結合技術的發展趨勢,這樣才能真正做到引導客戶需求.