天天看點

【轉載】軟體開發人員為什麼不願意寫文檔

      軟體開發人員不願意寫文檔,我想這主要指的是剛參加工作時間不長的從業人員。真正的老鳥是不會這樣的。我說說自己的看法,希望大家讨論。

1.軟體開發的大環境不好

      軟體開發行業在中國的興起也就是十幾年的事情,國外的軟體開發比中國長,但也有限,與中國不同是,國外企業很重視品質管理,過程控制。國外的軟體發展受其他行業的影響比較深,基本上是兩個思路,一個是美國為主,他們不斷針對開發中的問題形成新的開發方法,比如psp,tsp,rup,iso, cmm/cmmi等過程對規範軟體開發流程起了很大的作用,而日本和印度基本走的是另外一條路。比如日本開發基本是瀑布型,但每一個步驟都極為細緻,以此達到對軟體品質的控制,印度基本是cmm,其思路和日本查不多,但不論是美國,日本,還是印度在這些過程控制過程中都強調,計劃-執行-檢查-調整,而這些都需要文檔的支援,是以相對來說,他們的大環境比中國好的多。反觀中國,從文化上來說,中國的文化階層曆來喜歡務虛而不務實,大家在讨論的時候都侃侃而談,但一旦想落實紙面上就沒有人願意幹了。這也表現在到現在為止,還沒有聽說中國出過軟體開發大師級人物。而軟體行業前一段時間還被稱為高科技,這一方面也造成了開發人員浮躁的心态。

2.重技巧的學習,而輕視能力的培養

      中國的軟體開發人員重視對技巧的學習,比如我們的一個項目負責人,對ie的cookie很熟悉,也很願意在他的組員面前顯示他的才能,可是他連基本的程式設計規範都不了解,而對調研的方式方法,項目管理的範圍定義,時間管理,風險管理,品質管理更是一竅不通,這樣的項目經理怎麼可能寫出好的文檔,而他的團隊又怎麼可能寫出完善的文檔。

3.重視表面的東西,輕視基礎

      建設在沙地上的萬丈高樓怎麼可能不危險,舉一個例子,在過去做面向過程的系統開發的時候,有幾個人會畫标準的資料流圖,在作資料庫設計的人員中,有幾個人講的清楚1NF,2NF,3NF,BCNF,在面向對象的設計中有幾個人可以畫出标準的9種類型的設計圖。這些東西我們在學校裡都學習過,請大家想想我們有幾個人真正使用過,而用拍腦門出來的設計,能不出問題嗎?

4.對系統不了解,是不願意寫文檔的最主要的原因

      調研人員自認為對客戶流程很了解,讓他講解的時候看起來也是頭頭是道,但他們為什麼不願意寫,其實在就是因為他們對客戶的流程并沒有作到真實的了解。在讨論的時候,如果沒有文檔,他講過的話其他人員很難在短時間内了解并且進行檢查(聽别人說話最好也隻能吸收10%的東西),而如果是寫成文檔,别人看,很多問題就可以發現(看東西可以吸收20%的東西),而且看的時間會比較長,如果是一個比較認真的人還會前後對照,這樣很多問題自然會暴露出來。是以避免被别人發現問題方法就是不寫文檔,這樣即使出問題了,也是死無對證,而一旦留有文字資料,你就跑不了。

   開發人員其實也差不多,我們的進階程式員,程式員都崇尚于談論這個體系,那個體系,但作JAVA的有幾個可以講明白J2EE,EJB的,又有幾個閱讀過tomcat的源代碼。這些都不說,你們對JAVA的類庫了解多少,知道多少類,他們内部變量的類型,作用是什麼,他們的成員函數的功能,輸入輸出是什麼,你也許會說,這些東西還要記憶嗎?我們有手冊可以查。沒錯,但學習英語的時候你能隻學文法,不學習單詞嗎?我的原來一個頭是做彙編的,他老人家可以随口說出多少号中斷是做什麼用的,AX。BX。CX。DX都應該是什麼值。不下這個功夫,你想寫出好的詳細設計簡直是癡人說夢。而我們現在的開發人員有幾個可以做到,對開發環境不了解,是我們開發人員最大的問題,為了掩蓋自己的不足,最好的方法當然是不寫文檔,避免暴露自己的不足。

5.有經驗的開發人員的流失造成我們的開發低水準循環。經驗無法繼承

      俗話說吃一塹長一智,國外的軟體流程管理,品質管理大家都是年齡很大的人了。但我們的社會卻很少願意容納我們自己的有經驗的開發人員。如果你到各個招聘網站看一下就會發現,現在招技術人員,都要35以下的,也就是說,35以後要不你就在一個地方呆着,要不你就轉行。而在幾年前更誇張,30就一個坎,30歲是一個什麼概念,舉一個例子,研究所學生畢業一般是25歲,做2-3個項目(大項目一般是1年以上的),無論成果還是失敗,你剛有了一些經驗,好你已經快30 了,你面臨是是否還能否在這個行業幹下去的問題,而這個時候往往是你開始發現問題,開始琢磨改進方法的時候(也是你開始想開始寫文檔的時候),但人生的選擇使你不得不放棄改進工作的方法,(真正了解文檔的作用的人都是那些幹過很多項目,有很多失敗教訓的“老”開發人員)。于是你要走了,而新人總是高估自己,于是就向飛蛾一樣撲向烈火(糟糕的開發方法,也包括對文檔的輕視)

6.不會講問題分層次,複雜問題講不清楚,是開發人員不寫文檔的另外一個原因

      中國的開發人員有一個特點就是都是希望成為好工匠(其實好工匠都談不上),而不想做專業人員。如果一個問題原來處理過,最起碼看别人處理過,那麼心裡就覺得比較放心,但如果遇到一個全新的問題,有沒有人咨詢,就不知道如何下手了,說簡單一點就是沒有學會處理問題的方法,不會将複雜問題分層次,不會将問題分解為簡單問題,逐個處理。是以在寫文檔的時候就不知道該寫文檔,一個問題的一個表現就是大家都熱衷于向朋友們尋求各種系統的文檔,好自己照貓畫虎,而如果找不到類似的文檔,就不知道怎麼辦了。

7.糟糕的寫作功底,是不寫文檔的一個原因

      我們是學理工,文字功力差一點沒有關系,這是很多軟體人員的說法,别開玩笑了,很多開發人員不寫文檔,一個原因就是他們的文檔說的根本不是中國話,不要說同音同義字的錯誤,就連基本的文法都不對,寫得需求不要說使用者看不明白,我們自己看都不明白,如果讓他自己朗讀一遍,那恐怕比周星星的電影還要無理頭,這種文檔開發人員自然不願意寫。

8.最後一個原因----沒有吃過糖,不知道甜是什麼滋味

      這是一個很實在有很尴尬的現實,很多人沒有進行過正規的開發,甚至沒有見過真正‘好’的技術文檔,自然就不能感受好文檔的作用,于是認為現在這種糟糕的文檔就是最好的,而這些文檔對開發沒有任何作用(反而耽誤時間),自然就不願意在寫文檔了。

原文位址:http://blog.chinaunix.net/u/17030/showart_306133.html