美章网 资料文库 Scrum敏捷软件开发研究范文

Scrum敏捷软件开发研究范文

本站小编为你精心准备了Scrum敏捷软件开发研究参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。

Scrum敏捷软件开发研究

当前在软件开发领域存在着两种典型的软件开发模式,其中CMMI标准因为要求软件设计主体遵循较为复杂的设计过程,在软件设计过程中需要产生和维护大量的文档,所以又被称为软件设计的“重载”方法。另一种敏捷开发方法着重于软件开发的效率,又被称为软件设计的“轻载”方法,多年来在软件设计领域都认为CMMI和敏捷开发是对立的,但是笔者并不这样认为,本文将就结合CMMI的scrum敏捷软件开发问题进行简要阐述。

1Scrum与CMMI结合性

Scrum是上世纪九十年代开发的一种敏捷软件设计模型,这一模型主要有产品负责人、Scrum负责人和Scrum团队组成,具体的组成人数根据设计主体的特点不同又会有不同,在Scrum开发模式下,产品负责人要负责制作和维护产品需求列表,作为每次冲刺的输入,根据产品需求列表的内容,在冲刺之前的贮备会议上制定整个冲刺过程的任务列表,然后就可以进入到软件设计的冲刺阶段,这一时间并不固定,大部分要持续2到4周的时间,在这一过程中每天都要召开囊括所有团队成员的会议,具体设计人员汇报前一天的进度,并对当天的工作进行安排。冲刺开发完成以后进入到冲刺演示阶段,在这一阶段所有的设计人员对设计软件进行演示审核,最终确定所设计的软件是否符合要求。在软件的设计活动中Scrum与CMMI对比主要集中在三级域上,Scrum对CMMI的三级域的不支持支持情况分布如表1所示,由表1中可以明显的看出Scrum过程对CMMI三级过程域的不支持主要集中在过程管理类过程域,并不存在无法克服的结合问题。

2Scrum敏捷软件开发的改造

2.1人员的角色分配在软件设计的CMMI模式中软件项目一般应该具备以下几种角色:项目经理、软件总设计师、软件设计师、软件测试员、软件质量保证员、软件配置管理员。而相应的Scrum中指设置了产品负责人、Scrum负责人和Scrum团队及中国角色,从组织机构和人员分配中可以看出二者的差异,所以在结合过程中应该在Scrum团队中再增加软件质量保证员和软件配置管理员的角色。

2.2制定项目计划在具体的软件设计活动中Scrum敏捷开发采取的是一种动态项目管理方式,如图1所示,为了适应不断变化的软件设计需求,Scrum模式下软件设计的冲刺执行与项目规划是并行的,通过对上一阶段工作的总结并制定下一步工作计划来保证项目的延续性和正确的方向性。在CMMI模式中项目管理是从最初的项目设计开始的,通过将设计目标有机分化为独立组成部分来实现设计工作的延续,在有机部分设计过程中通过对分项的独立管理和整体的统筹管理保证设计方向的正确性。在项目管理活动中对二者的结合通过将CMMI项目策划的过程域对应到两个层次应用来实现,这两个层次分别被命名为目标层和冲刺层。项目层对应用户的要求设定产品任务列表,而冲刺层则对应任务列表结合软件质量保证员和软件配置管理员的新角色,保证软件设计的正确方向性。

2.3与过程和产品质量保证过程域的结合在具体的软件设计活动中Scrum开发方式通过增加CMMI模式中的软件质量保证员的角色来保障证PPQA过程域的实现,在结合型的软件设计模式中质量保证员的主要职责是:第一、全程参与冲刺的策划活动,制定《冲刺质量保证计划》,明确需要审查的过程和工作产品。第二、实施质量保证活动,在具体的冲刺活动中依据《冲刺质量保证计划》对设计的过程、产品和服务进行检查与评价。第三、对不符合项目标准的内容进行跟踪,并将软件开发活动中存在的问题汇总成《冲刺质量保证报告》,在冲刺演示会议上传达给组成人员,展示出开发活动中存在的不合理现象和表现出的问题,由团队协商予以解决,如不能在团队内部解决,质量保证员有权直接上报直至有效解决。

3结论

当前计算机软件技术已经渗透到社会经济生活的各个领域,社会发展对软件开发的需求极为强烈,在这种形势下对结合CMMI的Scrum敏捷软件开发的研究具有鲜明的现实意义,本文从Scrum与CMMI结合性、Scrum敏捷软件开发的改造两个方面对这一问题进行分析,以期为结合CMMI的Scrum敏捷软件开发水平提高提供支持和借鉴。

作者:张思凯 单位:曲阜师范大学软件学院软件工程专业