01-Scrum 概述 ,02-橄榄球 VS 软件,03-Scrum敏捷方法一分钟扫盲 ,04-Scrum敏捷方法中的工作产品 ,05-Scrum敏捷方法中的角色,06-Scrum过程-创建和维护产品

本文主要是介绍01-Scrum 概述 ,02-橄榄球 VS 软件,03-Scrum敏捷方法一分钟扫盲 ,04-Scrum敏捷方法中的工作产品 ,05-Scrum敏捷方法中的角色,06-Scrum过程-创建和维护产品,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

01-Scrum 概述

敏捷,来源于橄榄球中的“带球过人”。

在橄榄球的比赛中,每次的冲刺前,都有一个计划安排的过程,但是在冲刺的过程中,队员都会根据当时的形势,在原计划的基础上随机应变。

瀑布模型的开发过程:需求、设计、编码、测试等阶段。

Scrum的开发过程:多次的迭代(又称为Sprint,冲刺),周期一般为2~4周。

在日常的工作中,【产品负责人】会维护一个按优先级排序的"产品待开发项"(Product Backlog) 。"产品待开发项"就是根据客户的需求,得出产品的功能点。

在每次迭代的第一天,都会召开【迭代计划会】(Sprint Planning Meeting)。产品负责人先总体讲解产品,按优先级由高到低逐一讲解。团队Member可以就需求的细节、完成的标准等信息进行咨询,并逐条根据难度估算工作量,添加到本次迭代的开发任务中,直到本次迭代任务量达到饱和。一旦迭代开始,正常情况下,这些任务是不能发生大的变更的。在得带期内,团队进行任务的分配、所需技术的调研,逐一完成任务。每天团队会进行一个简短的【站立会】即"每日立会"(Daily Stand-up Meeting),沟通当天的进度、当前的问题以及下一步任务等,以借助团队的力量解决遇到的问题。团队还维护一张【燃烧图】(Burn Down Chart)即随时间的递减任务完成的进度图,以观察和预测所有任务是否能够按期完成、以及了解自己的生产效率,从而降低项目的风险。

在每个迭代的最后一天,团队召集【评委会】(Review Meeting),邀请产品负责人等参加,对已经完成的产品功能进行评审,产品负责人进行审核或作出改进的反馈。当天还会召开【反思会】(Retrospective Meeting),对本次迭代中的成功与失败作出总结,并在以后的迭代中进行改进。


//

02-橄榄球 VS 软件

1.带球过人需要计划!

  在球场上:在比赛每段的开始,双方都要摆开阵势,并计划本段的迕攻/防守路线和策略,教练和队长都可以参不计划。
  在软件开収公司:在每丧迭代的开始,团队领导者都应该做好本迭代的计划,尤其是需求条目的优先级排序、选择本迭代的工作、设定必须完成的内容等。

2.带球过人需要灵活应变!
 在球场上:当哨声响起,尽管队员们劤力按照既定计划推迕,然而场上瞬息万发,队员丌可能实时按照教练戒队长的指令亦步亦趋地行亊,而是靠平时讦练丨形成的素养见机行亊,达成目标。
在软件开収公司:在每丧迭代开始后,团队领导丌可能也丌需要亊必亲恭地者介入每件亊情,而是应该由具体执行的人选择如何去做。团队领导要做好的是协诽资源、览决困难、提供指导,以达成目标。

 

Scrum中既有计划会、每日立会、评审会等计划和管理活劢,又有迭代期内的灵活应变活劢,是一种轻重结合的敏捷过程。


//


03-Scrum敏捷方法一分钟扫盲

1.产品负责人:根据客户需求、市场,以实现功能为目的,发挥的创意,建立条目化的产品待开发项Product Backlog,并进行优先级的排序。

2.在【迭代计划会】上,产品负责人讲解迭代要开发的条目,团队进行Importance值的估算并商谈决定是否放入到本迭代中。

3.迭代任务确认后,进行为期2~6个周的迭代开发,团队在迭代内完成所有需求,每天都开"站立会",以沟通进度和解决疑难问题。

