如何解決軟件項目管理的困難
發布時間:2014/9/3 9:22:00
軟件項目管理的解決,涉及到系統工程學、統計學、心理學、社會學、經濟學,乃至法律等方面的問題。需要用到多方面的綜合知識,特別是要涉及到社會的因素、精神的因素、人的因素,比技術問題復雜得多。僅靠技術、工程或科研項目的效率、質量、成本和進度等問題很難得到較好的解決。必須結合工作條件、人員和社會環境等多種因素。因此,簡單地照搬國外的管理技術往往不一定奏效。此外,軟件項目管理技術的基礎是實踐,為取得軟件項目管理技術的成果必須反復實踐。很顯然,管理能夠帶來效率,能夠贏得時間,最終將在技術前進的道路上取得領先地位。在知識爆炸、高技術迅速發展的今天,必須在戰略級上對待技術管理問題。
一、軟件項目的特點
軟件產品與其他任何產業的產品不同,它是無形的,完全沒有物理屬性。對于這樣看不見,摸不著的產品,難以理解,難于架馭。但它確實是把思想、概念、算法、流程、組織、效率、優化等融合在一起了。因此,要開發這樣的產品,在許多情況下,用戶一開始給不出明確的想法,提不出確切的要求。他說不清究竟他需要的是什么。在開發的過程中,程序與其相關的文檔常常需要修改。在修改的過程中又可能產生新的問題,并且這些問題很可能在過了相當長的時間以后才會發現。文檔編制的工作量在整個項目研制過程中占有很大的比重。但從實踐中看出,人們對它不感興趣、認為是不得不做的苦差事,不愿認真地去做。因而直接影響了軟件的質量。軟件開發工作技術性很強,要求參加工作的人員具有一定的技術水平和實際工作的經驗。但事實上,人員的流動對工作的影響很大。離去的人員不但帶走了重要的信息,還帶走了工作經驗。
二、軟件項目管理的困難
1)智力密集,可見性差:軟件工程過程充滿了大量高強度的腦力勞動。軟件開發的成果是不可見的邏輯實體,軟件產品的質量難以用簡單的尺度加以度量。對于不深入掌握軟件知識或缺乏軟件開發實踐經驗的人員,是不可能領導做好軟件項目管理工作的。軟件開發任務完成得好也看不見,完成得不好有時也能制造假象,欺騙外行的領導。
2)單件生產:在特定機型上,利用特定硬件配置,由特定的系統軟件或支撐軟件的支持,形成了特定的開發環境。再加上軟件項目特定的目標,采用特定的開發方法、工具和語言,使得軟件具有獨一無二的特色,幾乎找不到與之完全相同的軟件產品。這種建立在內容、形式各異的基礎上的研制或生產方式,與其他領域中大規模現代化生產有著很大的差別,也自然會給軟件項目管理工作造成許多實際困難。
3)勞動密集,自動化程度低:軟件項目經歷的各個階段都滲透J,大量的手工勞動,這些勞動十分細致、復雜和容易出錯。盡管近年來開展了軟件工具和cAsE的研究,但總體來說,仍遠未達到自動化的程度。軟件產業所處的這一狀態,加上軟件的復雜性,使得軟件的開發和維護難以避免出錯,軟件的正確性難于保證,軟件產品質量的提高自然受到了很大的影響。
4)使用方法繁瑣,維護困難:用戶使用軟件需要掌握計算機的基本知識,或者接受專門的培訓,否則面對多種使用手冊、說明和繁瑣的操作步驟,學會使用要花費很大力氣。另一方面,如果遇到軟件運行出了問題,且沒有配備專職維護人員,又得不到開發部門及時的售后服務,軟件的使用者更是徒喚奈何。
5)軟件工作滲透了人的因素:為高質量地完成軟件項目,充分發掘人員的智力才能和創造精神,不僅要求軟件人員具有一定的技術水平和工作經驗,而且還要求他們具有良好的心理素質。軟件人員的情緒和他們的工作環境,對他們工作有很大的影響。與其他行業相比,它的這一特點十分突出,必須給予足夠的重視。
三、造成軟件失誤的原因
在總結和分析足夠數量失誤的軟件項目之后,看出其原因大多與軟件項目管理工作有關。
在軟件項目開始執行時,遇到的問題往往是可供利用的資料太少、項目負責人的責任不明確、項目的定義模糊、沒有計劃或計劃過分粗糙、資源要求未按時作出安排而落空、沒有明確規定子項目完成的標準、缺乏使用工具的知識、項目已有更動,但預算未隨之改變。
在軟件項目執行的過程中可能會發生的問題是項目審查只注意瑣事而走過場、人員變動造成對工作的干擾、項目進行情況未能定期匯報、對階段評審和評審中發現的問題如何處置未作出明確規定、資源要求并不像原來預計的那樣大、未能做到嚴格遵循需求說明書、項目管理人員不足。
項目進行到最后階段可能會發生的問題是未做質量評價、取得的知識和經驗很少交流、未對人員工作情況做出評定、未做嚴格的移交、擴充性建議未寫入文檔資料。
總之,問題涉及到軟件項目研制中的計劃制定、進度估計、資源使用、人員配備、組織機構和管理方法等軟件項目管理的許多側面。(項目管理者聯盟)
更多內容敬請訪問:http://mfeineon.cn/active38.html