在从事风险投资的两年半里,笔者曾考察过多个软件公司,其中有从事cad应用、财务、进销存、物流管理、物业管理、设备管理等软件。做得好的,其骨干通常都不是计算机专业毕业的,大多是半路出家的理工科人士。应用类软件,讲究对应用需求的理解,这样才能做好系统设计及编程。工科如建筑、机械等专业极其注意工程素养的培养,工作态度要非常严谨,重分析,工作重点在于规划设计,而不是砌砖和扳动老虎钳。相关的应用若出差错,例如房屋钢筋用得不够、或者对机械磨损考虑不周等,将导致用户损失惨重,甚至人命关天。
虽然国内各大学的计算机系都开设有软件工程、系统分析之类的课程,然而在实际工作中,软件工程师大都是拿起题目就开始编程,产品的质量当然很差。十几年来,多有文章对这种现象进行指责,并且呼吁改善。然而,除了一些大型的应用软件的开发项目遵循软件开发的方法,一些中小型应用软件则几乎都是一两个天才编程人员的结果。即使是一些成名多年的规模颇大的软件公司,产品的性能和质量也常常叫人失望。即使不深入到其公司内部了解,也可知道其出品没有经过规范的设计阶段和严格的测试。
掌握计算机知识是一回事,工作态度是另外一回事。中国的传统文化缺乏工程概念,崇尚的是权谋斗争和耍弄小聪明。有云:中国人很适合做软件。错了,中国人很适合编程序而并不适合做软件。缺乏工程素养,计算机知识再多,再聪明,也只能是编程的料,绝不能做好软件。
不注重工作过程的质量,成功是偶然的,失败是必然的。在我看过的一本外国的系统分析的书中提到,计算机界有句老话,“惟一的方案肯定不是最好的方案”。但这是中国同业的老话吗?
要有做好软件的工程素质,并不是靠多读软件工程的书籍就可以,必须从心底里尊崇和贯彻工程方法,而不是走过场应付。在企业的内部不单是要有规章制度来保证工程方法的执行,而且还要从人文的层面,引导工程师们尊崇工程方法。
文章来源于领测软件测试网 https://www.ltesting.net/