軟體專案失敗的五大原因

2022-03-16 05:44:01 字數 1751 閱讀 6005

現狀

美國的研究者分析了大量軟體開發專案的資料之後,告訴我們,任何時候這個世界上都有超過50%的軟體開發專案正在步向失敗。實際上我記憶中最近看到的確切資料是73%的專案最後都是失敗的,失敗意味著最終提交的系統要麼在滿足市場需求上已經失效,要麼在時間和金錢投入上都大大超過了最初的預計,這還沒有包括由於某些原因而被迫中止的專案。

連軟體開發領域處於世界最前沿的美國都如此,其它地方的情況可想而知;也許這正是為什麼軟體開發專案管理會成為一門專門的學問之原因。

原因

言歸正傳,也許我們可以從他人的教訓中吸取一些經驗教訓,以下幾點原因是在一些軟體工程著作中經常被提起的專案失敗原因,它們大多都在我的工作經驗中得到驗證,在此分享給各位,以此作為警戒:

《最後期限》這本書,也許是專案干係人都應該看看的書,書裡面對這條導致專案失敗的原因進行了淋漓盡致的刻畫和描寫,遺憾的是這類專案依然隨處可見。幾乎在每本介紹軟體開發的書中,作者都能舉出失敗的例子來證明由外界壓力強加在開發團隊頭上的deadline會對專案造成什麼樣的傷害,也許在商界,指定乙個最後期限是打不破的定律。

制定deadline本身沒有錯,也是必要的,關鍵在於deadline是否切合實際,切合實際的deadline不是他人憑空捏造出來的,應該是開發團隊經過仔細評估之後做出的承諾。

這一條也幾乎是每本講軟體開發專案管理的書必提到的內容,包括了很多種情況:比如人手配備不夠,人員配置混亂,指定了不合適的專案經理,在關鍵時刻加入人手卻指望他們能夠立刻發揮作用,etc.

軟體開發最經典的2本著作《人件》和《人月神話》早就告訴我們,「人-people」才是軟體開發裡面最關鍵的因素,而很多決策者卻喜歡一定程度上忽略這個事實,這個也沒什麼好說的,我最近的一條體會是:你用什麼樣的人去做這個事情,往往已經決定了你會取得什麼樣的結果,能否取得事先設想的結果,取決於完成工作的「人」以及他們之間的互動關係。

需求管理已經成了專案管理的必修課之一,這個沒什麼好質疑的,乙個專案存在的理由就是為了滿足某種需求;

這裡要強調的是,需求的隨意更改,對專案必然會造成不好的影響,來自客戶的需求如果隨意發生變化,軟體的設計和實現就要不斷地被改動,這是需要時間和金錢代價的;來自開發團隊自身的需求更改,可以造成更大的問題,即提交出來的東西是客戶不需要的。

需求不是不能更改,是不要隨意更改,要在控制下更改,或者是有乙個良好的變更程式來需求的變化不會對專案造成破壞性的影響。

如果迫於某種壓力生產了乙個低質量的軟體產品,後期的處理客戶投訴、改錯、測試等工作會蠶食掉你獲得的利潤,會讓你付出更大的代價;已經有很多很多軟體公司在這點上倒下了,以後還會有很多很多的後來人繼續栽跟頭;

讓我想起了一句話「惡有惡報,善有善報,不是不報,時間未到」。在開發階段,若縮減了必要的質量保證工作,就好像欠下了一筆債,遲早是要還的,買單者可能會是不同的人,但必然還是這同乙個公司;在一開始就把質量保證好是成本最低的做法,修復同乙個缺陷,越到後面就越需要付出更多的代價。

自然界可能是真的有奇蹟,我們應該相信;然而聚集一群人一起做軟體開發這件事情上,有的只是人們的付出產生的結果,連「銀彈」都不會有,怎麼會有奇蹟呢?然而依然有不少人「相信」有奇蹟:譬如期望在混亂無序的團隊中產出高質量的成果;期望在不可能實現的交付日成功交付產品;比如希望在沒有質量控制措施的情況下得到很高質量的產品;

在軟體產品開發這件事情上,真的是一分耕耘,一分收穫,不存在所謂的奇蹟,需求分析的時候沒有對需求進行良好的管理,最終提交的時候客戶一定會提出問題;設計的時候沒有考慮效能問題,測試時你必將遇到效能上的限制;實現乙個功能的時候沒有做好質量控制,最終整合的時候一定會暴漏很多缺陷;所以只有報著踏踏實實的態度才是成功完成專案的王道。

專案管理失敗的五大原因

專案管理失敗的五大原因 1 依據少得可憐得專案資訊進行至上而下的計畫 專案計畫的責任始終都是每次研討會的熱點討論話題。這裡似乎達成了乙個共識,就是似乎個體就能夠計畫專案,設定最後期限,建立預算而不需要或很少需要前線人員的輸入。很多人忘記了高層管理通常是哪些控制和了解資源的個體,正如他們控制和了解組織...

失敗應聘的五大原因

首先列出應聘者不被僱傭的五大理由 1.簡歷過長 簡歷上應該用最簡潔的文本來表述你的成就。如果你無法用一句話把它描述清楚,那在今後的工作過程中,我豈不是要經常收到你雜亂無章的郵件?乙份成功的簡歷應該盡量貼合我所發布的招聘資訊。例如招聘資訊中要求具有 windows管理員 經驗,那你在簡歷中至少應該有一...

失敗應聘的五大原因

1.簡歷過長 簡歷上應該用最簡潔的文本來表述你的成就。如果你無法用一句話把它描述清楚,那在今後的工作過程中,我豈不是要經常收到你雜亂無章的郵件?乙份成功的簡歷應該盡量貼合我所發布的招聘資訊。例如招聘資訊中要求具有 windows管理員 經驗,那你在簡歷中至少應該有一項是介紹你在哪個專案中成功地使用了...