軟件焦油坑之亂象叢生

                                       軟件焦油坑之亂象叢生

      在2010年,我寫下此記錄,並獻醜在項目管理論壇上,引來一些朋友的同感。時間過去三年,那時候總結出的問題依舊存在。權且當個引子,引發自己更深的尋找和探索解決之道。畢業後從事軟件行業以來,遇到的問題太多,現將各種現象提出來,然後逐一分析,最終達到解決問題的目的。

 

    四十年前,前輩大師Brooks就提出了焦油坑的概念。我們開發了大量可運行的系統;不過只有極少數的項目滿足了目標、進度、質量和預算的要求。各種團隊,大型的和小型的,龐雜的和精幹的,一個接一個淹沒在了焦油坑中。表面上看起來好像沒有任何一個單獨的問題會導致困難,每個問題都能獲得解決,但是當它們相互糾纏和累計在一起的時候,團隊的行動就會變得越來越慢。直到被套牢,爾後更多的人前赴後繼重複着,何其壯觀,其實是悲壯!如果我們想解決問題,就必須試圖先去了解問題。瞭解有哪些亂象,纔可能去思索,去解決。

 

一、人員

現象1、高人員流動率,高離職率

此爲國內軟件業司空見慣的現象,我個人認爲是最值得去重視和深思的問題。作爲軟件企業,最重要的資產就是企業的人才和公司的客戶。痛心疾首,這既是公司的損失也對(多數人的)個人職業生涯不利。

 

現象2、項目經理(開發人員)與客戶之間發生摩擦

當項目經理(開發人員)拒絕答應客戶的開發計劃,或者無法履行承諾按時交付項目時(不可能的計劃下會有按時完成那纔是怪),又或者......,總之客戶可能會感到開發人員不配合,而開發人員會認爲客戶無理堅持不現實的項目計劃或者需求確定後的需求變更。

比這更糟糕的是,引起項目組內部的士氣下降,並導致相互之間的抱怨。

 

現象3、辦公環境嘈雜

大多數開發人員的辦公環境既不安靜、也不隱蔽。擁有安靜辦公環境的人員比工作在嘈雜環境中的人員往往會有更好的工作業績表現和開發效率。嘈雜的工作環境會延長項目週期。想一想,我們一天中有多少次被莫名其妙或者是被不怎麼重要的事情給打斷,又有多少公司層對此重視並採取措施。我以前所在的企業時就深受其害,辦公室的電話聲音特別大,終日響個不停,更要命的是經常沒人接電話。

 

二、過程

現象4、不合理的項目計劃

※ 過於樂觀(瘋狂)的計劃(或被迫接受不合理的計劃)

如何制定進度計劃纔能有利於快速開發呢?答案是做進度計劃時應當營造一種良好的開發氛圍,擯棄草率和易錯的決策機制,倡導計劃的有效性、設計的合理性和質量保證的省時性。

如何制定進度計劃?大多數IS人士,無論是否爲管理者,從來都無權控制他們自己的進度計劃。進度計劃通常由市場部或高層管理部門直接下達,就像飛石從天而降(或說鳥糞)。就此問題,我曾與IS領域中許多人士進行過交流。大家一致認爲當前IS領域面臨的最大難題,既不是掌握快速更新的技術,也不是探求新型的管理哲學,而是被迫接受根本無法達到的進度計劃。

※ 在壓力下放棄計劃

項目組制定了計劃,但當項目遇到麻煩時就放棄計劃。項目失敗的原因不是在放棄計劃本省,而是不能制定替代措施,並一頭栽進編碼和問題處理中去。

 

現象5、在模糊的項目前期浪費時間,後期加班加點

    模糊的項目前期是項目開始之前的時間,通常是花在審批和預算過程中。項目前期花上幾個月甚至幾年並不奇怪,然後進入壓縮項目計劃的關口。在項目前期節省幾周或幾個月的時間比將開發計劃壓縮同樣的時間來得容易、廉價,風險也更少。

 

現象6、缺少質量保證措施

    緊急項目經常會砍掉一些表面上看來不重要的工作,如取消設計和編碼審查,取消測試計劃,只進行必要的功能測試等。在很多項目中,設計審覈和編碼審覈工作被大大削減,以便實現可感知的項目計劃,其結果是,當項目達到了功能完成這個里程碑之後,還有非常多的麻煩事情需要處理。項目前期砍掉1天的質量保證(QA)活動,到項目後期需要3到10倍的處理代價,這是個很典型的結果。這種削減會破壞項目的開發速度。都是短視惹的禍!

 

三、產品(功能)

現象7、需求蔓延,功能蔓延

    太熟悉了,在國內做軟件項目的有幾個沒有碰到??需要重點說明的是,項目拖延的時間越長,蔓延的越厲害。而且,當客戶(公司經理)批准了比預期進度進展慢的項目順延時,會出現一種又推又拉的交易,即同時加入了一些新功能。可憐的從業人員們啊。

 

現象8、質量低劣

    質量?哦,知道知道。我們大家都很重視。實際情況如何呢?這是一個再清晰不過的問題。你看,我們達到了CMMi幾級,我們有專門的QA部門。這些虛假的東西能解決實際問題麼?一旦在進度遇到麻煩,功能蔓延或經費緊張時,首先下意識開始做的就是將質量降低,這樣就導致了系統BUG纏身,我們終日在按西瓜,按下了一個,另一個又浮起來了。

 

四、技術、

現象9、設計太差

    設計差已經不是一天兩天、一次兩次的問題了。大項目、小項目,都有此通病。爲何?還是短視惹的禍,一味趕所謂的進度。苦果當然在後期吞。其實設計差的原因和後果,不僅僅是技術上的問題那麼簡單。

 

現象10、銀彈綜合症

    我們掌握了某某工具,生產率能提高3倍!現實情況是年年歲歲花相似,歲歲年年人不同而已。昨日的問題依舊在重複。

 

後記:寫下這個不是爲了抱怨,這個不符合我的出發點。而是作爲引子,實實在在的解決;也是爲了當再次遇到這些問題時,不必驚訝。

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