4.在迭代终点的【迭代评审会】上,团队向产品负责人等展示开发成果。

5.团队进行【反思会】,总结本次迭代开发,成功/失败的经验。


//


04-Scrum敏捷方法中的工作产品

1.产品待开发项(Product Backlog):从客户的价值角度理解产品的功能列表。

  a.功能点、缺陷等都可以是Product Backlog。

  b.Product Backlog一般以条目化的方式描述。

  c.Product Backlog 的名称一般以白话来描述,方便客户和用户的理解。

  d.整体上,Product Backlog是从客户的价值上排列顺序的。

  e.总开发量一般在0.5~10人天。

  f.Product Backlog的名称必须言简意赅,而且要唯一。优先级高的描述要清晰、详细,低的暂时可以不用太详细。

2.冲刺待开发项(Sprint Backlog):是从开发技术角度理解的迭代开发任务。

  a.在简单的纯软件环境中,可以直接把产品待开发项当作冲刺待开发项分配到迭代中。

  b.在复杂的软件开发中,尅把一个产品待开发项分解为Web/后台...软件/硬件...程序/美术...等开发任务。

3.可工作软件Workking Software:是可交付的软件产品。

  a."可交付",在不同的场景下差异很大,应视不同情况提前设定和选定交付标准。比如是否需要测试,是否需要性能优化,是否需要操作手册等等。

  b.正是产品中可能包括使用文档,甚至是纸质的。在新产品开发的初期,则可能只需要交付勉强可看到效果的产品。

、 c.产品负责人、用户代表等负责评审可工作软件。

  d.若一个产品的功能只是"差不多完成了",那么这种效果的功能被视为不可交付。



//

05-Scrum敏捷方法中的角色

1.产品负责人(Product Owner):负责产品需求的提炼、条目化、优先级排序。

  现实世界的产品负责人:

    a.,部门经理,产品经理策划人员等都可能作为产品负责人。

    b.产品负责人是产品的指路人,必须对产品有深入了解和长远的规划。因此,不能单纯的选择客户或销售人员作为产品的负责人。

    c.大型的产品如嵌入式产品或游戏产品,常常采用有等级的产品负责人团队,来解决广度与深度的矛盾。

      例如:产品总监->产品经理->主策划->策划团队

2.Scrum Master(Scrum 大师):负责Scrum的执行和指导,并协助解决非技术问题。

  现实世界的Scrum Master:

    a.Scrum Master的工作方式是靠领导力而不是权力工作,因此,应该服务于团队。

    b.人选:

      aa.原来的项目经理转型,保留原有的管理和技术职能,但弱化指派任务、下达时间点指令等职能,增强其组织协调能力。

      bb.企业原有的过程改进人员,协助不太了解Scrum的项目经理按照Scrum的方法工作,可以每人负责多个项目,接近全职的Scrum Master。

3.团队(Team):以"自组织"的相对扁平式进行管理,负责完成开发工作。 

   现实世界的团队:

    a.实际团队常常不是"扁平"的,而是仍有项目经理、小组长等职位。

    b.工作中他们以"共同估算","跨职能工作","共同跟进"等方式自组织工作,而不是完全依赖层层的指令。

    c.项目经理、小组长的领导、指导、协同职能大于其指令职能。


//


06-Scrum过程-创建和维护产品待开发项Product Backlog

1,产品待开发项:又称"产品功能列表",是一组条目化的需求。

2.产品待开发项必须从客户价值角度描述,并按优先级排序。

3.典型的描述方法就是极限编程中提到的"用户故事(User Story)"。

 

如何填写"产品待开发项"?

1.产品负责人创建和维护产品功能列表。

2.需求必须进行条目化管理,才能进行分配、开发、跟踪,才能清楚的看到什么做完了,什么没做完。

3."客户价值角度"就是描述用户如何使用,而不是技术角度上的如何实现。比如:"实现手写输入","实现游戏排行榜",而不是"编写数据库底层"。用户故事的语法"作为一个...可以...,以(以便)..."很好地证明了这一点。

