APP下载

一种中小型软件企业软件过程改进框架研究

2010-08-08马小龙

电脑与电信 2010年10期
关键词:框架项目管理软件

马小龙

(湖州师范学院商学院,浙江 湖州 313000)

1.引言

国际上采用的软件过程改进模型如CMM/CMMI是软件过程改进领域的重要成果,它是适用于软件企业质量管理和过程改进的重要标准。但是,这些模型主要是针对大型软件企业的,对于国内为数众多的中小型软件企业并不完全适合。因此,寻找一种适合国内中小型软件企业的软件过程改进框架显得非常重要。以下在分析和借鉴CMMI和ASD理论基础上,研究出了一个面向国内中小型软件的软件过程改进框架。

2.中小型软件企业特点

我国的软件组织以中小企业为主,50人以下的软件企业占大多数,这些企业有一些共同的特点。

(1)小型软件员工的年龄集中在25~30岁,学历大多在本科以及硕士以上,但是却没有相关的培训计划。企业的领导者认为员工雇佣是为了马上工作,培训是一种昂贵的、浪费时间与金钱、没有回报的付出。

(2)小型软件企业员工认为自己企业的优势在于拥有优秀的技术人员,而问题在于:时间难控制、开发压力大,用户需求变更频繁,人员流动大。

(3)小型软件企业的业务负责人大多是计算机、软件和其他的相关专业,极少是管理专业,表现出人员的管理混乱。企业经营者缺乏有效的管理手段,难以准确地掌握并控制产品及项目的开发成本,导致企业获利能力下降。

(4)小型软件企业开发规模平均要小于大型软件企业,一般项目要求在6个月内,所接受项目的大小不一,即小型软件企业所接受的不一定是小型软件项目,这就要求小型软件企业同样要有好的项目管理能力。

3.软件过程改进框架的理论基础

3.1 CMMI的过程域

CMMI过程域分为四类,过程管理类、项目管理类、工程类和支持类。

过程管理类的过程域包括组织过程焦点(OPF)、组织过程定义(OPD)、组织培训(OT)、组织过程性能(OPP)、组织革新和部署(OID)。

项目管理类过程域包括项目策划 (PP)、项目监督与控制(PMC)、供应商协议管理(SAM)、集成项目管理(IPM)、风险管理(RSKM)、集成团队(IT)和定量项目管理(QPM)。

工程类过程域包括需求开发(RD)、需求管理(REQM)、技术解决(TS)、产品集成(PI)、验证(VER)和确认(VAL)。

支持类过程域包括度量与分析(MA)、过程和产品质量保证(PPQA)、配置管理(CM)、组织集成环境(OEI)、原因分析和解决(CAR)、决策分析和解决(DAR)。

3.2 ASD理论(敏捷软件开发)

敏捷方法论诞生于19世纪中期,当时涌现了一批软件行业的激进人士,他们反对那些以过程为本的重型软件开发方法(例如:传统的瀑布开发方法)。在2001年,17位软件业界的专家们齐聚一堂,讨论正在兴起的轻量级开发方法。专家们给这类轻量级的方法学起了一个新的名字叫做敏捷,并发布了敏捷开发者宣言。敏捷方法强调以人为本,专注于交付对客户有价值的软件。在高度协作的开放环境中,使用迭代式的方式进行增量开发,经常使用反馈进行思考、反省和总结,不停地进行自我调整和完善。敏捷型(agile)的软件开发方法,以矫正官僚繁琐过程,许可对过程进行自主调整为特征,在软件业引起了极大的兴趣。敏捷型方法的合理性,着重点并不是放在其"轻重"上,而是于他们的适应性性质和以人优先的理念。

4.面向中小软件企业软件过程改进框架的建立

4.1 框架的过程域组成

本框架模型对软件生命周期采用增量迭代模型的描述方法,将项目管理按模型的不同阶段划分不同的管理内容,使项目管理和项目开发过程紧密结合。

