也许很多搞开发的朋友都或多或少的厌倦了开发。枯燥的工作,客户的要求,越改越多的错误让我们厌倦了开发,想起以前对软件开发的幻想有时也会笑自己太幼稚。但我要说这不是真正开发,真正的开发工作应该让开发者享受到的时自己的思想变为软件时的喜悦和看到自己构筑的软件系统正常工作时的欣慰。
我们都成为了开发工具或者称为是编程机器(不要说整个中国都是这样)让我们一步步改变这一切。
软件强度的量化是很困难的工作,所以很多管理者只能将通过对开发者水平的评价和工作态度的评价来评定开发者的工作强度。这种方法的不合理性是显然的,所以改变这种情况的根本不是其他而是真正做好软件的设计工作。首先制定一套真正适合自己所在环境的开发方法,这套方法需要详细规定软件的开发流程和质量控制要素,并要详细规定系统分析的任务和所需要达到的目标,此外对软件的整体设计,结构设计,功能分解,模块设计等设计环节也不能放松。让我们说服自己相信没有好的设计就没有好的软件。
此外好的文档也是必不可少的,其实就软件来说其本身是包含了文档的,但由于很多原因在软件开发的过程中至少80%的文档都没有产生这样就为软件的后期开发和维护带来了困难。当接手没有文档的软件系统时开发者只能通过程序代码和代码中的注释来了解系统,要知道看代码的强度和难度要大于写代码。因此很多开发者在接手工作时又必需重复以前开发者者所从事过的工作,这样就造成了对资源的浪费。
上面这些都是一些最基本的要求,其实搞开发的大多都知道,但是真正执行起来时就困难重重。这种情况一方面反映出当前国内的开发水平很大程度上还停留在手工业阶段,也反映出中国的软件业还不够成熟,缺乏具有设计能力,管理管理的人员。另一方面也反映出了国内开发力量很多都还处于无序状态,大部分软件都是应急产品,真正经过严谨分析设计的软件还很少。国内的很多软件的开发更多的是依赖个人而不是依赖管理,如果人走了软件后继开发就成了问题。
上面提到的这些问题我想很多朋友都有同感。就我个人认为软件开发的目的不单单是产生满足要求的软件,提高开发质量,开发效率,保证软件开发的后继开发等因素也是必需考虑的。只有在好的管理下开发出的软件才能够经受得起时间的检验,而好的管理来源于明确的规定。
一个好的开发人员他的目标不应该停留在完成开发任务上,更多的是应该考虑编写代码之外的各种因素。只有这样开发者才能够进步,而不是一直停留在程序员这个层次上。也只有这样开发才会变得有乐趣。
后记:这篇文章我写了大约三周,其间由于过春节就一直没有管。再加上自己的文字组织能力有限在完成前将以前写的一部分无关的内容删除了。此外我这段时间在策划一个“合作开发”的栏目,希望通过这个栏目让大家可以通过互联网进行开发合作,栏目虽然简单但是保存资料就成为一个问题,此外也需要为这个栏目制定一些规范否则合作起来就会很混乱。至于如何合作我想听听大家的意见。所以请大家在网上发表一下你的看法和建议。