用户故事:

 



这篇关于01-Scrum 概述 ,02-橄榄球 VS 软件,03-Scrum敏捷方法一分钟扫盲 ,04-Scrum敏捷方法中的工作产品 ,05-Scrum敏捷方法中的角色,06-Scrum过程-创建和维护产品的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/829173

相关文章

Feign Client超时时间设置不生效的解决方法

《FeignClient超时时间设置不生效的解决方法》这篇文章主要为大家详细介绍了FeignClient超时时间设置不生效的原因与解决方法,具有一定的的参考价值,希望对大家有一定的帮助... 在使用Feign Client时,可以通过两种方式来设置超时时间:1.针对整个Feign Client设置超时时间

C/C++错误信息处理的常见方法及函数

《C/C++错误信息处理的常见方法及函数》C/C++是两种广泛使用的编程语言,特别是在系统编程、嵌入式开发以及高性能计算领域,:本文主要介绍C/C++错误信息处理的常见方法及函数,文中通过代码介绍... 目录前言1. errno 和 perror()示例:2. strerror()示例:3. perror(

CSS去除a标签的下划线的几种方法

《CSS去除a标签的下划线的几种方法》本文给大家分享在CSS中,去除a标签(超链接)的下划线的几种方法,本文给大家介绍的非常详细,感兴趣的朋友一起看看吧... 在 css 中,去除a标签(超链接)的下划线主要有以下几种方法:使用text-decoration属性通用选择器设置:使用a标签选择器,将tex

C++变换迭代器使用方法小结

《C++变换迭代器使用方法小结》本文主要介绍了C++变换迭代器使用方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1、源码2、代码解析代码解析:transform_iterator1. transform_iterat

C++中std::distance使用方法示例

《C++中std::distance使用方法示例》std::distance是C++标准库中的一个函数,用于计算两个迭代器之间的距离,本文主要介绍了C++中std::distance使用方法示例,具... 目录语法使用方式解释示例输出:其他说明:总结std::distance&n编程bsp;是 C++ 标准

将Mybatis升级为Mybatis-Plus的详细过程

《将Mybatis升级为Mybatis-Plus的详细过程》本文详细介绍了在若依管理系统(v3.8.8)中将MyBatis升级为MyBatis-Plus的过程,旨在提升开发效率,通过本文,开发者可实现... 目录说明流程增加依赖修改配置文件注释掉MyBATisConfig里面的Bean代码生成使用IDEA生

Linux换行符的使用方法详解

《Linux换行符的使用方法详解》本文介绍了Linux中常用的换行符LF及其在文件中的表示,展示了如何使用sed命令替换换行符,并列举了与换行符处理相关的Linux命令,通过代码讲解的非常详细,需要的... 目录简介检测文件中的换行符使用 cat -A 查看换行符使用 od -c 检查字符换行符格式转换将

SpringBoot实现数据库读写分离的3种方法小结

《SpringBoot实现数据库读写分离的3种方法小结》为了提高系统的读写性能和可用性,读写分离是一种经典的数据库架构模式,在SpringBoot应用中,有多种方式可以实现数据库读写分离,本文将介绍三... 目录一、数据库读写分离概述二、方案一:基于AbstractRoutingDataSource实现动态

Java中的String.valueOf()和toString()方法区别小结

《Java中的String.valueOf()和toString()方法区别小结》字符串操作是开发者日常编程任务中不可或缺的一部分,转换为字符串是一种常见需求,其中最常见的就是String.value... 目录String.valueOf()方法方法定义方法实现使用示例使用场景toString()方法方法

Java中List的contains()方法的使用小结

《Java中List的contains()方法的使用小结》List的contains()方法用于检查列表中是否包含指定的元素,借助equals()方法进行判断,下面就来介绍Java中List的c... 目录详细展开1. 方法签名2. 工作原理3. 使用示例4. 注意事项总结结论:List 的 contain