為什麼軟體項目會失敗
A. 項目為什麼會失敗
我這里暫且認為無法交付成果物,或者是交付的成果物無法滿足客戶需求。
我曾經旁觀(沒有參與其中)過一個項目,這個項目可以說是完全失敗了。先說一下最終的結果:
代碼量:客戶端、伺服器端、資料庫PL/SQL等,總計大約是120W行。
周期:開發大概是4個月,測試三個月。
結果:單體測試、結合測試合計發現Bug數近7000個。
這個項目由於到結合測試後期,發現Bug在不斷的增多,而且每修改一個Bug,會引入至少一個的另外的Bug,於是項目宣告失敗,項目組成員解散。
很優秀的程序員,天天加班,那麼辛苦,換來的卻是失敗的結局,搞得從上到下沒有人願意再談論那個項目。
那已經是很久之前的項目了,前不久跟一個朋友聊天的時候說起,然後那個朋友(曾經參與過)就對我發牢騷,總結起來,也不過是以下幾點:
1)項目周期緊,每個過程的時間太短。上面說過,開發過程四個月,需求分析、基本設計、詳細設計、編碼,每個過程大概是不到一個月,而最終的代碼量是12W行,產出/時間,這個比值太大,這樣就有很大的風險。時間緊,很多的工作都不夠充分,比如WT、CodeReview、項目審查等,這些工作沒有做,造成這個項目的質量得不到保證。
2)需求分析階段,沒有充分理解業務,造成了業務邏輯的人為復雜化。那個朋友負責一個畫面的一部分,為什麼是一部分呢?整個畫面100多個控制項,關聯到40多個表,完成畫面的雛形代碼量是15K,這個只是畫面部分,這個畫面整個技能的代碼量在30K左右,這樣的代碼量足夠完成一個小系統了。如果在需求分析的時候,把業務邏輯理清,就可以把大畫面分割為多個小畫面,這樣不管從設計還是編碼測試的角度來說,都會在很大程度上降低風險。
3)項目管理不善。整個項目在每個階段開始的時候,沒有給出相應的CheckList,於是每個成員寫出來的成果物風格不一,中途有項目組成員的離職,給別人理解這部分成果物帶來了很大的困難。詳細設計的文檔風格不統一,跟別的模塊介面沒有商榷,代碼風格極差,測試力度不夠,一個很簡單的例子,那個項目組中竟然有類似的聲明:ArrayList list01。前面說過,由於周期短,CodeReview沒有進行,造成了代碼質量差,直接影響了測試Bug的修改。而這些事情項目負責人沒有很好的控制,本來就暗藏危機的項目更加雪上加霜。
在測試的時候,以上的危機全部爆發了,Bug越測越多,數量與日俱增,最後到了無法維護的地步,代碼沒有人敢去修改,更沒有人敢提出在設計上修改。於是,項目無法交付,宣告失敗。
B. 為什麼軟體創業這么容易失敗
是技術問題還是市場問題?或者是其它的原因?許多人分析主要的原因在於創業過程中,創業團隊成員之間出現了矛盾,說得不好聽就是:幾個股東意見不一致,發生內斗或內耗;說得好聽一些就是:缺少一支優秀的創業團隊。由此可見,一支優秀的創業團隊可以說決定著一家企業的成與敗,失敗的創業者從創業一開始,就奠定了創業失敗的命運。 「鐵三角」理論:即技術、市場、運營三個角色的人選都要到位,而且都要是狠角色。程序員的角色當然是定位在技術方面,你應該是研究型的領導,你擁有多年的軟體項目/產品開發與管理經驗,對各種技術或工具都是熟門熟路的,你解決問題的能力很強,你能寫出漂亮的技術方案,最關鍵的是你對某個行業的業務流程理解透徹,而且知道客戶需要什麼,有些創業者的技術確實很NB,但好象什麼行業都做過,也都知道一點業務流程,這是很危險的,因為你會漸漸明白,很多時候技術只是實現業務流程的一種工具,對國內的很多IT企業來講,實際上並沒有什麼值得一提的核心技術,核心的是對某個行業的業務流程的深入分析與理解,比如財務軟體,ERP軟體等等,重要的並不是用什麼開發技術或資料庫技術,而是業務模式與流程,所以,在諸如此類的企業里,最關鍵的人物不是開發人員,而是那些頭發稀少老態龍鍾的行業顧問或專家們。 最頭痛的是市場,得市場者得天下,小弟雖還不算太老,但對一點深有體會,也曾栽在這里,可以毫不誇張地說,國內很大一部分的IT企業都是以市場為導向,也就是說先有市場,再創業再技術,而不是以一項技術或產品為導向,然後去開拓市場,這種方式風險太大,除非你的產品或技術是真正的核心與獨一無二的,而且通常需要的啟動資金較大,對杯水車薪的程序員來說,並不是理想的創業方式,除非VC們都變傻變笨了,毫無理由地給你muchmuchmoney,但這種好事會出現嗎?我們需要白日做夢異想天開,呵呵。因此,我們在創業時,必須將市場放在第一位進行考慮,也就是要尋找一位市場高手作為合作夥伴,他必須具有強大的市場策劃與執行能力,而且經過多年的努力,他已經建立了較大的市場資源,這些市場資源對於你們新成立的公司是有用與有效的,新成立的公司通常都是股東自已來做市場的,你千萬不要抱有那種自以為是的美夢,比如我們去招聘一個市場經理,然後大張旗鼓地幫公司開拓市場,這種人太難找了,代價也太高了,聰明的做法是找個NB的市場合作夥伴,讓他來帶領普通的市場人員,真正起關鍵市場作用的應還是股東,他是市場效果的直接受益人。 大家可能都知道微軟現任CEO史蒂夫·鮑爾默先生,這個絕頂聰明的老傢伙真是一個天才的運營家,他總是熱情洋溢、幽默有趣、極富鼓舞性,具有很強的運營策劃能力,微軟有了他,比哥可以天天去海島釣魚,或者陪老婆做做慈善事業。對於一家企業來說,是很需要這個角色的,他是公司戰略的決策者,他能夠全面周到地分析整個公司面臨的機遇與風險,考慮成本、投資、收益的來源及預期收益,甚至還包括公司管理規范章程、長遠規劃設計等工作,他總是激情澎湃,他的講話總能給昏昏欲睡的程序員們帶來極大的鼓舞以及對未來充滿了各種各樣的美好藍圖。 以上我們分別討論了各個角色的能力要求以及在企業中所起的作用,下面我們來簡單討論一下角色之間需要注意的一些問題。 首先,每個角色都是獨立的個人,每個人都有自已的觀點與價值觀,看待問題的角度與態度可能都不同,因此矛盾與沖突無法避免,但必須做到就事論事,任何的矛盾能在較短時間內解決與平息,所此要求各成員之間必須很熟悉與了解,每個人都非常清醒地認識到自身的優劣勢,同時對其他成員的長處和短處也一清二楚,用網上一朋友的話來形容就是: 一個教室學習過的同窗,一個戰壕戰斗過的戰友,一個賭場玩過的賭友,一個房間嫖過的嫖友,呵呵。 千萬記往:創業團隊不需要陌生人! 其次,各個角色之間必須具有互補性,能力最好不要重復。
C. 什麼是軟體開發項目和軟體開發項目管理,軟體開發項目成功和失敗的要素分析
你很多問題問重復了,梳理下
1、什麼是項目——項目是為提供某項獨特產品、服務或成果所做的臨時性努力。
2、什麼是項目管理——在項目活動中應用知識、技能、工具和技術以達到項目要求的過程。項目管理師通過應用和綜合比如啟動、規劃、執行、監控和收尾等項目管理過程來進行。項目經理是負責實現項目目標的個人。
軟體開發項目就是某種軟體研發的項目,而軟體開發項目的管理就是對正在進行的軟體開發過程進行控制和管理的手段。
軟體開發項目成果和失敗的因素很多,嚴格把控項目的九大范疇:綜合管理、范圍管理、時間管理、成本管理、質量管理、人力資源管理、溝通管理、風險管理、采購管理,項目成敗由你掌控。
軟體開發項目管理的環境有很多,我公司藍雲EasyTrack 是做項目組合管理軟體,採用的就是JAVA進行開發,採用的J2EE技術和多層體系架構設計,可以在不同的操作系統、應用伺服器和資料庫系統的環境下工作,提供與其他各類軟體集成介面。
有興趣可以了解下,深圳藍雲EasyTrack PPM是項目組合管理方案的專家。
D. 一個項目失敗的根本原因包括哪幾個方面(軟體工程)
。。。軟體工程 一個項目失敗的根本原因? 這個應該是沒有標准答案的吧
個人感覺
對項目的理解沒有到位 即客戶(對象)需求 軟體做出來就是要服務的 明確了對象的需求 才能做到有用 再說下去就涉及到很多方面了。。。-。- 領導?資金?技術?實力?
E. 項目管理失敗的原因
1、企業內部溝通欠缺
由於企業內部溝通欠缺,各部門各自為政,缺乏協同工作的氛圍,無法完成流程優化,只好在工程項目管理軟體建設中將原有流程自動化。有問題的流程被自動化後,原本存在的問題會更加凸顯,工程項目管理軟體實施失敗也在情理之中。
2、只考慮企業內部需求
只關注企業內部需求,造成策略錯誤,搭建的時候只考慮企業需求,工程項目管理軟體實施運行後工程項目信息無法在系統中自然流轉,對相關部門的工作沒有幫助反而增加了工作量,工程項目管理軟體自然會遭到員工抵觸。
3、需求不明
我們會首先發現對項目的定位、職責和任務不清楚;對項目要解決的問題不清楚;對面臨的狀況是什麼不清楚;對產生這些問題的原因不清楚;對如何解決這些問題或滿足客戶需求清單沒有共識;各級用戶和項目相關各方不清楚;最後是有些什麼資源或數據來源支撐其設想不清楚。
4、忽視員工對系統的培訓
基層工作人員不會使用工程項目管理軟體。這個問題以前比較常見,但隨著80、90後逐漸成為職場主力軍、工程項目管理軟體操作界面不斷更新。此時企業也不能忽視培訓,培訓內容應由通轉精,組織員工深入學習工程項目管理軟體的規則與操作。
5、缺乏規劃
項目經理和項目團隊往往糾結於項目中的任務細節,沒有對項目的整體目標或短期任務目標進行一個一致的規劃。項目經理需要經常通過舉行簡短但一致的會議可以幫助團隊有效和高效的運作。項目經理也需要花點時間和每個人來溝通規劃目標,並跟蹤那些待處理的任務進展。
6、控制過度
作為項目經理,確保項目中所有可交付成果的完成是自己的責任,但是如果過度的控制團隊,則可能會產生負面情緒而不是積極的情緒,這種情緒會損害項目的交付質量和進度。項目經理需要明白項目團隊需要足夠的自由來增加創造力,以及足夠的空間來開展工作。
7、進度不明確
每項目都有他們自己的項目周期。時間期限的確定可以是項目發起人,項目經理,也可以是通過整個項目團隊成員的仔細估算。當項目開始的時候,如果沒有一個成熟的項目管理工具,我們就無法清楚的知道項目的進度,因此會產生一系列的問題,進度貓可以有效的解決這個問題,項目經理可以根據甘特圖清楚的看到項目進度。
F. 軟體開發過程中會有哪些風險
1、未經權威部門確認的功能標准、開發規范以及質量技術標准,均可能導致軟體無法達到預期標准,從而引起質量風險。
2、在理解項目標准及范圍等問題上,企業管理層、項目組以及技術性人員的接不一致,導致計劃與資金安排有所改變,因而極易引發風險。
3、潛在的維護、驗證、介面、實現以及設計等環節出現的問題,存在技術空白及未知領域,為軟體開發工作帶來較大的風險。
4、來自於外包項目組、客戶、國家政策以及市場等方面的變化及壓力,這類風險具有明顯的不可控特點,一旦遭遇,應謹慎對待,及時制定解決策略。
風險防範與控制措施
1、出台合理的軟體開發模式與相關規程,確保開發工作合理、有序進行,並符合國家出台的相關標准及要求。
2、對於項目組全體成員的開發行為進行嚴格規范,加強小組成員之間的交流與互動,以免由於溝通與交流不當,引發軟體開發風險。
3、定期開展業務和技術交流大會,引導技術人員摒除過於落後、陳舊的工作思想,通過引進先進的技術、設備與驗證方式,明確技術人員的預期發展目標,令其不斷的改進自我、完善自我,提升技術及設備的質量及效果。
4、對開發所用的方法及技術進行客觀、合理的評價,避免由於無法把握技術而引發風險。
5、建立完善的風險應對程序與管理計劃,如此一來,才能確保在發生風險的時候,能夠快速、合理、技術的作出反映,並通過制定適宜的策略,對風險進行專業性處理。