分享
 
 
 

畸形开发:在“非软件企业”开发软件

王朝厨房·作者佚名  2007-01-03
窄屏简体版  字體: |||超大  

软件工具已经融入到企业生产经营之中,非软件企业(下文简称“普通企业”)是指涉足软件开发业务,以软件辅助主营业务的企业。这些企业开发软件不是为了创造利润,而是为主营业务服务。而且,在除了利用成熟的软件商业产品之外,软件开发的工作量在企业所有的工作中只占很小比例。 本文描述了在普通企业里生产软件,在软件项目中常常出现的几类问题。对照本文的描述,我们的企业用户是不是可以发现自己的一些影子?

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

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

图 一个完整的软件开发工作流程

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

在这种情况下软件生产的效果不佳,进行改进势在必行。但这种改进既要利于软件开发水平的提高,又要改进整体环境,困难显而易见。要彻底地改进企业软件开发,我们要先总结一下企业里开发软件的几个主要问题。

不恰当的组织结构

某企业的软件开发工作模式如下:当面临软件需求时,成立一个临时项目小组,由提出需求的业务人员(或市场及销售人员)为小组组长;指定几个软件程序员为组员;业务人员提出业务设想,程序员整理需求和编程,业务设想不断更新,软件开发随之变化,最后业务人员认为效果满意则采纳,认为不可行或开发出的效果不好则项目自动取消。

这是一个比较典型的、作坊式的企业软件开发的组织模式。

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

职责分配不当

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

以笔者了解的一个项目为例。该项目的业务负责人既不懂软件也不懂项目管理,但在项目中对于软件开发工作的时间要求、工作分配有绝对的控制权,而开发人员仅成为编程机器,导致开发人员士气低下。该项目差两周就要对外发布时,业务负责人才要求开发人员在一周内完成开发工作。而实际上,开发这个业务的软件需要至少一个半人月的工作量。可想而知,这个项目最终以失败告终。项目损失约10万。

工作流程不规范

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

企业里软件开发的随意性还表现在:没有软件相关的规范管理工作,缺少项目管理的方式方法和应遵守的工程过程,项目成败完全依赖个人因素和项目小组的自行组合能力;缺少高水平的技术人员和管理人员,软件方面开发经验不足,不能把握软件工程各阶段的工作重点,没有完善的需求确认过程和完整的系统设计,造成重复编程和更改大量程序。

有一个实例:某项目开发程序只保存在程序员开发用的计算机中,未加备份。开发过程中,程序员的机器硬盘突然出现故障,软件源文件处于极度危险之中,最后经过硬件厂商做硬盘修复,才避免前功尽弃。

可以说,我们的企业开发软件或多或少在某些地方存在“畸形”的现象。项目人员各居其位、各司其职的完善分工,在现在的企业内部软件项目组里实不多见。与一个标准的软件开发流程相比(如图),读者可以观察一下自己企业内部的软件开发“节省”了多少步骤。

据有关统计,企业开发软件中能达到投入使用标准的项目不足60%;已经开发但尚未完成或刚试用就宣告终止的项目占23%;使用一到二周时间后就宣告终止的项目占17%。而在60%完成项目中,有95%项目的维护期远超过软件开发期或需要不断升级。其主要原因是需求描述不充分,系统运行后还不断追加功能,开发周期短,没有充分的时间做完善的技术考虑,没有充分的测试时间等,由此导致项目的软件开发工作几乎没有结束标志。从开发周期的角度来看,投入开发工时6个人月以上的项目的失败率达到50%以上。在所有项目中令用户比较满意的项目不足5%。

以上的数据反映了企业开发软件的不妙现状。

总的来说,企业软件开发失败的根本原因在于,没有项目管理概念和软件工程概念。其典型的几个表现是:忽视产品设计阶段的工作;忽视或不执行软件工程过程;没有确定软件开发模型;没有软件产品化过程;缺少有针对性的培训。

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

在这种情况下,软件生产的改进必然是一个艰难而漫长的过程。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有