軟件工程之美42講——反面案例:盤點那些失敗的軟件項目

軟件工程之美42講——反面案例:盤點那些失敗的軟件項目

什麼樣的軟件項目算是失敗的項目?

  • 沒能按時交付。
  • 成本超出預算。
  • Bug 太多,無法按照當初的設計正常運行。
  • 產品沒有得到市場認可,沒有人使用。
  • 產品偏移了最初的目標。項目出資方不滿意。

軟件項目失敗的原因

外部環境
分析軟件項目失敗原因,也可以首先看看外部環境。如果你去看看歷史上那些有名的失敗的項目案例,其中政府主導的項目佔大多數,而且通常主要因素不是成本,而是各種政治因素導致的不切實際的項目進度,或者是頻繁變更的需求,從而嚴重的影響了成本和質量。而對於商業軟件項目,很多是由於縮減成本導致的。因爲商業競爭的大環境,企業爲了節約成本,總是希望用更少的人做更多的事情。還有一些常見的場景就是在一個項目開始之前,銷售爲了拿下項目,通常會過度誇大項目的成果,而又會相應的壓縮項目預算、時間,並且也可能低估了技術實現的難度,最終項目要開發的時候,開發人員才發現根本無法如期完成當初承諾的項目目標,最終導致項目失敗。
技術管理
在調查飛機失事原因時,調查完外部環境,還要分析是不是飛機本身設計原因導致的,比如前不久的波音 737 MAX 飛機事故,就是因爲軟件故障導致的。類似的,分析軟件項目失敗原因,也一樣要去分析技術管理上的問題,很多軟件項目失敗的原因也是技術原因導致的。比如說在項目中使用了不成熟或不熟悉的技術,最終導致技術不可控,或者浪費大量的時間在技術的學習上。項目的規模也會導致技術複雜度直線上升,想象一下,做一個普通的個人網站和做一個淘寶這樣的網站,複雜度不可同日而語。通常越大的項目,技術越複雜,需要考慮各種軟件硬件的交互,服務之間的耦合。也就是說,項目規模越大,失敗的概率也更大。
項目管理
調查飛機失事,飛行員是重點調查對象,因爲飛行員直接決定了飛機是否能安全行駛。對於軟件項目來說,項目經理在軟件項目中起着至關重要的作用。很多項目失敗不是因爲外部環境導致的,也不是技術原因,而是因爲糟糕的項目管理。在一個軟件項目中,項目經理掌握了資源的分配,還要制定項目的計劃,對任務進行分配,組織分工協作,管理風險,項目成員的日常溝通等等。而這些決策通常很難量化,需要基於當時的情況進行權衡,一旦這些決策出現大的失誤,就會導致項目的失敗。
組織文化
在飛機失事後,調查人員調查的最後一個領域就是所屬航空公司的文化環境,看航空公司是不是足夠重視安全。在軟件項目中,一個開放、平等、注重溝通協作的團隊或組織更容易及早發現和解決問題。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章