软件作坊如何成为软件工厂

2008-04-09 04:07:11来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

前言

  在世界软件业进入工业化生产的今天,中国却依然在进行小作坊式生产。仍然没有走出凭借个人英雄主义打天下的"作坊式"经营模式,规模偏小仍然成为制约竞争力的重要因素。在现阶段的中国,绝大多数企业与其说是软件企业还不如说是软件作坊,企业员工在50人以下的占多数,甚至还有些软件公司只有七八个人,规模小且分散。
在这些小企业里,虽然用的是最好的计算机和最先进的开发工具,但生产方式却是作坊式的。既没有项目规划书,也没有项目经理,更谈不上系统分析和设计。基本上靠一两个程序英雄单枪匹马,边想边写代码,一旦这些英雄们因故离开,正在开发中的项目就必须得停止。

  另外,程序英雄们"跳"得也快,程序员能兢兢业业在一家公司做上几年的绝无仅有。况且,这些英雄动不动就另立山头,招兵买马,然后利用自己掌握的资料开发产品,甚至跟原来的公司竞争。如此以来,全国的十大软件产业基地里到处都是这种作坊式企业。

  因此,几个程序英雄组成的软件作坊如何转变成软件工厂,是一直困扰国人的问题,本文将就管理、技术和政策环境几个方面进行一些探讨。

一、深入贯彻软件工程思想

  我国的软件企业由于规模太少,大多数企业局限于小软件的开发,大型软件大多来自国外,其中很重要的原因是开发过程管理不成体系,难以开发出高质量的软件。

  软件工程强调软件开发过程的"工程"性,把软件的设计、开发、测试、维护和管理工作当做一项系统工程来抓,表明软件不仅仅是编写代码的工作,而需要各个学科的综合应用,才能形成真正的产业化。国外在软件工程方面的经验和标准及国内在此方面的探索无疑将给软件界人士很好的启示。

  国人一直认为软件行业是聪明人的行业,凭的是高智慧,程序员都不愿意写文档。大多数编程人员基本没有软件工程的概念,我们身边有大把大把热血沸腾、雷厉风行的工程师们根本就没有踏踏实实搞设计的理念,他们一有思路就开始写代码,写完了就试,试通就得,不通再想办法。

  由国内一些软件工程化思想的积极推动者和实践者创建的软件工程专家网,就是要唤醒大多数软件工程师的意识,教大家学会走软件工程之路。

二、严格项目管理,改进软件过程

  随着信息技术的飞速发展,软件产品的规模也越来越庞大。我们知道,软件开发是一个带有一定风险的工作,为了把风险降到最低,项目经理一定要进行严格的项目管理。软件项目管理就是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。进行软件项目管理有利于将程序员的个人开发能力转化成企业的开发能力。企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越能够稳定发展。

  在项目管理的过程中,可以结合先进的管理软件和工具软件,形成规范性的文档,逐步总结经验,对当前的工作流程进行分析、整理及文档化,形成适合自己企业发展的软件过程,并用该文档化的过程指导软件项目的开发。

  在具体实施的过程中,可以选择有一定代表性和完善性的项目先进行试点,跟踪、监督软件过程的实施情况,对不满意的地方加以完善,使其成为一个尽量完美的软件过程方案,然后将这个软件过程应用到当前正在承接的或即将承接的项目上,在实际使用过程中进一步发现其中的不足和错误之处,加以改进,最后将试点的结果推广到整个企业。

三、引进先进的管理标准

  中国的软件业要想真正成为产业,就必须引进先进的管理标准,改变整个软件业管理的方式和方法。特别是随着中国加入WTO,中国软件业要提升国际竞争力,在世界上占一席之地,解决与国际接轨的问题也变得越来越紧迫。

  近年来,我国已开始有越来越多的软件企业开展ISO9000质量体系认证活动,这为规范软件企业的管理起到了一定的推动作用。然而,ISO9000系列标准并非为软件企业特别制定的,它是适用于各种生产和服务过程的标准化的质量控制体系。作为通用的标准,它更像硬件制造业的专用品,在软件产业实施起来显得力不从心,十分别扭。

  自2001年以来,国家很重视软件企业引入国际通行的CMM认证。作为目前国际上最实用的软件生产过程标准和软件企业成熟度等级认证标准,CMM能帮助软件企业改进和优化管理,实现软件生产工程化。中国软件企业必须加紧实施CMM认证,走规范化发展的道路,提升水平,形成规模。然而,CMM是以承接政府大型软件合同的企业为对象而制订出来的,我们只能"引进"而不能"拿来",要根据我国软件企业的现状进行裁减。

  特别要声明的是,企业实施CMM是为了让企业更好地发展,为企业进一步扩大规模打下坚实的基础。如果企业只是为了获得一纸证书而通过CMM,那么就已经本末倒置了,对企业的长久发展反而有害。

四、广泛使用软件复用技术

  软件复用是指在两次或多次不同的软件开发过程中重复使用相同或相似软件元素的过程。软件元素包括程序代码、测试用例、设计文档、设计过程、需要分析文档甚至领域知识。对于新的软件开发项目而言,它们或者是构成整个目标软件系统的部件,或者在软件开发过程中发挥某种作用。

  软件企业使用了软件复用技术之后,开发人员在不断完成新项目的同时,对自己的工作允许复用的部分必须不断进行分类,建立索引,并提炼出简单的使用接口。使得以后的软件项目,只要是重复或类似的工作都不必重新开发,而调用以前的工作成果就可以了。这样一来,企业就总在开发以前没有做过的新东西。当部件足够多时,一个新的项目几乎可用以前的可重用的部件就可以搭建起来。并且,对新员工来说,只需要学习部件的简单接口即可。这时,软件工厂已经基本形成。

  由此可见,使用复用技术可以减少软件开发活动中大量的重复性工作,这样就能够提高软件的生产率,减低开发成本,缩短开发周期。同时,由于软部件大都经过严格的质量认证,并在实际运行环境中得到检验,因此,复用软部件有助于改善软件质量。此外,大量使用软部件,软件的灵活性和标准化程度也得到了提高。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:OO,OO以后,及其极限(3)

下一篇:混乱的系统