中小型软件公司中软件开发项目过程的无组织状态的几点表现

目前国内相当数量的中小软件公司,特别是处于信息化应用程度较低行业的软件公司,其在软件过程和软件项目管理的规范性上尤为欠缺。在这样的软件公司里,软件项目的所谓“成功”往往是靠一两个人用汗水换来的,而这样的“成功”背后实际上隐藏着的却是:项目后期的投入远远超出前期的投入、软件质量难以保证、无数的bug、无休止的“救火”、难以通过阅读来理解的代码、程序的可扩展性极差、模块之间的高耦合度导致牵一发而动全身、软件维护工作可谓艰难……。

软件公司

笔者通过亲身的工作体会,分析并总结出软件开发项目过程的无组织状态主要表现在如下几个方面:

1、软件公司各级领导对软件项目的过程和软件项目的制度化管理没有充足的重视,有些甚至没有相应的理念,认为软件开发根本不需要什么过程,更不懂得如何组建有效的团队进行规范化的开发;

2、有些软件公司虽然有团队的概念,但团队成员之间只有分工,没有协作,各自埋头做各自的工作,工作之间不需要配合或无法配合,彼此之间也就没有沟通,或者团队成员之间虽然有分工,但彼此缺乏凝聚力,不愿意共同为一个目标努力,不能起到1+1等于甚至大于2的作用;

3、不重视软件的测试工作,认为测试是可有可无的,即使有,也没有规范化的测试流程,没有测试计划,更不会借助于有效的测试工具和测试方法,这样的测试只能称得上是“试”,而没有“测”;更有甚者,有些软件不经过任何有效的测试就投放市场,导致的结果是程序十分不稳定,客户怨声载道,对软件公司的形象以及今后市场的拓展都会造成很大的负面影响;

4、对软件设计的重要性不够重视,有些几乎没有设计的过程,所有的项目都是从一开始就编码,各级领导跟踪项目进度的时候不是询问软件总体设计方案,而是关注有没有开始编码,这往往造成多次的返工,浪费人力和时间,而且由于缺乏架构的概念,程序完全是由代码堆积而成,最终出来的初始版本仅仅是“justcanwork”,而将提高、完善的希望寄托于后期通过增加人力来实现;

5、软件开发是个人行为而非团队行为,更有甚者,在有些软件公司里软件开发往往变得好像是个人的事,产品或项目没有立项和上马的决策过程,有什么产品大致成型了就卖什么产品,有什么能赚钱的项目就接,而不去思考有没有相应的资源去完成这个项目。产品或项目的成功和失败都归功或归咎于个人;

6、无视需求分析的重要性,认为客户的需求是无法分析的,只能做到哪儿算哪儿,功能的实现不是看客户的需求,而是看基于当前的程序结构能不能实现;这样的软件开发行为常常导致“闭门造车”的后果,做出来的功能与客户的实际需求严重脱节,只能独自欣赏;

以上的种种表现说明了一个非常浅显的道理:软件开发在这样的环境中进行只有一个后果,那就是失败。当然,失败的表现形式是多样的,可能最终能出来一个产品,但这个产品bug无数,维护困难,扩展艰难,无法适应快速变化的需求,从软件工程的角度来说就已经失败了。这样的软件公司在高竞争性以及一些信息化应用程度比较高的行业里是无法生存下去的,但对于一些处于信息化应用程度偏低的行业中的软件公司,加上软件公司自身的一些有利条件,还是能够勉强支持下去。

陕西弈聪软件信息技术股份有限公司
电话:13679229477    02989322522
陕西省西安航天基地神州四路科为城墅20栋4301