软件开发人员不愿意写文档,我想这主要指的是刚参加工作时间不长的工作人员。真正的老鸟是不会这样的。说说自己的看法,希望大家讨论。
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、最后一个原因----没有吃过糖,不知道甜是什么滋味。
这是一个很实在有很尴尬的现实,很多人没有进行过正规的开发,甚至没有见过真正‘好’的技术文档,自然就不能感受好文档的作用,于是认为现在这种糟糕的文档就是最好的,而这些文档对开发没有任何作用(反而耽误时间),自然就不愿意在写文档了。
(传载)
分享到:
相关推荐
《软件开发人员为什么不愿意写文档》 在软件开发领域,文档的重要性不容忽视,它既是项目的蓝图,也是团队间沟通的桥梁。然而,不少初级开发者甚至一些资深开发者常常表现出对编写文档的抵触情绪。这种现象背后的...
确保风险和严重性得到充分传达,必要时通过会议或文档明确问题的重要性。 8. **平衡倾听与表达**:成为一个有效的沟通者,既要倾听开发者的观点,也要清晰地表达自己的立场。如果开发者无法说服你某个bug不重要,...
1. **文档**:强调了文档的重要性及其在软件开发过程中的作用。 2. **Java**:Java是一种广泛使用的编程语言,适用于多种应用场景,包括企业级应用开发。 3. **Net**:这里可能指的是.NET框架,它是微软推出的一种...
这反映了文档所具有的知识产权重要性以及对内容使用的限制。 此外,文档中提到了关于LZW技术的专利信息。LZW是一种压缩和解压缩数据的算法,广泛应用于GIF图像格式。文档中提到,MapInfo软件使用了LZW技术,且在...
这些文档是软件开发人员日常工作中最常接触到的内容,熟练掌握它们的编写和理解对于提高工作效率和项目管理能力至关重要。 了解中日之间的文化差异也是软件开发日语用语学习中不可忽视的一部分。由于语言背后承载着...
通过不断积累知识和技术细节,文档才能够覆盖到所有重要的方面,为读者提供有价值的信息。 - **总结**:意味着在文档中提炼关键点和核心信息的能力。有效的总结可以帮助读者快速了解文档的核心内容,尤其是在面对...
在紧迫的项目进度和繁重的任务面前,编写文档往往被视为额外的负担,导致开发人员更愿意把时间投入到实际的编程工作中。而从长远来看,良好的文档习惯不仅能提高个人的工作效率,也有助于提升整个团队和产品的质量。...
这使得部分用户无法轻易获取所需文档,特别是在没有足够积分或不愿意支付的情况下。 3. **文档下载工具**:"冰点文档下载器"这样的软件应运而生,它们能够绕过平台的下载限制,让用户无需支付费用或积分即可下载...
- **开发预算需求**:客户愿意为项目的开发投入多少资金,这对于合理分配资源、控制成本具有重要意义。 ### 结论 综上所述,一个完整的用户需求文档不仅需要包含项目的总体目标和关键需求点,还应该通过多种方式...
难易度的评估则关注开发人员是否愿意接手和完成困难或乏味的工作,以及他们的工作是否具有不可替代性。团队中往往不乏那些愿意挑战难题、不畏惧复杂问题的员工,他们的存在对团队的整体进步至关重要。不可替代性则...
根据提供的文档信息,我们可以归纳出以下关键知识点: ### 一、引言部分 #### 技术术语 ...以上是基于提供的文档信息总结的关键知识点,这些内容对于软件开发项目的规划、设计和实现具有重要的指导意义。
整个文档为开发者提供了一个全面、详尽的指南,不仅涵盖了Liferay Portal的基本概念和架构解析,还深入到如何对Portal进行二次开发的具体细节中。开发者可以通过这些信息,快速地掌握Liferay Portal的核心功能,并...
**标题与描述解析** 标题“Linq 中文帮助文档”表明了这个压缩包包含的是关于Linq(Language ...这些文档对于.NET开发者来说是非常宝贵的资源,能帮助他们更好地掌握Linq,提高开发效率,处理数据查询的挑战。
在儿童智力开发领域,设计装置扮演着至关重要的角色。这些装置不仅能够激发孩子们的创造力,还能..."儿童智力开发教具.pdf"这份文档将为读者提供更详尽的理论支持和实践指导,帮助理解和创造更有效的儿童智力开发工具。
MyBatis还提供了不通过XML构建SqlSessionFactory的选项,如果开发者更愿意直接从Java程序中创建configuration,或者创建自己的configuration构建器,MyBatis同样提供了完整的配置类,以提供所有和XML文件相同功能的...
在文档的1.1部分,提到"产品"是父母创造的无价"产品",这里比喻产品经理的角色,暗示其在企业中的重要性。产品的好坏并不取决于存在时间,而是看它能带动多少其他产品的发展以及为企业创造多少价值。 2.1至2.5部分...
《产品商业需求文档BRD.docx》是产品开发过程中至关重要的文档,主要用于明确产品的商业目标、用户需求和社会价值。这份文档通常在项目的初期阶段制定,为后续的设计、开发和执行提供指导。 1. 摘要 摘要部分是文档...
- **公司内部是否组织过培训**:许多公司已经意识到人才培养的重要性,因此会定期为员工提供培训机会。 - **公司是否支持员工参加培训**:调查显示,大部分企业都鼓励员工通过参加外部培训来提高专业技能。 #### 五...
综上所述,GE PLC文档提供了关于GE PLC系统及其编程软件的重要信息,对于从事工业自动化领域的工程师和技术人员来说具有很高的参考价值。同时,文档也明确了版权、责任范围以及用户反馈渠道等内容,有助于用户更全面...