摘 要:軟件研發是一項看似簡單實則復雜的系統工程,研發過程中會牽涉到方方面面,會經常發現各種問題,問題解決不好的話,軟件研發就可能面臨失敗。為了規范研發人員的日常工作,讓每個研發人員按制定好的規范保質保量地完成自己的份內工作,使軟件研發項目能夠按照預定的生產進度、生產質量、研發成本順利完成,從而對研發人員、生產進度、生產質量、研發成本、研發風險等進行分析和管理,這就是軟件研發項目管理的意義。
關鍵詞:項目管理 軟件研發 風險管理
隨著科學技術的高速發展和市場需求的不斷擴大,軟件研發的需求也越來越多,個人或少數人合作研發的方式已經很難適應未來發展的需要。各軟件研發企業為了更好地對軟件研發進行有效地管理,都積極將項目管理的思路引入到企業的軟件研發中。從理論上講,軟件研發項目管理就是對研發人員、生產進度、生產質量、研發成本、研發風險等進行分析和管理,從而達到項目能夠按照預定的生產進度、生產質量、研發成本順利完成的活動。然而實際上,軟件研發項目管理的意義不僅如此,我們進行軟件研發項目管理是為了將單個研發人員或者少數人的個體研發能力整合成一個單位的綜合研發能力,一個單位的綜合研發能力越強,才能使單位的軟件生產趨于成熟,單位的發展才能越趨于穩定,從而達到減小軟件研發風險的目的。同時,隨著一個單位軟件研發規模的越來越大和研發人員隊伍數量的逐漸增大,軟件研發不再是個人或少數研發人員能解決的事情。迫切需要制定各種軟件研發規范來規范所有研發人員的日常工作,每個研發人員按制定好的規范保質保量地完成自己的份內工作。同時通過規范化的管理,可降低對研發人員的素質要求,從而達到降低軟件研發成本。
軟件研發是一項看似簡單實則復雜的系統工程,研發過程中會牽涉到方方面面,會經常發現各種問題,問題解決不好的話,軟件研發就可能面臨失敗。如何科學分析軟件研發失敗的原因,得出真正有價值的啟示,對一個軟件研發單位來說,是在今后的研發項目中少走彎路、獲得成功的關鍵。
當前,軟件研發正逐步變得復雜多樣,絕大多數軟件研發單位都會存在同一軟件不同版本、開發和維護并存、異地同時研發等情況,這給軟件研發的管理帶來了前所未有的挑戰。如果在研發過程中管理不善,勢必造成管理混亂,研發人員之間的工作互相干擾、沖突和交叉,這樣就會使研發團隊的工作混亂,將嚴重影響軟件研發的生產進度和質量。
因此,隨著隨著技術水平的不斷進步、軟件研發的不斷深入以及軟件產業的擴大,人們逐漸意識到對軟件研發過程進行管理的重要性,逐步將項目管理的思想應用到軟件研發過程中,這樣便于對軟件研發項目進行資源管理、成本核算、進度管理等。
當前,軟件研發過程中,常常會出現這樣的現象:有時為了趕進度,在較短的時間內就研發出一套產品,但由于研發時間短,測試不夠,投入運行后問題不斷,后期程序只能是一改再改,程序試運行時間有時長達一兩年,給后期維護帶來了很大困難;有時在初期目標不明確的情況下就匆忙上馬,導致后期拖延很長時間,甚至無法完成設計,導致項目失敗。從軟件研發項目管理的角度來看,出現這些問題的主要原因有以下幾種:
一是缺乏項目管理知識的培訓。項目管理就是以項目為對象的系統管理方法,通過一個臨時性的、專門的柔性組織,對項目進行高效率的計劃、組織、指導的控制,以實現項目全過程的動態管理和項目目標的綜合協調與優化。項目管理的核心特征就是優化組合、動態管理。如果項目組成員不了解項目管理的知識體系,那么在實際工作中就只能依靠個人的能力,那樣工作就會很隨意,軟件研發的過程就很難控制,軟件研發的目標就難以實現。
二是項目計劃意識問題。一個成功的項目計劃,離不開對項目范圍的定義和規劃,并根據項目可用資源和費用,制定費用管理計劃、進度管理計劃等項目分項計劃。在項目計劃執行過程中可根據實際情況提出變更請求,然后再修改項目計劃。如果項目負責人總認為項目實施過程中不確定因素較多,一切都要根據當時的情況再確定,主計劃、階段計劃的制定都流于形式,計劃就會得不到有效執行,項目計劃與項目實際執行就會嚴重脫節,項目的正常進度就得不到有效控制。
三是管理意識問題。項目負責人對整個軟件研發項目負責,他不僅要負責具體的技術工作,而且要擔負管理者的角色,從總體上對項目進行目標與范圍描述、重大里程碑計劃、組織設計、工作分解、責任分配、資源計劃、費用分解、網絡計劃圖繪制、成本累計曲線繪制、風險管理、進展狀態控制、項目總結以及移交、項目后評價等。如果項目負責人不能從總體上把握整個項目,而是埋頭于具體事務工作,勢必會造成項目組成員任務不均,影響項目的順利進行。對于一些技術好卻不太服管理的技術人員缺乏有效的管理手段,不能充分調動這些人的積極性。另外由于工作分解結構設計的不合理,項目分項任務不能合理高效地分配給項目組成員,達不到任務的“負載均衡”。
四是溝通意識問題。成功項目管理的目標是“利益相關者的滿意”,利益相關者就是參加和可能影響項目工作的所有個人和組織?,F實情況是有些項目在研制過程中對利益相關人缺乏清醒的定位,不能識別利益相關人及其利益。項目研制過程中,項目研發人員與客戶溝通不夠,對客戶的需求了解不深,也不能認真聽取客戶的意見,對于軟件需求說明不夠細化,項目開始后,就會出現更改需求,造成項目范圍的蔓延,生產進度無法控制,最后成本增加,甚至造成不必要的損失。有些項目負責人在制定總體方案、項目計劃和階段計劃時與項目組成員溝通不夠,對于技術人員的意見不能引起足夠的重視,對于項目研制過程中的信息反饋、情況通報不能及時通報到項目組成員,成員之間、成員與負責人之間溝通不足,造成各做各事、重復勞動。
五是風險管理意識問題。凡事預則立,不預則廢。任何項目都存在風險,在項目研制過程中,項目負責人應充分考慮到項目潛在的風險,進行風險評估,制定相應的風險防范措施,最大限度地減少風險的發生。當前,我們有些項目負責人認為軟件研發項目只要需求明確,不會存在風險或者風險不大,所以不能充分意識到風險管理的重要性,對于計劃書中風險管理,不采取科學的風險評估方法進行評估,而是簡單應付了事,隨便列出幾個經常存在的風險,再隨便找一些對策,對于真正軟件項目研制過程的風險起不到任何防范作用。
六是不重視項目后評價。項目后評價是指對已完成的項目的目的、執行過程、效益、作用和影響所進行的系統的、客觀的分析,通過項目活動實踐的檢查總結,確定項目預期的目標是否達到,項目是否合理有效,項目的主要效益指標是否實現,通過分析評價找出成功失敗的原因,總結經驗教訓,通過及時有效的信息反饋,為未來新項目的決策和提高完善投資決策管理水平提出建議,同時也為后評價項目實施運營中出現的問題提供改進意見,從而達到提高投資效益的目的。而現實情況是,總體對項目后評價的重視程度不夠,有些是項目后評價一再拖延,有些只是為了應付差事,象征性地交上來,報告質量差。
針對當前軟件項目存在的主要問題,我們可以采取以下措施來解決。
一是加強項目管理知識的培訓。通過對全體員工進行項目管理知識的系統培訓,使得全體員工能夠樹立以項目為中心的管理理念。在市場經濟條件下,軟件研發企業在發展過程中需要不斷開辟新的領域,需要大量的項目支持,從發達國家成功企業發展的歷程來看,以項目為單元的創新活動在各類企業發展中處于戰略地位。企業發展過程中對項目的運作與管理能力,已成為現代企業核心競爭力的最直接體現。項目管理是面對變化與不確定,提高企業競爭力與促進企業發展的關鍵,是成功的關鍵。其所帶來的利益要遠大于常規經營與日常工作。是一門共性方法,可應用于各個領域。眾多成功企業的發展實踐表明,以項目為中心是提高競爭力最為有效的途徑,接受系統的項目管理知識培訓是非常必要的。
二是提高計劃意識。科學合理的項目計劃是項目研制的基本遵循,工作分解結構(WBS)是項目計劃工作的一個中心環節,也是一個項目的總體骨架,任何項目的全面計劃都必須首先從WBS開始,通過它為項目必須完成的具體任務提供一個詳細的描述,形成實施項目、形成產品或服務所必須進行的全部活動的清單。其主要原理是將項目對象按照其內在結構或實施過程的順序,按照可以控制和交付的原則,直至分解成可以充分控制的項目進度、成本、質量的程度。對項目進行分解的過程,也是明確組織結構之間、項目各層的地位與聯系的一個過程。因此計劃的制定需要在一定條件的限制和假設之下采用漸近明細的方式進行不斷完善。提高項目負責人的計劃意識,采用項目計劃制定相關各種知識、技術、工具,加強對開發計劃、階段計劃的有效性進行事前事后的評估。
三是加強項目組織與人力資源管理。項目組織和人力資源是最基本、最重要、最具創造性的資源,是影響項目成功的決定性因素。由于軟件研發項目本身具有的特殊性,使得項目的組織形式具有更大的靈活性,項目負責人應當對項目成員的責任進行合理的分配并清楚地說明,同時應強調不同分工、不同環節的成員應當相互協作,共同完善。項目的目的就是實現項目利益相關者的需求和愿望,所以從項目的啟動開始,項目負責人及項目組成員就要分清項目利益相關者包含哪些人和組織,通過溝通協調對他們施加影響,驅動他們對項目的支持,調查并明確他們的需求和愿望,減小其對項目的阻力,以確保項目獲得成功。
四是加強溝通與沖突管理。在項目的研制過程中,項目計劃幾乎是產生沖突最主要的因素,由于在項目組織中所處的位置不同,項目負責人和團隊成員從對項目目標的理解到項目的實際產出都會產生分歧,特別是當項目采用新技術或需要技術創新時,沖突便隨技術的不確定性相伴而來。這些都是正常的事情,關鍵是如何將組織目標和個人目標有機統一起來,這應該引起項目負責人的高度重視。所以在軟件項目研制過程中,要制定有效的溝通制度和溝通機制,加強項目組與客戶、項目組內部成員之間的溝通,搞好團結協作,工作中相互支持,相互補臺,做到分工不分家。項目管理上最大的事莫過于大家齊心協力把項目搞上去,把效益拿回來。不要在一些小事上斤斤計較,分散精力,要做到在大事上統一思想、統—意志和行動。對于意見不統一的問題可經過充分論證、分析、驗證,找出正確的答案。
五是加強項目風險管理。風險是人們無法對未來結果進行準確預測而造成的實際情況與主觀預測之間的差異,這種差異不僅能帶來損失,還能帶來獲利的機會。風險是項目所固有的,不可能消除所有的風險。無論怎么計劃都不能克服所有風險。項目風險事件典型地會對項目進度、成本和質量等的目標產生負面影響。加強風險管理就是通過積極主動而系統地對項目風險進行全過程的識別、評估及監控,以達到將正面的計劃最大化,將負面的影響最小化的目的。
以上針對軟件研發項目中出現的問題分析研究還不夠深入,也無法列舉出在研制過程中出現的所有問題,解決措施也不是一層不變的,要具體問題具體分析。
參考文獻:
[1]戴大雙 .現代項目管理[J].高等教育出版社,2006.
[2]劉伊生,王要武 .工程項目進度計劃與控制[J].中國建筑工業出版社,2010.
[3]馮亞舟.工程項目進度管理存在的問題及對策研究[J].經營管理者,2014(12).
作者簡介:徐才云;裝甲兵學院模擬訓練中心主任。