中小型软件开发管理与控制分析

2018-08-06 09:20:53

0引言

信息技术的飞速发展不仅使得各个传统领域的生产效率得到了提升,同时也给软件行业的发展提供了机遇。近年来,我国的软件行业飞速发展,大量的软件企业崛起,但是受限于发展的时间,我国当前90%以上的软件企业还是中小型企业,这些企业往往也只有能力开发中小型软件。这些公司是我国当前中小型软件的开发主体,但是由于自身的规模有限,往往不很重视软件开发的管理与控制,导致软件质量不高,开发周期过长。从这个角度来看,本文对中小型软件开发的管理以及控制进行分析具有非常重要的现实意义。

1中小型软件开发管理与控制中存在的问题

1.1开发管理不规范

软件工程主要包括过程、工具和方法三个要素。软件工程方法主要有形式化方法、面向对象方法和结构化方法。形式化方法是基于形式化数学变换的,其功能是将系统规格说明转换成可执行的程序;面向对象方法在一些交互性较强、复杂、大型的系统中比较有优势,其在表示方法和概念上保持了一致性,能够保证各项开发活动之间有着平滑的过渡过程;结构化方法是将系统生命周期划分为几个阶段,采用结构化技术来完成各个阶段的任务。传统软件工程主要集中在设计和分析阶段,是基于数据的对数据和数据流进行分析的方法。传统软件工程在设计阶段主要使用的工具是针对系统整体和详细设计的流程图;分析阶段主要使用的工具有数据流图、状态变换图、实体关系图和数据字典。

当前,我国的大部分中小软件企业对于软件开发的管理并不规范,没有建立起自身的软件质量控制制度,也没有相应的组织结构设计,基本上是开发到什么程度就算什么程度,存在的问题能够解决的就解决一些,不能解决的待到日后的升级完善中去逐一解决,使得软件质量无法得到保障。

1.2缺乏高素质的研发管理人员

从我国软件行业的发展现状来看,绝大部分软件企业并没有配备专门的研发管理人员,即使有也只是项目负责人对软件的开发过程进行例行的管理。除此之外,部分有研发管理人员的企业,研发管理人员的素质也并不足以对整个软件开发项目的质量进行管理和控制。

1.3缺乏合格的产品经理

产品经理在中小型软件开发过程中的作用同样是至关重要的,它需要对产品及其发展方向进行定位。这就使得产品经理必须对软件市场、用户实际需求有一个非常深入的认识或者了解,同时要具备较高的悟性、较丰富的管理经验和较强的管理能力。除此之外,产品经理还需要对IT技术的发展态势有非常清醒的认识,尤其是需要对相关的开发工具以及开发技术有一个较为深刻的理解。从某种程度上来看,产品经理是否称职直接关系到软件开发的结果。但是,从当前情况来看,我国的软件企业普遍缺乏这种人才。

2中小型软件开发的管理与控制流程

将中小型软件的开发作为一个项目来对待有一定的科学性,在谈及软件的开发管理以及质量的控制之前,我们首先要将整个软件开发项目的基本流程进行分析。

2.1中小型软件开发项目的阶段划分

中小型软件开发项目从最初的可行性研究,到最后的项目完成基本上都需要经过8个阶段,如图1所示。



在可行性研究阶段,需要对项目的内容进行定义,对项目涉及到的技术进行分析,了解项目针对的细分市场,制定项目策略,做好投资与回报分析,分析当前已有的项目资源,并且对其它需要分析的因素进行考虑。在方案设计过程中,需要确定整个项目的技术支持,制定基本设备的布置方案,确定各方面的成本,制定粗略的项目预算。在初步设计阶段,需要根据中小型软件开发项目的具体需求,去制定一些细节信息,比如确定软件开发的基本流程,制定编写流程说明书,完成软件的标准确定,以及各模块的基本方案,制定较为准确的项目预算,并且确定软件开发过程中具体的实现技术。在详细的设计阶段,则是根据初步设计的结果,完成所有的技术细节工作。比如,确定各项开发流程中的细节,完成所有的工具选型以及软件开发前的准备工作,制定详细的流程说明以及使用说明,确定项目预算。在项目的实施阶段,则主要是根据项目的设计和提前准备的方案进行实施。在软件项目开发的过程中如果发现详细设计存在一定问题,则需要通过先行对设计进行修改,然后再进行软件的开发,确保软件开发的质量。在试运行阶段,主要是解决上述阶段中存在的问题,然后正式进行开发。

2.2中小型软件开发管理与控制的组织机构设计

为了确保中小型软件的开发能够得到较为科学的管理,确保软件开发的质量能够得到控制,软件公司有必要建立起相应的软件开发组织机构。详情如图2所示。



如图2所示,软件公司设置公司产品管理组,其下设研发部门以及产品管理两个部门,研发部门下设软件架构与质量控制机构,在早期对软件的开发提供质量管理支持。在其下再设置开发组和支持组,开发组根据项目的实际情况有多个,这需要根据软件开发过程中模块划分的实际情况进行确定。而在软件开发的支持组,则包括了软件的配置管理以及软件的测试与支持两个部分,由其负责对开发组开发过程中软件管理与质量控制提供支持。

在上述组织机构之中,软件架构与质量控制机构是整个中小型软件开发管理与控制的核心机构,其主要的职责是对软件开发的质量进行管理和控制,及时发现开发过程中存在的问题,并且积极地解决问题,确保进入到下一个阶段的设计符合设计规范的要求,从而实现软件开发的全程监控。这一机构是非常设机构,主要有项目的研发经理、产品经理以及系统分析员等人员组成,然后根据项目的进展需要,由研发经理召集进行项目的分阶段质量评审。