软件开发人员不愿意写文档, 我想这主要指的是刚参加工作时间不长的工作人员。 真正的老 鸟是不会这样的。我说说自己的看法,希望大家讨论。
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://wenku.baidu.com/view/2bcb7f28bd64783e09122b6f.html