作者:陈勇

出处:blog.csdn.net/cheny_com

自相似性是指一个事物的局部与其更大的局部乃至整体具有相似性。

从大的方面看,敏捷开发具有重视客户价值,提倡持续交付等思想。但一般而言,Product Owner常常具备相当好的客户价值意识,而一线开发人员则比较关注技术本身,所以一旦仅仅停留在思想层面,在实际工作的时候就会发现有所背离。因此应该从自相似性的眼光看待敏捷开发的整体思想与局部实践,从而做到年年月月日日事事均符合敏捷开发的思想。

本文只从“优先级排序”这一个敏捷开发思想来分析敏捷开发的自相似性。

“优先级排序?是不是就是Product Owner在开计划会前要做的事情?”是,也不是。

对Product Backlog的排序

这次排序的目的,是弄清楚哪些需求最重要因此可能在最近的一两次迭代中进行开发。参与排序的条目一般足够接近半年的开发工作量,但多数只有一个简短的名称,只有最高优先级的需求才会被真正细化,也就是近一两次迭代要开发的需求列表。这个需求列表其实有一个专门的名称:Willing List,“意向表”。

为什么要用意向表做缓冲,而不是直接形成下个冲刺的Sprint Backlog?因为在计划会之前估算都很粗略,其实没办法准确列出下个冲刺工作量的条目;而且Product Owner应该细化或至少是深入了解超过一个冲刺的开发项,才能使这个冲刺的开发具备一定的前瞻性。

对Willing List的排序

这个过程是在计划会上进行的,也可以说是按“优先级”从中挑选出本次冲刺要开发的条目的过程,也就是常说的Sprint Backlog。要完成这个选择其实不太容易,因为如果只是盯着“重要程度”这个排序依据,极有可能从很多功能模块中各自挑出最重要的需求,而这些需求凑在一起,只能形成一个四不像的版本。因此常常可以挑选最重要的功能模块中的多个条目,形成整体完整的一个“故事群”,这样无论开发、测试和演示环节,都有一个相对内聚的目标。

为了防止大家中途跑偏,常常给每个冲刺要都起一个简短的名称,比如:“本次迭代将发布一个具有电子节目单的版本。”

对Sprint Backlog的排序

Sprint Backlog也要排序?是的。有没有遇到某个重要的条目每次都被漏下完不成的情况?有没有遇到冲刺结束的时候发现一大堆条目都已经开工了但都没有完成的情况?有没有遇到Product Owner想用一个重要的变更来替代原来Sprint Backlog中的某些条目却发现这些条目都已经“开发中”了?有没有遇到团队争议每次都应该完成所有条目(这真的很难)还是只需要完成最重要的一些?这都是因为没有对Sprint Backlog排序的结果。

一般在迭代计划会上使用MoSCoW方法进行这种排序,Must:必须做的;Shoud:应该做的;Could:可以做的;Would not:不要做的。要按照这些顺序来做,保证Product Owner所需要的Must、Should完成,并力争Could能完成;在发生重要变更的时候,牺牲Could乃至Should保证变更。

对Story Wall的排序

任务都上故事墙了还要排序?是的。故事墙一般按照待开发、开发中、待测试、测试中、完成几列,但很容易出现越来越多故事进入了开发中、测试中,却很少进入完成。这是因为MoSCoW方法做虚了,没有真正执行好。故事板的一个重要功能就是监控“开发中的故事的数量”(这个笔者也是在一年前左右才刚听到),因此一般“开发中”这一列是最窄的,只能放下为数不多的条目,目的就是为了防止上一段开头提出的各种问题。

而且“待开发”这一列中的故事,一般也按M、S、C(W其实不会出现)三个级别排放,优先拿M,最后动C。如果愿意,可以用三种颜色的便签纸来表示。

对Version的排序

还有?是的,其实最开始漏掉了最大一个级别的排序:如果产品开发生命周期很长,每个版本应该顺序包含哪些内容呢?最好的答案是:按照商业步调计划版本内容,也就是每个版本出来后,都要满足某些需求、获取某些客户、打败某些对手、取代某些产品……

如果产品能迅速获取良好的市场反馈回笼资金,高层领导一般都会马上向项目投钱投人;反正他们会在推进和放弃项目之间纠结。很多项目经理热切期盼领导重视和投入自己的项目,却不知道其实命运其实就掌握在自己手中!

本文所提内容的相关细节,可在博主博客分类“敏捷开发”下找到。

点击下载免费的敏捷开发教材:《火星人敏捷开发手册》

转载于:https://www.cnblogs.com/JPAORM/archive/2011/04/24/2510515.html

