敏捷的目标:自组织,提高交付质量和交付速度;敏捷中实现拥抱变化是通过迭代增量实现的;所谓的迭代是循环,循环一种机制和模式,增量则是价值的增加,迭代增量,就是通过每次工作流程的循环实现业务价值的提升;那么关于迭代,其实是两个核心部分,一个时间,在scrum中每个迭代都是称之为一个sprint,即使冲刺的意思,scurm本身是棒球的一个术语,就是"争球",我理解代表的是一场"比赛",每个sprint其实是一次次的冲刺,在橄榄球比赛中,其实都是从一次争球开始,然后冲刺向目标(对方的球门);所以scurm其实本质应该是一种节奏非常快,而且目标明确的一种项目管理框架。另外一个是流程,scrum有一些会议,这些会议在迭代的各个阶段,并起着不同的作用。

这里强调一下,scrum是一种框架,而不是具体的解决方案,scrum有建议的工具和手段,但是都不是强制的。

所谓的Scrum是一种框架,并不是MVC,Spring之类的框架,其实是一种抽象的,思想级别的框架,什么思想?拥抱变化,团队自组织。自组织可是一个高大上的话题,其实落地的话就是团队成员关注不是自己的Task,而是这个用户故事,这里我们假设的是用户故事并不是有一个人完成,而是有团队中几个人合作完成,比如有前端,后端,BA,测试合作完成;就是你既然负责了一个Task,那么你关心的不是这个Task本身,而是整个Story,或者说是条目(Item),自组织是一种自然的组织形式,但是需要有人来指导,我们人类天生就是组织化动物,但是如果组织得好,组织的有序高效,这个就需要一个Scrum Master(SM)的角色来做做引导;SM这个角色本身是没有权利(人事权,财务权),甚至不是团队中成员,SM是一个脱离于团队存在,他的定位是PO关注的业务价值而不是Item。或者说scrum其实是基于一种Y人性,同时相信人的责任感的一种管理框架。这个也是"自组织"能够形成的必要条件。

在SCM中有三种角色:Scurm Master,Product Owner以及团队;Product Owner是输入方,主要负责定义条目(story),安排优先级,然后输入给团队,团队通过自组织在一个迭代中完成目标条目;Scrum则"守望"这团队,注意,并不参与,而是远远的观望,只有当组织的方向有偏差的时候, 比如高优先级的任务没有被关注到,某些风险被忽视,再或者开会的时候,议题的方向跑偏了,这些时候SM会出来引导一下大家的方向和关注点,这里不是Leader觉得中决策,而是引导,比如通过提出问题等让团队自己来决策以及提出解决方案。所以SM的负责的其实是团队的运作机制和运作效率,他负责的是团队是否实现了一种高效的自组织,这个有别于经典项目管理理论中的项目经理或者Team Leader角色,参与的方向是不同的,后者是决策角色。

下面想一下Scrum的流程,主要是几个会议,scrum通过会议:

项目计划会议,计划会议是由两部分组成(Part1,Part2),第一个部分主要解决的是"what"问题,这个会议的之前需要做的功课是需要把Product Backlog List以及优先级整理出来这个是PO做得事情,在会会议上面,PO将会对需求进行讲解,然后大家讨论需求,并对故事进行拆分,注意这个拆分是指业务层面的拆分,和技术无关;第二部分是"how"的问题,就是怎么去实现,这里牵涉到了将story拆成task;在part2中,有一个工具是扑克牌点数法,这个工具很好,这个工具本身是用来对用户故事进行估算的,其实估算结果并不重要,重要的是这个工具可以暴露出团队成员对于需求理解的不一致,大家可以进行沟通和交流。

这里介绍一下Scrum有两个List,分别是Produt Backlog List(PBL),另外一个是Sprint Backlog List(SBL),前者是一个所有的待实现的用户故事,并且包含了优先级,后者则是本轮迭代需要完成的任务列表。

每日立会,每日立会为了让团队行程一种关注Item(story),不要从团队成员的维度来过那三个问题(昨天,问题,今天),最好是以着用户故事的为单位来过每日立会。

项目评审会议,参与人包括PO,客户以及团队还有scrum,主要是对于本轮迭代内容进行一个评审,主要是从业务的角度来进行的。

项目回顾会议,参与人团队以及SM,大家主要是针对迭代流程,技术层面进行一下回顾,商量一下得失。每个人都回顾一下自己在本轮迭代里面都做了什么;

