Agile敏捷开发Planning Poker简介
关注嘉为科技,获取运维新知
一、为什么不用“人天”?
传统的IT项目,尤其是软件开发项目,往往使用“人天”来作为工作量评估的量词、甚至是代表一种评估方式。在软件项目开发经典著作《人月神话》中,明确的指出了按“人月”或“人天”来评估需求工作量的巨大弊端,主因之一就是在于这个词让人产生了“可以使用更多的开发人员就可以更快速的完成软件开发”这一错觉。在Agile敏捷项目当中,大都避免在快速需求评估阶段使用“人天”。具体请参看《人月神话》。
《人月神话》中最著名的插图“焦油坑”
二、Story Point故事点
智能边缘计算作为一种新模式,使得物联网的每个边缘设备都具备数据采集、分析计算,通信,以及最重要的本地或就近的“智能”。新的智能边缘计算同时利用了云计算的能力,利用云来大规模的进行安全配置、部署和管理边缘设备,并能够根据设备类型和场景分配智能的能力,从而让智能在云和边缘之间流动,获得两全其美的结果。
计划扑克基于Story Point故事点,扑克牌牌面上印刷的巨大数字就是故事点。
那么,什么是故事点呢?
“故事点”是Scrum敏捷开发过程中所使用的概念,它代表某开发团队内部所推选的一个抽象的标准工作量。一个故事点,可以是大家熟悉的一件较独立、较简单工作的全部内容,比如,一个常见功能页面所涉及的所有的开发工作,包括该页面UI的设计、代码的编写、数据库表的设计等等。
这样一来,在快速评估的过程中,一个新需求大概的工作量是上述这个“标准工作量”的2倍的话,那这个新需求的粗略工作量就是2个故事点。
一副计划扑克提供了一组不连续的故事点数字,以便于代表不同大小需求的工作量。
计划扑克的故事点数序列,一套13张,同一种颜色
三、牌面数字的含义
0表示所选需求块非常简单,或者可以通过重用快速搞定,不需要精力就能完成;
?表示根据目前掌握的情况,暂时无法评估该需求块需要多少故事点,需要进一步了解与细化需求;
咖啡杯用于提示团队成员该休息了,实在太累了。
与纸币的规则类似,牌面没有的点数可以由多张牌累加而成
四、牌面最大数字才100,不够用怎么办?
任何一个大需求,都需要渐进明细、直到足够小足够详细才能进行设计编码。因此,对于开发人员进行设计而言,超级大的或很粗粒度需求是没有太大意义的。对于不少团队而言,仅一个大小为100故事点的需求,就可能需要消耗好几个迭代周期的工作量,更不用说大于100的了。
使出100牌的开发人员,往往是希望表达对于业务的庞大复杂的不解或者恐惧、或技术投入或风险的担心。而对于自己感觉更加不靠谱的,可以直接出那张问号卡牌。
对于像大部分人都会评估为40或100牌面的大需求,需要由Product Owner负责或牵头来不断细化,直至拆分为多个且足够详细、足够小的子需求,才有可能进入下一个迭代周期的开发排期。
可灵活组合的牌面
五、注意事项
每副扑克都会包含1~2张使用说明,中文或英文,介绍扑克的基本使用规则。
每位开发人员,应拿到一套13张,以便使用纸牌表达自己对某需求块工作量大小的快速评估。有些型号的计划扑克,会有四套,每套一种不同的颜色。参与评估的开发人员多,就需要同时使用多副扑克。
针对Product Owner每讲解的一个新需求,所有开发人员都需要同时出牌,以便能表达出每个人的独立观点。
点数最集中的评估结论往往会被采纳。与大多数差异很大的评估者可能会被提问说出自己评估的依据。对于该需求最了解的人员的评估,往往会被高度重视,而不是一味的少数服从多数。
六、小结
Planning Poker计划扑克是很多敏捷开发团队非常喜爱的小工具,几元十几元一副的超低成本,在需求的快速评估阶段,可以让每个团队都全情参与进来、并且“无废话”的独立表达自己的观点,若运用得当,则可能大幅提高早期工作量评估及需求排期的效率。每个团队还可以进行微调、探索最适合自身及项目特点的玩法。在这一阶段评估成功完成之后,需求仍然较粗,还需要进行进一步的需求细化和具体开发工作的拆分与认领。
【注:】本文部分图文内容来自相关公司及互联网,该部分的版权属于原所有者。
Agile敏捷开发Planning Poker简介的更多相关文章
- Agile 敏捷开发
简单的说,敏捷开发是一种以人为核心.迭代.循序渐进的开发方法.在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征.换言之,就是把一个大项目分为多个相互联 ...
- 编程心法 之 Scrum - Agile 敏捷开发
Scrum是一种敏捷开发的方法 先定一个能达到的小目标 Scrum 团队 包括产品负责人.开发团队和Scrum Master Product Owner 产品负责人:管理代办事项和优先级的唯一负责人. ...
- Scrum敏捷开发简介
Agile 敏捷开发实践中,强调团队的自我管理.在 Scrum 中,自我团队管理体现在每天的 Scrum 会议中和日常的协同工作,在每天的 Scrum 例会中,团队成员一般回答一下几个问题 : 昨天完 ...
- 传统开发模型vs敏捷开发模型——过程模型的变革
一.概念框架 在了解一个新概念的时候,最好的方法就是把它插入到原有的概念体系中.在不仅有助于对概念的记忆,更利于深刻地认识概念的本质.精髓.下图说明了"敏捷开发"在软件工程理论体系 ...
- 敏捷开发(Agile development)
敏捷开发(Agile development) 敏捷开发是一种以人为核心.迭代.循序渐进的开发方法.在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征. ...
- 关于敏捷开发方法(Agile Software Development)的阅读笔记
对“敏捷开发”(Agile Software Development)这个词,我是在这学期邹欣老师<现代程序设计>课上第一次听到的,刚听到时并不知道其具体指什么,只是从字面上直觉其意思应该 ...
- Agile Software Development ——敏捷开发
敏捷? 过去几年中,软件行业中出现了一个新词汇——agile:与此同时,一个关于新的软件开发方式的变革正悄然兴起. 在老师的引导下,我阅读了Agile Guide网站上的几篇文章,并查阅了相关资料.不 ...
- Agile Development敏捷软件开发之何为敏捷开发
敏捷软件开发之何为敏捷开发 敏捷开发,Agile Development,就是指能够在需求迅速变化的情况下快速开发软件.我们接触最多敏捷实践方式有:极限编程(XP).结对编程.测试驱动开发(TDD)等 ...
- 高效程序员的45个习惯·敏捷开发修炼之道(Practices of an Agile Developer)读书笔记
首先,这本书值得再看一遍——这次的阅读,有很多东西都是知其“形”,不知其“神”的,这导致了我对其中某些建议持怀疑态度,接受了的建议也有待商榷. 总之,先记录本书的一些信息: Practices of ...
随机推荐
- 同时import两个版本的QtQuick【1、2】,默认使用
在同一个qml文件中,如果同时import了Qtquick1和2,那么谁在后面,谁起作用
- 我的互联网30年。永远的8U8 永远的Y365
我的互联网30年.永远的8U8 永远的Y365
- 【配置】log4j.properties 详解与配置步骤
一.Log4j基本使用方法 Log4j由三个重要的组件构成:[日志信息的优先级],[日志信息的输出目的地],[日志信息的输出格式]. 日志信息的优先级从高到低有ERROR.WARN. INFO.DEB ...
- How to search for ? (question mark) in Excel
The ? is a wildcard which represents a single character, and the * is a wildcard character that repr ...
- [jsp & thymeleaf] - jsp和thymeleaf的共存解析
做项目时因为有些老jsp还需要测试用到,所以之前的thymeleaf也需要保持,配置如下: https://github.com/deadzq/jsp-thymeleaf 等空余时间在做详解吧!
- 【ASP.NET】 MVC下拉框联动
这个case主要是我在做项目的时候遇到一个需要根据input控件输入的内容,动态填充dropdown list中的内容, 实现二者联动的需求.在搜索了一些资源后,这篇博客解决了我的问题,所以记录并转载 ...
- pitch, yaw, roll
在航空中,pitch, yaw, roll下图所示. pitch是围绕X轴旋转,也叫做俯仰角. yaw是围绕Y轴旋转,也叫偏航角. roll是围绕Z轴旋转,也叫翻滚角.
- BZOJ 2754 【SCOI2012】 喵星球上的点名
题目链接:喵星球上的点名 首先可以发现姓和名两个串就是逗你玩的.在两个串中间插入一个\(10001\),当成一个串做就可以了. 于是我们的问题转化为了: 有\(n\)个串\(A_1,A_2,\dots ...
- java常用技术名词解析
1.1 token Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便 将此Token返回给客户端,以后客户端只需带上这个Token前来请求数 ...
- python发送requests请求时,使用登录的token值,作为下一个接口的请求头信息
背景介绍: 发送搜索请求时,需要用到登录接口返回值中的token值 代码实现: 登录代码: 搜索接口: