軟件開發(fā)是一項復(fù)雜的系統(tǒng)工程,牽涉到各方面的因素,實際工作中,經(jīng)常會出現(xiàn)各種各樣的問題,甚至面臨失敗。如何總結(jié)、分析失敗的原因,得出有益的教訓(xùn),對一個公司來說,是在今后的項目中取得成功的關(guān)鍵。
需求內(nèi)容不明確,把握不充分
這是我們經(jīng)常遇到的問題。一方面,由于客戶(需求方)IT知識缺乏,一開始自己也不知道要開發(fā)什么樣的系統(tǒng),或者懶于系統(tǒng)地整理出來,經(jīng)常是走一步算一步,不斷地提出和更改需求,使得實現(xiàn)方叫苦連天。另一方面,實現(xiàn)方由于行業(yè)知識的缺乏和設(shè)計人員水平的低下,不能完全理解客戶的需求說明,而又沒有加以嚴格的確認,經(jīng)常是以想當(dāng)然的方法進行系統(tǒng)設(shè)計,結(jié)果是推倒重來。因此,需求分析必須注重雙方理解和認識的一致,逐項逐條地進行確認。
工數(shù)估算過少
軟件開發(fā)的工數(shù)估算是一項很重要的工作,必須綜合開發(fā)的階段、人員的生產(chǎn)率、工作的復(fù)雜程度、歷史經(jīng)驗等因素,將一些定性的內(nèi)容定量化。對工數(shù)的重要性認識不足,經(jīng)常用拍腦袋的方式草算,是最常見的問題。還有,軟件開發(fā)經(jīng)常會出現(xiàn)一些平時不可見的工作量,如人員的培訓(xùn)時間、各個開發(fā)階段的評審時間等,經(jīng)驗不足的項目經(jīng)理經(jīng)常會遺漏。同時,還有如下一些原因也是很典型的:
(1)出于客戶和公司上層的壓力在工數(shù)估算上予以妥協(xié)。例如,客戶威脅要用工數(shù)更少的開發(fā)商,公司因經(jīng)營困難必須削減費用、縮短工期,最后只能妥協(xié),寄希望于員工加班。
(2)設(shè)計者過于自信或出于自尊心問題,對一些技術(shù)問題不夠重視,或者擔(dān)心估算多被嘲笑。
(3)過分憑經(jīng)驗。由于有過去的成功經(jīng)驗,沒有具體分析就認為這次項目估計也差不多,而沒有想到這次項目可能規(guī)模更大、項目組成員更多、素質(zhì)各異、新員工很多,而且是一個新的行業(yè)。
項目組織過小
每個公司都希望以最少的成本完成項目,人手不足是大多數(shù)項目都會面臨的問題。還有一種情況是項目組成員的技術(shù)水平達不到項目的要求,公司只能提供這些分配好的技術(shù)人員,或者由于項目經(jīng)理的失誤,在項目工數(shù)估算時沒有明確要求技術(shù)水平,寄希望于員工自己努力。還有一些項目經(jīng)理認為,在項目啟動時不需要高水平的技術(shù)人員。
開發(fā)計劃不充分
沒有良好的開發(fā)計劃和開發(fā)目標(biāo),項目的成功就無從談起。開發(fā)計劃太粗略,主要反映在以下幾個方面:
(1)工作分擔(dān)(責(zé)任范圍)不明確,工作分割結(jié)構(gòu)(WBS)與項目組織結(jié)構(gòu)不明確或者不相對應(yīng),各成員之間的接口不明確,導(dǎo)致有一些工作根本無人負責(zé)。
(2)每個開發(fā)階段的提交結(jié)果定義不明確,中間結(jié)果是否已經(jīng)完成,完成了多少模糊不清,結(jié)果是到了項目后期堆積了大量工作。
(3)開發(fā)計劃沒有指定里程碑或檢查點,也沒有規(guī)定設(shè)計評審期。
(4)開發(fā)計劃沒有規(guī)定進度管理方法和職責(zé),導(dǎo)致無法正常進行進度管理。
設(shè)計能力不足
項目組設(shè)計人員能力的低下是項目失敗的原因之一。一方面,由于對技術(shù)問題的難度未能正確評價,將設(shè)計任務(wù)交給了與要求水平不相稱的人員,造成設(shè)計結(jié)果無法實現(xiàn)。另一方面,隨著資源外包現(xiàn)象的日益普遍,一些公司經(jīng)常因工期緊而匆忙將中標(biāo)的項目部分轉(zhuǎn)包給其他協(xié)作公司,這些公司的設(shè)計能力如不加仔細評價,就會對整個項目造成影響。
項目經(jīng)理的管理能力不足
沒有及時把握進度。項目經(jīng)理自己也不知道項目的狀態(tài),下屬人員報喜不報憂,害怕報告問題后給自己添麻煩。進度管理必須隨時收集有關(guān)項目管理的數(shù)據(jù),開發(fā)人員總是擔(dān)心管理工作會增加自己的工作量,不愿配合。管理人員甚至不知道應(yīng)該收集哪些數(shù)據(jù)。
由于沒有進行定期的項目評審報告會,表面上進展順利而實際上隱藏著危機。管理人員總是輕信下屬的報告而沒有加以核實。
出現(xiàn)嚴重問題時,管理人員沒有根據(jù)現(xiàn)階段狀況重新評價需求分析結(jié)果、工數(shù)估算、設(shè)計結(jié)果等就匆忙采取頭痛醫(yī)頭、腳痛醫(yī)腳的措施,致使問題更嚴重。
以上談到了項目失敗的幾方面原因,實際上還有很多原因,很難一一列舉。在這里我們沒有篇幅提出如何避免這些問題的對策,但是通過這些原因的列舉,希望能激起讀者的共鳴。
【?發(fā)表評論?0條?】