从优先级排序看敏捷开发的自相似性相关推荐

  1. 从持续交付看敏捷开发的自相似性(敏捷开发的心跳)

    作者:陈勇 出处:blog.csdn.net/cheny_com 自相似性是指一个事物的局部与其更大的局部乃至整体具有相似性. 从大的方面看,敏捷开发具有重视客户价值,提倡持续交付等思想.但一般而言, ...

  2. 从翻硬币游戏看敏捷开发

    摘要: 敏捷开发还能这么玩? 本文分享自华为云社区<从翻硬币游戏看敏捷开发>,作者:敏捷的小智. 为了推广敏捷开发的理念,很多敏捷教练都会带领团队做一些敏捷小游戏,今天咱们就来聊聊&quo ...

  3. 敏捷开发中的MoSCoW优先级排序方法

    作者:陈勇 出处:blog.csdn.net/cheny_com 有没有遇到某个重要的条目每次都被漏下完不成的情况? 有没有遇到冲刺结束的时候发现一大堆条目都已经开工了但都没有完成的情况? 有没有遇到 ...

  4. 敏捷文章总索引及敏捷开发培训课程扩展阅读

    以下内容及链接,是两天培训课程<Scrum敏捷开发>的扩展阅读部分,正好可将所有博文索引起来. 所谓扩展阅读,就是对于那些限于课堂时间而无法深入展开的知识点,讲师会编写额外的资料以供参考. ...

  5. 敏捷管理(1)- 什么是敏捷开发?为什么要采用敏捷?

    为什么提倡敏捷? 20世纪50年代~90年代,能够供会议通信场景和信息交流场景的基础条件并未达到让人们信息互通如同今日那般(2021)可以透过屏幕可以看到对方的面部表情. 市场的信息交流并不频繁,用今 ...

  6. 敏捷开发 宣言 思想 认识误区

    敏捷软件开发 Agile software Development 敏捷开发是一种软件开发方法,基于迭代和增量开发,通过自组织,跨团队,沟通协作完成开发工作. 敏捷宣言的诞生: 2001年2月11日到 ...

  7. 敏捷开发 vs 传统开发

    说起敏捷开发,并不是因为敏捷而敏捷.这几年的敏捷开发已经被很多敏捷咨询服务商神话了,这个东西并不是神器,实施了就可以解决所有软件公司的问题,而是要结合自己公司的特点和问题摸索出适合自己的一套模式. 大 ...

  8. 项目的敏捷开发方法(转自MBAlib)

    项目的敏捷开发方法 敏捷方法很多,包括 Scrum.极限编程.功能驱动开发以及统一过程(RUP)等多种法,这些方法本质实际上是一样的,敏捷开发小组主要的工作方式可以归纳为:作为一个整体工作: 按短迭代 ...

  9. 105.敏捷开发模型

    文章目录 1.什么是敏捷开发? 2.敏捷开发宣言 3.站立会议的意义 4.敏捷开发想解决什么问题? 5.如果用敏捷的方式盖房子 6.敏捷开发和瀑布模型的差异 (1)敏捷开发是怎么做需求分析的? (2) ...

最新文章

  1. Linux操作系统Ubuntu部署GCC之Libpcap库篇
  2. SpringMVC 中整合JSON、XML视图一
  3. 在麻省理工读计算机专业,看美国的计算机教育(转载)
  4. php mysql 博客制作_PHP实现简易blog的制作
  5. 吃鸡服务器不接受响应,绝地求生:蓝洞优化服务器性能,从此告别掉帧延迟!...
  6. 三星sec.android.soagent,3.0降级2.5教程
  7. angular 自定义组件_如何创建Angular 6自定义元素和Web组件
  8. 用c语言实现数据结构算法将两个有序链表并为一个有序链表的算法,,(完整版)数据结构-习题集答案-(C语言版严蔚敏)...
  9. android 判断手机计步_Android_基于G-Sensor的计步算法
  10. 济南北大青鸟2013春季百人就业工程计划
  11. 用python计算偏导数
  12. Python爬虫从0到1 | 入门实战:360翻译 ——requests库之POST方法(新手必看,保姆级别教学)
  13. 计算机推免资源(不定期更新)
  14. voc2012 测试数据集 上传
  15. Django 前戏
  16. SpringBoot的幕后推手,分布式架构演进+相关笔记参考
  17. 解决:idea运行scala程序,报错:Error:scalac: bad option: -make:transitive
  18. 符号配对(C语言利用栈堆)
  19. 滑块验证位移识别/识别率95%+
  20. 搭建日志服务器 rsyslog

热门文章

  1. VMvare 桥接模式无法联网、没有未桥接的主机网络适配器,无法将网络更改为桥接状态。
  2. Linux故障解决(3)——YUM安装任何软件 报错:ERROR: XZ COMPRESSION NOT AVAILABLE
  3. Linux 的字符串截取很有用。有八种方法。
  4. python标准库学习笔记
  5. [转]5个有趣的Python小知识,返回结果让人出乎意料~
  6. 这个工具,可视化分析10W数据后,找到了数据岗位月薪20K的秘诀
  7. 解决AS3 Socket编程中最令人头疼的问题
  8. 浙江农林大学有计算机专业,浙江农林大学计算机科学与技术专业在职研究生
  9. java dump 线程_Java 中怎么获取一份线程 dump 文件
  10. centos php 5.2,CentOS服务器单独升级 php5.1 到 5.2版本