為什麼大型專案會失敗?

2021-08-30 22:59:30 字數 880 閱讀 9318

為什麼大型專案會失敗?這個問題困擾了許多軟體開發者和軟體公司很多年。

首先何為大型專案,有一種觀點就是超過了10000行有效**的就可以稱作為專案,而超過100000行**的專案就可以稱作大型專案了。另一種觀點是認為,超過500個人月的專案就可以認為大型專案了。更有甚者,大型專案基本上不用人月來計算,直接用人年來計算,超大型專案都是500人年以上的專案。

即使是這樣的專案,最終也不免遇到專案無法推進而被迫取消,或者專案投入超預期,另外專案的成果和預期成果差異巨大,無法使用諸如此類的問題而導致最終的失敗。

原因是什麼呢?眾說紛紜。難道團隊不夠優秀嗎?難道沒有引入最佳實踐嗎?難道資金不夠嗎?不,其實在大型專案開始之初,就知道會使用最好的資源,用最佳實踐來進行開發。但是依然無法避免最終的失敗。

從《人月神話》開始,就一直把最終的問題歸集於溝通。大型專案參與的人太多,從而導致溝通不暢。這種不暢不僅僅包括覆蓋面的方面,也就是專案的所有資訊並不是透明的,許多人至始至終都無法獲得所需的資訊開展工作。另外一方面就是資訊傳遞過程中出現的歧義的問題,導致大量的資訊冗餘和資訊失真,最終在蝴蝶效應的影響下導致了專案的失敗。

按照weinberg的說法,所有問題最終就是人的問題。

而人的問題,最終也就是管理問題。

我們在《快速軟體開發》中看到,儘管所有人都知道什麼是最佳實踐,什麼是正確的,總是妄想超越正常,實現不切實際的目標。這和投資市場的投機行為相類似,投機總是會有成功者,但是大部分的都血本無歸。而所有的投機者仍然以成功者為榜樣,堅信自己能夠打敗市場。

說穿了,是大家在進行乙個大型專案的過程中,並沒有堅持自己的原則和客觀事物的發展規律。按馬爺爺的說法,自然要被歷史拋棄。

所以大型專案失敗歸根到底是個哲學問題,它涉及到世界觀和方**兩方面的問題。所以rup強調是原則,而在原則不變的情況下使用各種過程都可以得到好的結果。

makefile之大型專案

管理linux環境下的c c 大型專案,如果有乙個智慧型的build system會起到事半功倍的效果,本文描述linux環境下大型工程專案子目錄makefile的一種通用寫法,使用該方法,當該子目錄內的檔案有增刪時無需對makefile進行改動,可以說相當的智慧型。下面先貼 為減小篇幅,一些非關鍵...

大型專案的特點

二 高併發 三 集群 四 海量資料 將專案按照特定的規則拆分成多個子專案,分開來發布一般在大型專案中使用使用傳統專案 單個專案 開發時,如果其中乙個功能模組出現問題,可能會影響到整個專案的使用。為了解決這種問題,使用了分布式,將專案的功能模組在架構層級松耦合分布式主要有兩種拆分方式 垂直拆分和水平拆...

為什麼港灣會失敗?

一 借助國外公司的強勢品牌開拓國際市場的努力還沒有得到實質回報 從2004年三季度開始,由於各種原因,港灣在國內市場迅速下滑,公司高層經過分析,認為國內主要友商由於在國內市場耕耘時間較長,對國內客戶的影響力較 大,港灣在國內翻盤的可能性很少。但國內友商在海外的耕耘時間較短,對海外客戶的影響力暫時還比...