典型的作坊式软件开发公司在软件开项目中常见问题解析

有些公司开发软件不是为了创造利润,而是为主营业务服务。而且,在除了利用成熟的软件商业产品之外,软件开发的工作量在公司所有的工作中只占很小比例。 本文描述了在这类软件公司里生产软件,在软件项目中常常出现的几类问题。

软件产品广泛服务于各行业,其开发具有高科技、高投入、高产出、高风险的特点。在项目开发和软件应用中,只有将人员能力的发挥与科学技术的使用应用市场的认识进行最佳的融合,才能发挥软件的效益。

这类软件公司虽然涉足软件开发业务,但由于业务主导方向不是软件,公司领导往往不了解或忽视软件工作的特殊性,对软件的认识停留在“程序员编一些代码”的水平上。对公司内部的软件开发缺乏管理意识,使得软件开发在“认识上”就面临问题。

与IT业的软件开发组织相比较,这类软件公司中的软件开发工作机构小、人员少。公司里的软件人员待遇低,难以吸引高水平的人才,开发队伍中的人才流失率达到50%以上。由于没有高水平的开发人员和技术管理人员,软件工作状况处于初级的水平,软件开发不能按照软件工程的要求执行。公司既对软件工作没有清晰的投入产出期望值,对效果不满意,同时又对软件工作手足无措。

典型的、作坊式的公司软件开发的组织模式的软件公司的软件开发模式存在问题,这类项目开发组织机构关系不平衡:开发人员处于被支配地位,利于开发的需求无法得到满足;没有程序开发主要负责人,在技术上缺少整体性考虑和设计,不能按照软件工程执行;操作过程不规范,一个好的业务设想会因为缺少科学的工程过程、充分的可行性研究、完善的产品设计,导致开发出的软件产品与设想的产品功能效果相距甚远。这样的项目组织结构,生产软件的成功率可想而知。

软件系统建立过程中需要多方面的人才:需求方人员、懂得软件项目管理的人员、软件程序员、系统分析员。这类软件公司中由于对软件生产的不了解,往往由软件需求提出方人员对软件工作直接管理。这个工作显然超过了其能力范围,不符合软件工作的相关原则。业务人员作为项目的负责人,既不能合理地计划软件开发工作,也不可能管理好软件工作中的各种风险。这将使软件开发处于无序的风险之中。 

由于公司的软件开发一般是为了对内部业务进行支持,是辅助性的服务工作,所以一般的公司忽略了投资预算和与业务相关联的成本核算。这就可能使工作变成松散随意的实验,浪费严重。

公司里软件开发的随意性还表现在:没有软件相关的规范管理工作,缺少项目管理的方式方法和应遵守的工程过程,项目成败完全依赖个人因素和项目小组的自行组合能力;缺少高水平的技术人员和管理人员,软件方面开发经验不足,不能把握软件工程各阶段的工作重点,没有完善的需求确认过程和完整的系统设计,造成重复编程和更改大量程序。
 
总的来说,公司软件开发失败的根本原因在于,没有项目管理概念和软件工程概念。其典型的几个表现是:忽视产品设计阶段的工作;忽视或不执行软件工程过程;没有确定软件开发模型;没有软件产品化过程;缺少有针对性的培训。

而且在这类公司中,高层领导关心的是主营业务,虽然对软件开发不满意,但不能认识到问题的根源所在,改进的愿望不足。他们采取的态度是,只要公司总体利润能够支撑这种方式,就甘愿维持原状而不愿冒险主动投入、改变落后、减少浪费、提高效率,所以对实际中相关工作支持不力。 在这种情况下,软件生产的改进必然是一个艰难而漫长的过程。

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