|
职称论文发表 | 职称论文发表 专业提供:发表论文、论文发表、毕业论文、职称论... | |
住在汉口网 | 住在汉口网是一个专业提供汉口房产信息、车辆服务、生活服务、招... | |
职称论文网 | 职称论文网提供:发表论文、论文发表、毕业论文、职称论等服务。 | |
|
一、软件企业实施过程管理的必要性
软件工程过程管理在20世纪70年代引起国际软件产业界的广泛重视,因为在采用软件工程方法克服软件危机的过程中,人们认识到70%的软件项目失败是因为软件开发过程中管理不善而引起的,软件过程管理是影响软件项目的全局因素,而技术只影响局部。
软件过程是我们用来生产软件产品的一系列工具、方法和实践的集合。软件过程管理的目标是,在按照计划生产产品的同时提高组织的能力,以便生产更好的产品。软件过程管理的基本原则就是在许多领域都已经得到成功应用的统计过程控制。当过程处于统计控制之下时,重复相应的工作就会取得相似的结果。如果需要持续地取得更好的结果,就需要改进过程。
软件工程管理的发展经历了三个时代,第一个阶段是从70年代开始,以结构化分析与设计、结构化测试为特征的结构化时代。第二阶段是从90年代中期开始,进入以CMM、PSP和TSP为标志的软件过程改进时代。软件工程的第三个时代,是以过程管理和面向对象技术、构件技术为基础的软件工业化时代。
我国软件产业目前处于第一阶段后期和第二阶段的初期,软件工程的发展趋势应该引起软件企业的高度重视,积极采取措施迅速转入以过程管理为中心的软件工程阶段,跟上世界软件发展的步伐,及早走向软件工业化生产的阶段。
90年代初,以Watts S.Humphrey为首的美国Carnegie Mellon大学软件工程研究所推出的软件过程能力成熟度模型(CMM),被公认为软件工程学的一项重大成果,在国际软件业CMM的应用已经有十多年的历史,数千个软件企业利用CMM进行过程改进,取得显著的成效。国外许多成功的软件企业都以CMM作为过程管理模式,结合软件企业自己的具体情况建立了有效的软件过程管理体系,保证了软件产品的质量,提高了软件企业的市场竞争能力。
二、我国软件产业的现状与分析
我国的软件产业起步较晚,与国际先进的企业有明显的差距,尽管我们有一大批优秀的软件开发人才,但许多软件企业普遍存在着软件开发过程不规范,缺乏有效的质量保证体系,特别是一些小型软件企业的软件开发还停留在作坊式的形式,软件开发进度和成本不能控制,软件产品不能形成规模,没有市场竞争能力。分析我国软件企业的现状,上述问题的存在主要有以下几个原因:
1、软件企业缺乏规范的软件开发过程管理体系。
2、软件企业的过程管理机构不健全、人员职责不明确、体制运行不灵活。
3、软件企业的开发和管理人员,只注重软件产品功能,忽视开发过程 的质量。
4、软件企业的员工对软件过程改进缺乏认识,企业没有建立过程改进的机制。
5、软件企业的规模较小,资金有限,对过程管理和过程改进的研究和跟踪投入少。
6、软件企业在软件开发中,只注重人员个人能力的发挥,缺乏协同开发的团队作用。
7、软件企业缺少有效的员工培训。
8、软件企业忽视企业文化的建设。
国际软件产业的两个成功的模式,美国和印度都是以CMM为指导结合本国情况,通过实施软件过程管理和过程改进提高软件的市场化,推动了软件产业的快速发展。在90年代初印度的软件产业和我国几乎处于相同的起点,但目前已经是世界软件出口大国之一,软件产品远销世界70多个国家和地区,软件产品的出口量是我国的近百倍。其主要原因就是印度的软件企业全面引进并推行实施了CMM,保证了软件产品的质量和进度要求。
中国软件产业要走向国际占领世界软件市场,唯一的办法就是走软件生产规模化、标准化的道路,因此首要的问题就是结合中国的国情,以CMM为指导,认真研究软件过程管理的方法和措施,提高软件过程管理水平,逐步建立符合中国国情的基于CMM的软件开发过程管理规范。
三、CMM在软件过程改进中的作用
CMM为软件企业的过程改进提供了一个阶梯式的进化框架,它吸取了以往软件工程的经验教训,指明了一个成熟的软件企业在软件开发过程中需要关注的技术问题和管理问题,提出了各个不同成熟度阶段软件过程改进的目标、任务、能力、活动以及度量和验证。 CMM有两个基本用途:即软件过程改进和软件过程评估。
软件过程改进不是一朝一夕的事情,是通过一系列微小的、持续不断的过程实现的。在软件开发过程中,首先要把整个软件视为可以控制、度量和改进的过程。把软件开发过程定义为一系列任务,正确执行这些任务将会得到预期的结果。对于一个全面有效的过程,必须考虑全部必要的任务之间的相互关系,考虑使用的工具和方法,考虑承担任务的人员素质、技能、培训和激励措施。实施软件过程改进,软件企业需要进行下列必要的工作:
1、分析软件企业软件开发过程的现状了解存在的问题。
2、明确软件企业过程改进的目标。
3、制定软件企业过程改进活动计划。
4、确定软件企业过程改进所需的活动内容并按排先后顺序。
5、落实软件企业实施过程改进计划所需的资源。
6、按照软件企业过程改进计划开展各项改进活动。
7、实施有效的过程度量并及时反馈。
8、对过程度量与过程改进目标进行分析调整过程改进活动计划。
CMM蕴含了“持续改进”的新兴管理思想,是为软件企业提供持续改进自身能力的方法和手段。它并不强调所有软件企业都采用统一的管理模式和规范,而是提供一系列过程改进目标和相关的关键活动。CMM注重过程改进的综合效应和长期效应,强调软件开发的过程控制和团队协作的作用。
软件过程评估是找出软件企业中的关键问题,制定改进策略和改进的优先次序,指导软件企业实现自我改进。软件过程评估是对软件企业进行评审,其基本目标是:熟悉软件企业的过程运作方式,确定软件企业的主要问题和最需要改进的方面,提出过程改进的指导思想和建议。
过程改进是软件企业在激烈的市场竞争中持续发展的必要条件,也是实现软件生产工业化的必要条件。我国政府已经发布了一系列鼓励软件企业实施过程改进的扶持政策,鼓励有条件的软件企业尽快进行CMM评估,通过实施CMM评估来改进组织的软件过程,提高我国的软件产业参与国际竞争的能力。软件过程改进是一个长期艰巨的工作,需要软件企业的全体人员持续不断的研究和实践。我国的许多中小软件企业目前仍然以结构化生产方式为主,有些软件企业甚至还是作坊式的产品开发,大部分的软件企业缺乏文档化的过程规范,对过程和产品没有持续有效的测量,软件过程的历史数据严重缺乏,在软件开发的工作量、进度、成本和质量的估算中,缺少历史数据的参考依据。这些都是在软件过程改进道路上的困难,我们必须做好充分的准备。
四、软件过程改进的方法与措施
分析世界各国实施过程改进和CMM评估的数据,参与过程改进和评估的软件企业规模有大有小,从数十人至数千人不等,有许多中小软件企业也通过过程改进或评估取得很好的效果,说明软件过程改进和CMM评估在不同软件企业规模上普遍适用。随着我国软件产业的扩大,软件产品必然要参与国际竞争走向世界市场,因此软件企业实施过程改进有了迫切的需求和必要的动力,而且也具备了一定的条件。
实施软件过程改进应该遵循以下6个原则:
1、软件过程改进必须获得软件企业高层管理者的支持、监督和实施。
2、软件过程改进需要组织的全体人员参加,需要软件企业的团队努力。
3、软件过程改进需要了解熟悉企业当前的过程现状。
4、软件过程改进是持续的改进过程。
5、软件过程改进不会自发进行,需要有意识的努力和周期性的增强。
6、软件过程改进需要软件企业投入必要的时间、技能和资金。
任何一个企业的过程改进工作,其措施和效果与企业原有的基础、在CMM评估的投资力度和该企业从事过程改进成员的水平和积极性等因素有关。为了有效的实施过程改进和CMM评估,软件企业应该关注以下几个问题:
1、过程改进必须为软件企业的业务目标服务。
2、高层管理者对过程改进要有足够的重视并亲自参与,这样才能调动企业各方面的力量和积极性,发挥企业全体人员的作用。
3、培养和建立企业的过程文化,有效的解决基于CMM的过程改进与中国文化的冲突。
4、建立高素质的过程改进队伍,既要有规范的组织机构保证,还要有有效的培训机制。
5、要重视软件过程的测量工作,在软件开发过程中,要定期地收集过程数据,了解当前各项活动的状态和实际结果,分析偏离 数据,为过程改进工作提供定量依据。
6、按照企业自身的特点和需求与CMM过程改进有机的结合,要联系实际避免生搬硬套。
7、要充分认识到过程改进的长期性和艰巨性,不能急功近利。
软件企业实施过程改进需要进行长期、艰巨的工作,需要持续不断地进行研究、实践并加以创新,软件过程改进是一个循环式螺旋上升的过程,要有一个长期不断改进的战略计划和具体实施步骤。分析国内一些软件企业实施过程改进和CMM评估的情况,笔者提出几点措施以供参考:
1、软件企业的高级管理者要有专人负责过程改进的全面工作,检查和评审过程改进的各项工作,协调过程改进所需的各种资源,如人员、技术、设备、资金等。
2、软件企业内部建立SEPG,该小组成员要经过严格的培训,具有完备的CMM知识,对评估方法及软件工程和过程管理有深入的理解,有丰富的软件产品开发经验。
3、SEPG人员依据CMM评估过程规范和要求,评估组织的软件过程能力。标识出组织软件过程的强项和弱项,并绘制出关键过程剖面图。
4、SEPG人员根据评估结果,制定组织软件过程改进计划和方案。包括,过程的目标、任务、执行的部门和人员、实施的起始和终止时间、过程改进过程的考核检查评审办法等。
5、软件企业高级管理者对改进计划和方案的可行性和可操作性进行评审。
6、开始实施改进计划,包括制定软件过程文档、选定实施项目、制定项目过程改进的具体计划和实施步骤,制定必要的过程改进培训计划等。
7、按照CMM的要求,对过程改进实施过程进行验证和度量,并对过程和执行人进行必要的考核。
8、根据验证和度量结果的分析,及时修订和调整过程改进计划和方案。
9、推广试点项目的过程改进经验,在全企业中实施过程改进。要以CMM为指导,结合企业的现状和每个项目组的实际情况适当进行剪裁。
软件企业的过程改进是一个长期的、艰巨的工作,需要软件企业持续不断的进行研究、实践和改进。经过长期的循环改进,组织的软件过程能力一定会逐步成熟,市场竞争能力也会不断增强 职称论文发表网http://www.issncn.com
职称论文发表网http://www.issncn.com
|
|
|
|