本框架模型将软件开发分为项目开发和项目管理活动,按增量迭代模型描述方法,项目开发活动被归入需求分析、系统设计、编码和单元测试、综合测试和维护五个过程域;项目管理活动的不同性质被纳入需求管理、软件项目计划管理、软件项目跟踪和监控、软件质量保证和软件配置管理五个过程域。

4.2 框架中各过程域的分析

(1)项目管理过程。①需求管理过程域,分配需求被有效地建立成一个基线,这个基线是以后活动的基础,软件计划、产品和活动与分配需求保持一致。②项目计划管理过程域,软件估计被文档化,以供计划和跟踪软件项目使用,软件项目的活动和约定是有计划的,并形成文档。③项目跟踪和监控过程域,周期性地跟踪和监督项目各单元,如进度、工作量、成本和资源等,不断了解项目的进展情况,当项目进展显著偏离计划时采取纠正措施。④软件质量保证过程域,通过提供一种有效的人员组织形式和管理方法,对产品开发质量进行检查和监督,从而持续改进软件质量。⑤软件配置管理过程域,是软件过程的关键要素,目的是建立并维护软件产品在整个软件生存期内的完整性,是开发和维护各个阶段管理软件演进过程的方法和规程。

(2)项目开发过程。①需求分析过程,对用户进行需求调研,获取用户需求并定义产品需求。②系统设计过程域,设计开发软件产品的体系结构、用户界面、数据库和子模式等。确定所采用的技术工具,从而在需求和代码之间建立桥梁,直到开发人员去实现产品。③编码和单元测试过程域,根据系统设计文档的要求开始对各模块进行编码,对编码的阶段性产品进行单元测试。④综合测试工程域,依据用户需求、系统设计文档对最终产品进行全面测试,以得到用户所需求的产品。⑤维护过程域,客户依据合同和需求文档对产品进行测试和维护,以确保软件满足用户的长久需求。

5.框架的评价

为了检验框架的效果,特设置了一个评分规则,列出一系列评分指标及权重,并通过5位中小软件企业项目管理负责人和5位专家进行评价。

(1)列出7个评分指标,每个指标的满分指为10分,这些指标如表1所示。

(2)邀请10位专家,针对评分表进行打分,最后得到的评分分别为75分、85分、90分、88分、84分、79分、93分、86分、91分、87分。

(3)综合专家打分结果,进行加权平均,计算最终评分结果为85.8分,与基准值进行比较,确定效果为良好。

6.结束语

本文给出的软件过程改进框架是在综合考虑国内中小型软件企业特点的基础上以CMMI和ASD理论为基础构建的,其目的是帮助国内中小型软件企业提高软件能力成熟度。今后的工作需要在更多实践的基础上对框架进一步规则化和细化,以提高其可操作性。

表1 指标评分表

[1]黄锡伟.CMMI解析与实践[M].北京:人民邮电出版社,2004.

[2]苏术峰.我国中小软件企业竞争力的影响因素及提高途径[J].商业研究,2008,(7).

[3]Dean,Leffingwell.敏捷开发:企业级最佳实践[M].冯雁,娄嘉鹏译.北京:电子工业出版社,2009.

[4]Agile Modeling Effective Practices for eXtreme Programming and the Unified Process(美)ScottW.Ambler.2002.

[5]CMMIfor Development Version1.2 CMMI-DEV,V1.2.Carnegie Mellon Software Engineering Institute,Pittsburgh PA 15213-3890.

[6]郭笑梅.中小型软件企业的软件过程改进研究[J].电脑知识与技术,2009,(5).

猜你喜欢

框架项目管理软件
装配式EPC总承包项目管理
框架
禅宗软件
基于大数据分析的集合式EPC总承包项目管理软件技术的应用
项目管理在科研项目管理中的应用
广义框架的不相交性
未来如何更高效地进行工程项目管理
软件对对碰
关于原点对称的不规则Gabor框架的构造
一种基于OpenStack的云应用开发框架