Scrum敏捷开发模式

一、背景

传统的开发大多都采用瀑布开发模式,流程如下:

 

瀑布开发模式的项目周期往往比较长,一般为3-6个月,甚至更长时间,过程一般都是:产品经理完成一款产品的所有需求—UE设计出原型和视觉— 开发完成开发— 测试完成最后交付成果往往不是产品经理或是客户真正想要的,最后只能重新从项目的需求开始,经过一系列的建设、测试、部署等过程,那样的话,项目周期就会更长,然而又需要尽快投入市场,最后只能是稍微改动一下,差不多接近项目需求就行。所以,使用瀑布开发模式很容易出现这样的结果,开发周期很长,不可控的因素和风险很大,最终会偏离最初想法。

 

二、敏捷开发的定义

Scrum敏捷开发将瀑布开发过程切分为多个短的迭代式的增量开发过程。每一次迭代开发周期很短,一般为1-4周。每一个迭代结束,都会产生最终可用的产品,如有需求变化,可以在下一个迭代周期开发,基本不会出现最终交付产品是用户无法接受的,即使要浪费时间的话,最多就是一个迭代周期的时间。是一种以人为核心、迭代、循序渐进的开发方法。

为什么说是以人为核心?

瀑布开发模型,它是以文档为驱动的,在整个开发过程中,要写大量的文档,把需求文档写出来后,开发人员都是根据文档进行开发的,一切以文档为依据;而敏捷开发它只写有必要的文档,或尽量少写文档,敏捷开发注重的是人与人之间,面对面的交流,所以它强调以人为核心。

什么是迭代?

迭代是指把一个复杂且开发周期很长的开发任务,分解为很多小周期可完成的任务,这样的一个周期就是一次迭代的过程;同时每一次迭代都可以生产或开发出一个可以交付的软件产品。

 

三、Scrum的3-3-4原则

(1)3个角色

² 产品负责人(Product Owner)主要负责确定产品的功能和达到要求的标准,指定软件的发布日期和交付的内容,同时有权力接受或拒绝开发团队的工作成果。

² 流程管理员(Scrum Master)主要负责整个 Scrum 流程在项目中的顺利实施和进行,主持会议,以及清除挡在客户和开发工作之间的沟通障碍,使得客户可以直接驱动开发。

² 开发团队(Scrum Team)主要负责软件产品在 Scrum 规定流程下进行开发工作

(2)3个产出物

² Product Backlog(产品待办事项列表):产品待办事项列表是一个排序的列表,包含所有产品需要的东西。产品负责人负责产品待办事项列表的内容、可用性和优先级。产品待办事项列表是一个持续完善的清单, 最初的版本只列出最初始的和众所周知的需求。 产品待办事项列表根据产品和开发环境的变化而演进。待办事项列表是动态的,它经常发生变化以识别使产品合理、有竞争力和有用所必需的东西。只要产品存在,产品待办事项列表就存在

² Sprint Backlog(Sprint待办事项列表):Sprint 代办事项列表定义了开发团队把产品代办事项列表条目转换成“完成”的增量所需要执行的工作。使开发团队确定的、达到 Sprint 目标所需的工作清晰可见

² 燃尽图:指的是当前剩余的工作量,可以很好地跟踪项目进展

 

(3)4个会议

² Sprint计划会:确定本个Sprint需要完成的功能需求并决定这些工作如何完成。

² 每日站会:每日站会时间不超过15分钟,团队成员需提供三点信息,即从昨天的站会我完成了什么、从现在到明天的站会我计划完成什么、我遇到了什么困难。

² Sprint评审会:项目团队将已实现的项目结果进行演示,听取利益相关方的反馈,以便在下一个Sprint进行改进。

² Sprint回顾会:对本个Sprint进行回顾,哪些是做的好的,哪里需要改进的,并对这些改进的点,提出改进措施,在下一个Sprint中进行实现。

四、敏捷带来的价值

² 快速响应变化:Scrum开发完全适应现在互联网开发提出的“小步快跑”,以轻量级的Story作为需求进行迭代式开发,保证最重要的功能优先做。

² 项目团队的透明性:敏捷团队所有成员都能了解当前项目的进展和问题。

² 项目团队的专注:项目团队可以确保把时间放在与冲刺目标相关的事情上,不受外界干扰。

 

 

版权声明:本文为pyx-blog原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/pyx-blog/p/12895731.html