本站小编为你精心准备了中小型软件企业软件开发管理能力探讨参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。
摘要:本文介绍了评价企业软件开发能力的重要参考CMM的主要用途,分析了中小型软件企业的特点,给出了在中小型软件企业中实施CMM的步骤与策略,为中小型软件企业提高软件开发管理能力指明了方向。
关键词:软件企业能力成熟度模型软件过程改进
一、引言
CMM是软件过程能力成熟度模型的简称,它主要用于软件开发过程与软件开发能力的评估与改进,CMM自问世以来备受关注,在很多国家与地区得到了广泛的应用,成为衡量软件公司软件开发管理水平的重要参考因素和软件过程改进事实上的工业标准。
二、CMM的主要用途有
1.软件过程评估。软件过程评估主要用于软件企业自身内部的软件过程的改进问题,目的在于发现缺陷与不足,提出软件过程改进的方向。在评估过程中,由经过CMM系统培训的专业人员调查,评估与鉴别软件过程中存在的问题,确定出企业软件过程的现状,从中分析出企业最急于解决或者最重要的与软件过程相关的问题,将问题汇报给企业管理层,以便取得企业管理层对软件过程改进的支持。
2.软件能力评价。对接受评价的企业或软件开发小姐,评价出他们在一定条件下,即资金与时间的约束条件下能否按时按质完成软件开发项目的能力。分析出其能够承受风险的系数大小。通过利用CMM确定评价结果后,可以利用这些结果确定选择软件外包企业的风险,也可以判断相关企业在软件开发过程中的工作进程,指导他们改进相关的软件过程。3.软件过程改进。CMM可以用于指导软件开发企业优化软件过程,对软件过程进行计划,制定与过程定义。CMM指出了软件企业如何摆脱无序与不成熟的软件过程,形成一个成熟的有规律的软件过程所必经的优化与提高的途径。同时CMM也列出了达到每一个成熟度等级所必须关注的软件过程的关键内容,即软件过程域,以及完成每一个软件过程域所必须要做的关键实践。随着软件企业CMM级别的提高,软件企业的软件过程能力成熟度不断地增长。
三、中小型软件企业在软件开发过程中的特征
不同企业有不同的情况,例如不同的规模,企业文化,技术水平,不同的优劣势,所以在实施软件过程改进时,要根据不同企业的特点有所裁减,要在软件过程改善时,有针对性的发挥优势,减少劣势所可能造成的负面影响。中小软件企业相对于大型软件企业有以下鲜明特征:第一,由于企业规模的限制导致中小软件企业大多数从事的是系统集成软件的开发,即特性软件的开发,人员规模与资金规模相对于大型软件开发企业的有限,使中小软件企业很难花费大量时间对开发员工进行彻底的软件过程改善的培训,且在软件发行过程中很难进行良好的商业宣传与运作,这些都是由于规模有限产生的负面效应。第二,在企业文化上,中小软件企业的员工可能参与到软件开发流程中的各个环节与方面,例如需求分析,设计,开发或测试。在开发过程中的职责划分上,以员工为中心而不是以角色为中心。软件开发层次不明晰,不利于保障软件开发质量,因为不能做到像大型软件企业那样,设立不同的专业软件过程组来进行软件过程改善,比如划分了专门的软件工程组与软件过程组等。第三,中小企软件企业的项目成功主要依赖于核心开发人员的技术与管理能力,企业缺乏明确定义的软件过程,虽然这种开发模式能确保开发过程中的灵活性与自由化,但同时造成少部分人的工作量超负荷,也使得成功的开发模式与经验得不到有效的继承,限制了软件开发能力的提高,中小型软件企业的人员变更相对频繁,这使得软件过程改善必须以软件过程及其活动为中心,而不能以某个员工为中心。第四,中小型软件企业的沟通比较容易,这造成各项工作的文档化程度不高,主要是通过交流来达到监控项目的目的,几乎没有或者很少有库存的过往开发项目的文档资料。
四、CMM在中小型软件企业中实施的步骤
1.需求管理。从客户处获取原始需求,经分析后形成需求说明书,获得客户授权与认可,软件开发项目组评审需求说明书,加入配置管理,创建需求基线,对需求的开发状况进行跟踪,要及时了解需求的变化与实现情况,一旦需求变更,需要按配置管理变更流程的执行。
2.软件项目计划。软件项目计划是软件项目跟踪与监控的基础,项目经理根据需求说明书进行估算,拟定软件项目计划,交上交软件开发计划给上级部门评审与审批。审批通过后,加入配置管理。
3.软件项目跟踪与监控。项目经理使用进度表进行监控,根据项目的实际执行情况,拟定进度报告,并得到项目组相关成员的确认,一旦计划与实际执行情况有偏差,项目经理要发现差距,并形成问题报告。高层经理审查项目报告,监督项目经理修正计划和解决已经存在的问题和风险。
4.软件质量保证。如有专人负责软件质量保证,可拟定专门的质量保证计划,根据计划进行审查,记录下不一致的问题,将问题记录到项目问题日志,了解问题的解决情况,并定期向高层经理汇报。
5.软件配置管理。如有专人负责软件配置管理,可以拟定专门的配置管理计划。创建开发域和基线域,开发人员在各自的开发域上工作,软件配置管理则标识配置项并加入基线域。在各个阶段结束时创建基线,对配置项和基线进行审计。质量保证人员定期审计配置管理活动。
6.同行评审。项目经理确定评审的人员、时间与地点,将相关材料发给评审人员,评审人员评审材料,记录发现的问题,如果时间充足,以会议方式进行交流,否则由项目组成员各自提交发现的问题,最后汇总发现的问题,由项目经理指定相关人员跟踪解决问题。
五、CMM在中小型软件企业中实施的策略
对项目组相关成员进行CMM的培训,对软件企业当前的工作流程进行分析,整理及文档化,制定一个适合本企业的软件过程。合并管理任务,没有必要重复设置经理职位,可以把相关工作交给有关人员实施,个人可以执行项目或者组织中的多个角色。建立合理的组织结构,成立软件工程过程组,同时软件质量保证部门要独立于研发及测试部门。可以合并的文档就合并,可以消除的文档就消除,从而减少生成文档的负担,保持文档的简单性。适当合并评审实践,把评审实践非正式化,充分利用其他会议或者碰头机会解决评审需求。在软件开发过程中,将CMM与个体软件过程PSP和小组软件过程TSP有机地结合起来,以帮助提高软件企业的开发管理能力。
总结:
中小型软件企业的软件过程能力薄弱,需要以CMM为指导提高软件开发管理能力,但由于中小型软件企业相对于大型软件企业有自身的特点,所以需要我们对CMM进行相应的剪裁和改进,使之适合于中小型软件企业和软件开发项目的实际需求。
作者:王嘉星 单位:桂林理工大学信息科学与工程学院