軟件開發(fā)人員不愿意寫文檔,我想這主要指的是剛參加工作時間不長的工作人員。真正的老鳥是不會這樣的。我說說自己的看法,希望大家討論。
1.軟件開發(fā)的大環(huán)境不好
軟件開發(fā)行業(yè)在中國的興起也就是十幾年的事情,國外的軟件開發(fā)比中國長,但也有限,與中國不同是,國外企業(yè)很重視質(zhì)量管理,過程控制。國外的軟件發(fā)展受其他行業(yè)的影響比較深,基本上是兩個思路,一個是美國為主,他們不斷針對開發(fā)中的問題形成新的開發(fā)方法,比如psp,tsp,rup,iso, cmm/cmmi等過程對規(guī)范軟件開發(fā)流程起了很大的作用,而日本和印度基本走的是另外一條路。比如日本開發(fā)基本是瀑布型,但每一個步驟都極為細(xì)致,以此達(dá)到對軟件質(zhì)量的控制,印度基本是cmm,其思路和日本查不多,但不論是美國,日本,還是印度在這些過程控制過程中都強(qiáng)調(diào),計劃-執(zhí)行-檢查-調(diào)整,而這些都需要文檔的支持,所以相對來說,他們的大環(huán)境比中國好的多。反觀中國,從文化上來說,中國的文化階層歷來喜歡務(wù)虛而不務(wù)實,大家在討論的時候都侃侃而談,但一旦想落實紙面上就沒有人愿意干了。這也表現(xiàn)在到現(xiàn)在為止,還沒有聽說中國出過軟件開發(fā)大師級人物。而軟件行業(yè)前一段時間還被稱為高科技,這一方面也造成了開發(fā)人員浮躁的心態(tài)。
2.重技巧的學(xué)習(xí),而輕視能力的培養(yǎng)
中國的軟件開發(fā)人員重視對技巧的學(xué)習(xí),比如我們的一個項目負(fù)責(zé)人,對ie的cookie很熟悉,也很愿意在他的組員面前顯示他的才能,可是他連基本的編程規(guī)范都不了解,而對調(diào)研的方式方法項目管理的范圍定義,時間管理,風(fēng)險管理,質(zhì)量管理更是一竅不通,這樣的項目經(jīng)理怎么可能寫出好的文檔,而他的團(tuán)隊又怎么可能寫出完善的文檔。
3.重視表面的東西,輕視基礎(chǔ)
建設(shè)在沙地上的萬丈高樓怎么可能不危險,舉一個例子,在過去做面向過程的系統(tǒng)開發(fā)的時候,有幾個人會畫標(biāo)準(zhǔn)的數(shù)據(jù)流圖,在作數(shù)據(jù)庫設(shè)計的人員中,有幾個人講的清楚1NF,2NF,3NF,BCNF,在面向?qū)ο蟮脑O(shè)計中有幾個人可以畫出標(biāo)準(zhǔn)的9種類型的設(shè)計圖。這些東西我們在學(xué)校里都學(xué)習(xí)過,請大家想想我們有幾個人真正使用過,而用拍腦門出來的設(shè)計,能不出問題嗎?
4.對系統(tǒng)不了解,是不愿意寫文檔的最主要的原因
調(diào)研人員自認(rèn)為對客戶流程很了解,讓他講解的時候看起來也是頭頭是道,但他們?yōu)槭裁床辉敢鈱懀鋵嵲诰褪且驗樗麄儗蛻舻牧鞒滩]有作到真實的了解。在討論的時候,如果沒有文檔,他講過的話其他人員很難在短時間內(nèi)理解并且進(jìn)行檢查(聽別人說話最好也只能吸收10%的東西),而如果是寫成文檔,別人看,很多問題就可以發(fā)現(xiàn)(看東西可以吸收20%的東西),而且看的時間會比較長,如果是一個比較認(rèn)真的人還會前后對照,這樣很多問題自然會暴露出來。所以避免被別人發(fā)現(xiàn)問題方法就是不寫文檔,這樣即使出問題了,也是死無對證,而一旦留有文字資料,你就跑不了。
開發(fā)人員其實也差不多,我們的高級程序員,程序員都崇尚于談?wù)撨@個體系,那個體系,但作JAVA的有幾個可以講明白J2EE,EJB的,又有幾個閱讀過tomcat的源代碼。這些都不說,你們對JAVA的類庫了解多少,知道多少類,他們內(nèi)部變量的類型,作用是什么,他們的成員函數(shù)的功能,輸入輸出是什么,你也許會說,這些東西還要記憶嗎?我們有手冊可以查。沒錯,但學(xué)習(xí)英語的時候你能只學(xué)語法,不學(xué)習(xí)單詞嗎?我的原來一個頭是做匯編的,他老人家可以隨口說出多少號中斷是做什么用的,AX。BX。CX。DX都應(yīng)該是什么值。不下這個功夫,你想寫出好的詳細(xì)設(shè)計簡直是癡人說夢。而我們現(xiàn)在的開發(fā)人員有幾個可以做到,對開發(fā)環(huán)境不了解,是我們開發(fā)人員最大的問題,為了掩蓋自己的不足,最好的方法當(dāng)然是不寫文檔,避免暴露自己的不足。
5.有經(jīng)驗的開發(fā)人員的流失造成我們的開發(fā)低水平循環(huán)。經(jīng)驗無法繼承
俗話說吃一塹長一智,國外的軟件流程管理,質(zhì)量管理大家都是年齡很大的人了。但我們的社會卻很少愿意容納我們自己的有經(jīng)驗的開發(fā)人員。如果你到各個招聘網(wǎng)站看一下就會發(fā)現(xiàn),現(xiàn)在招技術(shù)人員,都要35以下的,也就是說,35以后要不你就在一個地方呆著,要不你就轉(zhuǎn)行。而在幾年前更夸張,30就一個坎,30歲是一個什么概念,舉一個例子,研究生畢業(yè)一般是25歲,做2-3個項目(大項目一般是1年以上的),無論成果還是失敗,你剛有了一些經(jīng)驗,好你已經(jīng)快30 了,你面臨是是否還能否在這個行業(yè)干下去的問題,而這個時候往往是你開始發(fā)現(xiàn)問題,開始琢磨改進(jìn)方法的時候(也是你開始想開始寫文檔的時候),但人生的選擇使你不得不放棄改進(jìn)工作的方法,(真正了解文檔的作用的人都是那些干過很多項目,有很多失敗教訓(xùn)的“老”開發(fā)人員)。于是你要走了,而新人總是高估自己,于是就向飛蛾一樣撲向烈火(糟糕的開發(fā)方法,也包括對文檔的輕視)
6.不會講問題分層次,復(fù)雜問題講不清楚,是開發(fā)人員不寫文檔的另外一個原因
中國的開發(fā)人員有一個特點就是都是希望成為好工匠(其實好工匠都談不上),而不想做專業(yè)人員。如果一個問題原來處理過,最起碼看別人處理過,那么心里就覺得比較放心,但如果遇到一個全新的問題,有沒有人咨詢,就不知道如何下手了,說簡單一點就是沒有學(xué)會處理問題的方法,不會將復(fù)雜問題分層次,不會將問題分解為簡單問題,逐個處理。所以在寫文檔的時候就不知道該寫文檔,一個問題的一個表現(xiàn)就是大家都熱衷于向朋友們尋求各種系統(tǒng)的文檔,好自己照貓畫虎,而如果找不到類似的文檔,就不知道怎么辦了。
7.糟糕的寫作功底,是不寫文檔的一個原因
我們是學(xué)理工,文字功力差一點沒有關(guān)系,這是很多軟件人員的說法,別開玩笑了,很多開發(fā)人員不寫文檔,一個原因就是他們的文檔說的根本不是中國話,不要說同音同義字的錯誤,就連基本的語法都不對,寫得需求不要說用戶看不明白,我們自己看都不明白,如果讓他自己朗讀一遍,那恐怕比周星星的電影還要無理頭,這種文檔開發(fā)人員自然不愿意寫。
8.最后一個原因----沒有吃過糖,不知道甜是什么滋味
這是一個很實在有很尷尬的現(xiàn)實,很多人沒有進(jìn)行過正規(guī)的開發(fā),甚至沒有見過真正‘好’的技術(shù)文檔,自然就不能感受好文檔的作用,于是認(rèn)為現(xiàn)在這種糟糕的文檔就是最好的,而這些文檔對開發(fā)沒有任何作用(反而耽誤時間),自然就不愿意在寫文檔了。
http://www.51testing.com/html/41/n-197641.html