敏捷开发SCM的更多相关文章

  1. CI/CD持续集成/持续部署 敏捷开发

    敏捷软件开发(英语:Agile software development),又称敏捷开发,是一种从1990年代开始逐渐引起广泛关注的一些新型软件开发方法,是一种应对快速变化的需求的一种软件开发能力.它 ...

  2. TFS 2015 敏捷开发实践 – 在Kanban上运行一个Sprint

    前言:在 上一篇 TFS2015敏捷开发实践 中,我们给大家介绍了TFS2015中看板的基本使用和功能,这一篇中我们来看一个具体的场景,如何使用看板来运行一个sprint.Sprint是Scrum对迭 ...

  3. TFS 2015 敏捷开发实践 – 看板的使用

    看板在现代应用开发过程中使用非常广泛,不管是使用传统的瀑布式开发还是敏捷开发,都可以使用看板管理.因为看板拥有简单的管理方法,直观的显示方式,所以很多软件开发团队选择使用看板进行软件开发管理.本文不在 ...

  4. 小谈Scrum敏捷开发流程

    一晃眼,有两年没有写博客了,回顾前两年,各种奔波,各种忙碌,也有不少的收获.从今天开始,我要把这些收获都分享在这里. 其实这两年,对我影响最大的是开发流程.总所周知,一个好的开发流程,对于项目的进行, ...

  5. UDAD 用户故事驱动的敏捷开发 – 演讲实录

    敏捷发展到今天已经在软件行业得到了广泛认可,但大多数敏捷方法都是为了解决某一特定问题而总结出来的特定方法或实践,一直缺乏一个可以将整个开发过程串接起来的成体系的方法.用户故事驱动的敏捷开发(User ...

  6. 传统瀑布式&敏捷开发

    ---传统瀑布式 瀑布模型式是最典型的预见性的方法,严格遵循预先计划的需求.分析.设计.编码.测试的步骤顺序进行. 步骤成果作为衡量进度的方法,例如需求规格,设计文档,测试计划和代码审阅等等. 瀑布式 ...

  7. 用户故事驱动的敏捷开发 – 2. 创建backlog

    本系列的第一篇[用户故事驱动的敏捷开发 – 1. 规划篇]跟大家分享了如何使用用户故事来帮助团队创建需求的过程,在这一篇中,我们来看看如何使用这些用户故事和功能点形成产品backlog.产品backl ...

  8. 20145205 《Java程序设计》实验报告三:敏捷开发与XP实践

    开发与XP实践 实验要求 1.XP基础 2.XP核心实践 3.相关工具 实验内容 敏捷开发与XP 软件工程是把系统的.有序的.可量化的方法应用到软件的开发.运营和维护上的过程.软件工程包括下列领域:软 ...

  9. 传统开发模型vs敏捷开发模型——过程模型的变革

    一.概念框架 在了解一个新概念的时候,最好的方法就是把它插入到原有的概念体系中.在不仅有助于对概念的记忆,更利于深刻地认识概念的本质.精髓.下图说明了"敏捷开发"在软件工程理论体系 ...

随机推荐

  1. 初读"Thinking in Java"读书笔记之第八章 --- 多态

    再论向上转型 在某些方法中,仅接收基类作为参数,而不是特殊的导出类,会使得程序更容易扩展. 转机 方法调用绑定 前期绑定(编译期绑定):在编译期将一个方法调用和方法主体关联起来. 后期绑定(动态绑定或 ...

  2. 19.Scharr滤波器

    //Scharr void Test_Scharr() { Mat grad_x,grad_y; Mat abs_grad_x,abs_grad_y,dst; g_srcImage=imread(&q ...

  3. 剑指offer第32题:把数组排成最小的数及关于list.sort()和sorted( Iterable object )函数的相关知识

     * 解题思路:  * 先将整型数组转换成字符数组,然后将String数组排序,最后将排好序的字符串数组拼接出来.关键就是制定比较规则.  * 排序规则如下:  * 若ab > ba 则 a & ...

  4. 最常用的JavaScript类的定义

    混合的构造函数/原型方式 联合使用构造函数和原型方式,就可像用其他程序设计语言一样创建对象.这种概念非常简单,即用构造函数定义对象的所有非函数属性,用原型方式定义对象的函数属性(方法).结果是,所有函 ...

  5. c语言——鞍点

    描述 找出具有m行n列二维数组Array的“鞍点”,即该位置上的元素在该行上最大,在该列上最小,其中1<=m,n<=10. 输入 输入数据有多行,第一行有两个数m和n,下面有m行,每行有n ...

  6. Sublime Text 3利用Snippet创建Getter和Setter

    1. Tools -> Developer -> New Snippet. 2. 复制以下内容并保存: <snippet> <content><![CDATA ...

  7. idea 引入web、配制tomcat

    引入web包: https://www.cnblogs.com/chenloveslife/p/8973912.html 配置tomcat:https://blog.csdn.net/qq_33257 ...

  8. ubuntu 14.04 重装机 安装笔记 无线网卡+cuda+nvidia

    1. 安装QA6714 无线网卡重要参考网页 #22 回答 https://bugs.launchpad.net/ubuntu/+source/linux-firmware/+bug/1520343? ...

  9. 强大的css3库

    http://www.html5tricks.com/demo/css3-animate-css/index.html 关注微信小程序

  10. SpringBoot的启动流程分析(1)

    通过分析我们可以找到 org.springframework.boot.SpringApplication 中如下, public static ConfigurableApplicationCont ...