歡
與其他行業(yè)項目相比,軟件行業(yè)很難確定項目失敗的最終根源。不過,通過分析IT項目失敗報告,一些常見的罪魁禍首可見一斑。隨著IT現(xiàn)在已然成為了公認的增長速度最快的產(chǎn)業(yè)之一,相關(guān)的各種需要進行完善和優(yōu)化的項目也越來越多。雖然導致每個項目失敗的根本原因不盡相同,但是大多數(shù)我們可以歸結(jié)為這三方面原因:可憐的預算、缺乏溝通和透明、不能適應變化和重新定向。
1、可憐的預算
俗話說,錢不是萬能的,但是沒有錢是萬萬不能的。錢在項目走向成功還是失敗上面起著巨大的作用。即使是最精明的企業(yè)家和IT管理人員也都有因為資金的原因而導致項目失敗的時候。
初創(chuàng)企業(yè),大多資金有限,特別是在他們的發(fā)展早期。雖然一些初創(chuàng)企業(yè)可能會有一些財政援助,但是支持其整個開發(fā)過程所需要的資金還是很有限的,因為大多數(shù)風險投資者只有當你差不多能拿出成果——接近于成品的應用程序——的時候才會投給你大筆資金。
所以大多數(shù)初創(chuàng)企業(yè)只能選擇怎么省錢怎么來。但是這可能不但會是最大的錯誤,也可能是最昂貴的。因為廉價所以很有可能會導致軟件質(zhì)量很差,而一個應用程序的根本在于能執(zhí)行任務和操作,處理大量的請求,并且具備進一步擴展和開發(fā)的能力。
所以,如果代碼的質(zhì)量太差,很有可能前面所做的一切努力都會付之東流。即便是要將項目轉(zhuǎn)移給另一個開發(fā)團隊,用在修復代碼庫上面的時間也會大大影響預算。
另一個與預算有關(guān)的失敗原因,與其說是因為缺乏資金,還不如說是因為沒有正確地管理和使用資金。哪怕一家初創(chuàng)企業(yè)用于開發(fā)應用程序的資金遠遠超過所需要的資金額度,如果不能妥善管理,馬上就會有捉襟見肘的困窘。
資金管理不善背后最普遍的原因是因為付款方式,通常被稱為固定投標(Fixed Bid)。順便說一句,在一個固定價格的基礎(chǔ)上構(gòu)建自己的應用程序,那你實際上就是自己將促成項目成功最關(guān)鍵的要素給拋棄了。
這種固定投標模式會破壞客戶和開發(fā)人員之間透明和諧的溝通,原因是雙方的目標是不一樣的——開發(fā)人員想要盡快地做出產(chǎn)品,而客戶想要以此收獲更大的效益。
此外,這種固定投標模式也讓人很難確切掌握這些錢到底是怎么用掉的,用到了哪里,因為它將項目直接看做一個整體,而沒有了一個一個步驟。
2、缺乏溝通和透明
擁有一個開放的溝通渠道以便于全程規(guī)劃、開發(fā)和部署的重要性,可謂是再怎么強調(diào)也不為過,原因是因為這是一個項目失敗最直接也是最快的方式之一。眾所周知,只有客戶和開發(fā)人員緊密合作,才能保證客戶的想法和要求可以明確地傳達給開發(fā)團隊。
缺少客戶的參與可能會導致開發(fā)出來的應用程序與客戶原本的初衷全然不同。這樣一個不能滿足客戶需求的產(chǎn)品,又會怎么被認可是成功的呢?
3、不能適應變化和重構(gòu)
事物總是在不斷變化的,關(guān)于這一點,我想軟件開發(fā)人員最是深有體會了。在軟件開發(fā)過程中,出現(xiàn)變化和重構(gòu)已經(jīng)成為一種常態(tài)——無論是強迫的還是有意為之的。
一個軟件開發(fā)團隊適應項目改變的能力主要依賴于項目管理方法。在軟件開發(fā)中最常見的兩種模式是敏捷開發(fā)和瀑布開發(fā)(較為傳統(tǒng))。敏捷開發(fā)方法在結(jié)構(gòu)上較為靈活,允許并鼓勵軟件變化和重定向。而瀑布開發(fā)方法則是線性的,并不允許項目在開發(fā)時發(fā)生任何變化——這個階段完成后就進入下一個階段,并且不允許恢復到以前的任何階段。
在構(gòu)建應用程序時,問題和障礙是其不可避免的組成部分,但是何嘗不是發(fā)現(xiàn)新捷徑
的方式。變化和重構(gòu)對于軟件而言并不總是負面的。條條大道通羅馬,構(gòu)建軟件也有很多方式,在我們解決問題的過程中,往往會突然靈機一動想出實現(xiàn)目標的新思路和新方法。