Scrum是一种用于开发创新产品和服务的敏捷开发方式,咱们首先来看一下敏捷开发过程和特色,并着重介绍Scrum框架的角色、活动和工件等内容,而后介绍团队利用TAPD中的需求管理、缺陷管理、迭代管理等应用功能来帮助团队有效实践Scrum敏捷开发。微信
敏捷开发所倡导的是经过若干个短时间的迭代周期(也称为冲刺sprint,范围通常是1周- 1个月),按必定的优先级不断增量开发和实现产品功能,每次迭代得到一个可运行的产品增量功能包。
网络
敏捷开发首先须要创建一个按优先级排列的产品列表,其中由产品需求、功能优化或功能缺陷等类型清单项组成,排在前面的是优先级高的项,优先归入迭代计划进行实现,这些项在归入迭代计划前进行分解和细化,达到知足开发团队实现的粒度。架构
越日后排的项优先级越低,这部分需求暂时不会提上开发实现日程,当前阶段能够粗略描述,也没必要急于细化,以应对可能的变动。框架
每次迭代起始阶段,从产品列表中选取必定数量的清单项做为本次迭代须要完成的目标任务,一般是由各方利益相关者讨论决定的,数量的多少视开发团队的状况而定,尽可能匹配开发团队的开发节奏。运维
迭代过程当中开发团队天天经过站立会的形式沟通工做进展和面临的问题,在这期间通常再也不接受新的产品项或其余开发任务,特殊状况能够接受任务的置换。ide
在每次迭代结束时,团队一块儿评审已实现的产品功能等工做项,并根据反馈优化当前的工做和开发方式。在这过程当中,须要对产品列表进行持续的维护和梳理,好比插入新的需求、更新现有产品功能描述或移除不须要的工做项,并从新排列其优先级。在每次迭代结束后,开始规划下一次迭代内容,从新开始整个过程。测试
Scrum是敏捷开发方式的一种,在其框架中定义了三种角色:优化
产品负责人:负责敲定开发什么,以什么顺序开发,产品列表的维护主要由其负责维护;spa
ScrumMaster:帮助团队成员理解并乐于接受Scrum的价值观和原则,指导和协助Scrum框架在组织内的执行和优化;3d
开发团队:包括了架构师、开发人员、测试人员等传统软件开发角色。开发团队做为一个总体,负责构建可工做的软件产品;
下图说明了Scrum框架中的角色、活动和工件:
产品负责人创建产品愿景,并经过梳理造成产品列表;
冲刺(迭代)起始时,经过冲刺计划会议圈定本次冲刺包含的开发工做,即冲刺列表。冲刺列表须要获得开发团队的确认;
开发团队接受到冲刺列表后,即开启冲刺执行活动,在冲刺过程当中天天经过站立会进行计划的检查和调整;
冲刺执行结束时,产出一个可交付的产品增量;
冲刺结束时,还须要经过冲刺评审和冲刺回顾对构建的产品进行审查和对执行过程进行回顾和优化。
TAPD上的应用主要包括需求管理、缺陷管理、迭代管理、故事墙、wiki以及报表等,利用这些TAPD应用功能,能够方便有效地实践Scrum敏捷开发过程。
Scrum框架中的产品列表的项在TAPD中主要来自于需求和缺陷两个中的管理内容,每一个冲刺清单都从这两部分工做中挑选和分配,其中:
需求清单主要记录产品的功能需求、技术研究、以及非功能性需求等,经过需求分类进行归类管理,还能够经过子需求的方式对粗粒度的需求进行分解和细化,对优先级的设置对需求项进行排序,另外也能够自定义视图来筛选指定范围的需求项,主要界面以下:
缺陷管理主要记录已实现产品功能bug等,经过定义缺陷的录入模板,明确缺陷的记录内容,包括问题描述、排查过程、解决方案等,一样能够定义视图筛选指定条件的缺陷清单等,界面以下:
在TAPD中经过迭代管理来实如今冲刺的计划和执行,建立迭代时定义本次迭代的目标,并从需求和缺陷两个列表中选取高优先级的项分配到冲刺计划中,每一个任务项落实到开发团队中的具体人员。在执行过程当中,每一个需求任务的状态遵循规划中 →实现中 →已实现/已拒绝流程变更,每一个缺陷任务的状态遵循新 →接收处理 →已解决 →已验证 →已关闭流程进行变更,经过对每一个任务状态进行更新和跟踪,实现对冲刺计划跟踪与控制。
另外TAPD提供故事墙的形式展现冲刺计划,包括了状态故事墙和资源故事墙,经过资源故事墙能够了解开发团队中每一个人的任务状况与进展,天天能够根据此故事墙的展现内容来各自说明负责的工做状况和难点问题。
在冲刺结束阶段,经过冲刺评审和回顾对当前冲刺的成果和过程进行反馈和整理,利用Wiki应用记录冲刺回顾的内容和相关技术知识的整理内容。项目团队全部人均可以访问和更新,而且支持全文搜索,很是方便使用关键字查询。开发团队经过对冲刺的评审,确认产出的成果;经过对冲刺的回顾,找出执行过程的不足并加以优化;经过对业务和技术知识的沉淀,加速相关知识在团队成员之间的流动。
Scrum框架并不定义标准化过程,不能保证团队在依照其步骤一步一步执行后,就必定能在规定时间内产出一个客户满意的产品。相反,每一个团队必须结合自身的状况,不断摸索和改进,才能在基于Scrum敏捷框架之上创建一套特有且有效的实践方法,造成自身的Scrum版本。
做者:李灏