文/郭苏川
中小型企业软件过程改进方法
文/郭苏川
对于一些中小型软件企业来说,只有当企业建立的改进框架与企业实际情况相符合时,其改进软件过程的工作才能顺利进行。本文将依据ASD和CMMI这两个理论,以国内中小型软件企业为研究对象,对其改进软件过程的方法加以探讨,构建了以CMMI为基础的框架来对软件过程加以改进,希望为企业的软件改进提供参考。
中小型软件企业 CMMI 软件过程改进
CMMI和CMM是两种改进软件过程的模型,作为重要成果它们在国际上被普遍使用,它们可以在过程改进与质量管理上来对软件企业加以衡量。然而这两个模型是为大型软件企业量身定做的,并不充分适用于中国数量庞大的中小型软件企业。所以,就中小型企业而言,构建合适的改进框架以满足其软件过程改进的需要十分必要。下文通过对CMMI和ASD两个理论进行探讨并加以借鉴,针对国内中小型软件企业,构建一种合适的软件过程改进框架。
中小企业是我国软件企业的主要类型,大部分企业的员工都少于50人,它们都存在下面这些特点。
(1)以小于30岁的年轻员工为主,大都具有本科及以上学历,但是却没有受过软件过程改进的培训。企业的管理者并不能很好的认识到培训的重要性,认为培训是对时间与金钱的浪费,只一味地想让员工立刻上岗。
(2)企业员工并不能很好的认清企业自身的优势,在它们看来,技术人员足够优秀就行,但是存在这样一些问题:时间不可控、有很大的开发压力、用户的需求在不断变化。
(3)在这些企业中,管理者大都来自计算机及其相关专业,管理专业出身的非常少,这就使企业的管理变得混乱。经营者没有有力的手段来对企业进行管理,造成企业盈利水平低下。
(4)开发规模小,项目给定时间小于6个月,有时也会接受大型项目,这对企业管理项目的能力有所要求。
CMMI 有以下四类过程域:
(1)过程管理类过程域:包括五部分内容,组织过程定义、组织过程聚焦、组织过程性质功能、组织培训计划以及组织部署和革新。
(2)项目管理类过程域有以下五部分内容:项目监控、项目计划、供应商协议管理、项目集成控制和风险评价。
(3)工程类过程域有以下六部分内容:需求分析、技术解决计划、产品集成、需求管理、检验证明和确认生效。
(4)支持类过程域有以下五部分内容:过程保证及产品质量保证、配置设置、测量分析、因果分析和解决计划以及决策分析及解决计划。
敏捷方法论在19世纪50年代首次被提出,直到2001 年,这个轻量级开发方法才被命名为敏捷。敏捷方法以人为中心,将有价值的软件开发作为重点。在开放的环境下,进行全面协调合作,采用迭代的形式来实现增量开发,以反馈的形式来实现自我改进。由于敏捷软件开发能通过自主调整来对繁复的过程予以矫正,其受到软件行业的广泛关注。此方法之所以合理,并不是因为它的“轻重”,而是因为它的以人为先和优越的适应性。
为了有机结合项目的管理与开发过程,本框架利用增量迭代模型来对软件的生命周期加以描述,根据阶段把项目管理分为不同内容。此时,软件开发可以分为两个过程:项目开发过程和项目管理过程。
4.2.1 项目管理过程
(1)需求管理过程域,将分配需求统一成一个标准,并根据此标准进行活动,使产品与软件计划相符,使分配需求与活动相符。
(2)项目计划管理过程域,为了将软件估计提供给软件计划和项目跟踪使用,需要将软件估计文档化。
(3)项目跟踪和监控过程域,为掌握项目的进展,有计划地对项目各部分如成本、进度、工作量和资源等进行跟踪与监督,当项目进展显著偏离计划时采取纠正措施。当项目发生显著偏离的情况时及时纠正。
(4)软件质量保证过程域,设计一种人员组织形式与适当的管理方法,检查开发产品的质量并进行监督,以达到改善软件的目的。
(5)此程域是软件过程的重点,目的是使产品在生存期内保持完整,为软件进程的各阶段提供方法与要求。
4.2.2 项目开发过程
(1)需求分析过程,调查并获取用户的需求信息,对产品进行需求定位。
(2)系统设计过程域, 对软件产品的数据库、子模式、用户界面和体系结构等予以计划开发。并对使用的技术与工具予以确定,从而使代码与需求相联系。
(3)编码和单元测试过程域,以设计文档为依据,首先对各个模块实行编码,然后对得到的阶段性产品单元实行测试。
(4)综合测试工程域,以设计文档和用户需求为根据,系统地对整个产品予以测试,使产品符合用户要求。
(5)维护过程域,客户自行按照合同对最终产品予以测试和维护,已检验产品是否满足用户需求。
为了对该框架的效果进行评估,特意制定了下面的评分规则,规则包括一些评分指标和占比,分别由5位中小软件企业项目负责人与5位专家进行评分。
(1)共有7个评分指标如:是否符合软件规格说明,能否完成客户要求,是否易于理解,是否易于接受和使用,是否能取得明确的结果且对外可见,是否出现过程错误,是否受意外发生问题的干扰。评分标准分别设为:不及格(6分以下);及格(6-7分);良好(8-9分);优秀(9-10分)。
(2)邀请 10 位专家,根据各指标进行打分,最后得到以下评分: 75 分、85 分、90 分、88 分、84 分、79 分、93 分、86 分、91 分、87 分。
(3)对专家评分结果进行统计,加权平均后得到的最终结果为 85.8 分,通过与基准值的比较可以看出此框架效果良好。
本文以国内中小型软件企业的特点与实际情况为根据,在CMMI和ASD为理论基础构建出改进软件过程的框架,为国内中小型软件企业构建框架提供参考,从而帮助其提升软件能力。以后可以结合实践对此框架进行细化,使其具备更强的可操作性。
作者单位南京浩博科技有限公司 江苏省南京市210000
郭苏川(1981-),男,江苏省徐州市人。大学本科学历。工程师,目前从事软件咨询服务、软件过程改进方面的工作。