軟體開發專案失敗的3個原因

2015-01-14    分類:程式設計師人生、首頁精華1人評論發表於2015-01-14

本文由碼農網 – 小峰原創翻譯,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃

根據Standish Group釋出的2013年統計資料我們可以發現,在2012年只有39%的IT專案取得了成功。

隨著IT現在已然成為了公認的增長速度最快的產業之一,相關的各種需要進行完善和優化的專案也越來越多。與其他行業專案相比,軟體行業很難確定專案失敗的最終根源。不過,通過分析IT專案失敗報告,一些常見的罪魁禍首可見一斑。

雖然導致每個專案失敗的根本原因不盡相同,但是大多數我們可以歸結為這三方面原因:可憐的預算、缺乏溝通和透明、不能適應變化和重新定向。

可憐的預算

俗話說,錢不是萬能的,但是沒有錢是萬萬不能的。錢在專案走向成功還是失敗上面起著巨大的作用。即使是最精明的企業家和IT管理人員也都有因為資金的原因而導致專案失敗的時候。

初創企業,大多資金有限,特別是在他們的發展早期。雖然一些初創企業可能會有一些財政援助,但是支援其整個開發過程所需要的資金還是很有限的,因為大多數風險投資者只有當你差不多能拿出成果——接近於成品的應用程式——的時候才會投給你大筆資金。

所以大多數初創企業只能選擇怎麼省錢怎麼來。但是這可能不但會是最大的錯誤,也可能是最昂貴的。因為廉價所以很有可能會導致軟體質量很差,而一個應用程式的根本在於能執行任務和操作,處理大量的請求,並且具備進一步擴充套件和開發的能力。

所以,如果程式碼的質量太差,很有可能前面所做的一切努力都會付之東流。即便是要將專案轉移給另一個開發團隊,用在修復程式碼庫上面的時間也會大大影響預算。

另一個與預算有關的失敗原因,與其說是因為缺乏資金,還不如說是因為沒有正確地管理和使用資金。哪怕一家初創企業用於開發應用程式的資金遠遠超過所需要的資金額度,如果不能妥善管理,馬上就會有捉襟見肘的困窘。

資金管理不善背後最普遍的原因是因為付款方式,通常被稱為固定投標(Fixed Bid)。順便說一句,在一個固定價格的基礎上構建自己的應用程式,那你實際上就是自己將促成專案成功最關鍵的要素給拋棄了。

這種固定投標模式會破壞客戶和開發人員之間透明和諧的溝通,原因是雙方的目標是不一樣的——開發人員想要儘快地做出產品,而客戶想要以此收穫更大的效益。

此外,這種固定投標模式也讓人很難確切掌握這些錢到底是怎麼用掉的,用到了哪裡,因為它將專案直接看做一個整體,而沒有了一個一個步驟。

缺乏溝通和透明

擁有一個開放的溝通渠道以便於全程規劃、開發和部署的重要性,可謂是再怎麼強調也不為過,原因是因為這是一個專案失敗最直接也是最快的方式之一。眾所周知,只有客戶和開發人員緊密合作,才能保證客戶的想法和要求可以明確地傳達給開發團隊。

缺少客戶的參與可能會導致開發出來的應用程式與客戶原本的初衷全然不同。這樣一個不能滿足客戶需求的產品,又會怎麼被認可是成功的呢?

不能適應變化和重構

事物總是在不斷變化的,關於這一點,我想軟體開發人員最是深有體會了。在軟體開發過程中,出現變化和重構已經成為一種常態——無論是強迫的還是有意為之的。

在構建應用程式時,問題和障礙是其不可避免的組成部分,但是何嘗不是發現新捷徑的方式。變化和重構對於軟體而言並不總是負面的。條條大道通羅馬,構建軟體也有很多方式,在我們解決問題的過程中,往往會突然靈機一動想出實現目標的新思路和新方法。

一個軟體開發團隊適應專案改變的能力主要依賴於專案管理方法。在軟體開發中最常見的兩種模式是敏捷開發和瀑布開發(較為傳統)。敏捷開發方法在結構上較為靈活,允許並鼓勵軟體變化和重定向。而瀑布開發方法則是線性的,並不允許專案在開發時發生任何變化——這個階段完成後就進入下一個階段,並且不允許恢復到以前的任何階段。

譯文連結:http://www.codeceo.com/article/3-reason-project-fail.html
英文原文:3 REASONS WHY SOFTWARE DEVELOPMENT PROJECTS FAIL
翻譯作者:碼農網 – 小峰
轉載必須在正文中標註並保留原文連結、譯文連結和譯者等資訊。]

相關文章