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 ...
随机推荐
- 使用svn导入项目
打开eclipse工作平台点击“File”-->import如下图: 在项目导入框中找到SVN选择“从SVN检出项目”然后点击“下一步”,出现如下界面: 在上图界面中选择“创建新的资源库 ...
- Git和Jenkins日记之没有新提交代码
日期:2017/3/9 今天查看Jenkins运行代码记录的日志时,发现并没有昨天新提交的代码,然后查看了Jenkins的测试项目中所有的自动化测试用例, 并没有看到昨天新提交的测试用例,又查看了gi ...
- SpringBoot 消息转换器 HttpMessageConverter
1.简介: Spring在处理请求时,由合适的消息转换器将请求报文绑定为方法中的形参对象,在这里,同一个对象就有可能出现多种不同的消息形式,比如json和xml.同样,当响应请求时,方法的返回值也同样 ...
- 永久修改VS include目录
原文:https://blog.csdn.net/sysprogram/article/details/49214727 VS2008在选项里可以设置全局的Include目录和Lib目录, 但是VS2 ...
- js 通过id或class获得的对象说明
通过id获取的是一个对象 通过class获取的是一个数组 $($(".layui-tab-item layui-show")[0]).html(data)//实际测试没用. ...
- 取消开机logo,改成代码刷屏
将开机logo改成开始时代码刷屏,这样就能很方便看到开始时的一些问题 首先 sudo chmod 666 /etc/default/grub 然后将 GRUB_CMDLINE_LINUX_DEFAUL ...
- 解决Android Studio No cached version of org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.50 available for offline mode.
打开 file --> Settings... --> Build,Execution,Deployment下点击 Gradle 在Global Gradle settings 处 取消勾 ...
- (转载)http和socket之长连接和短连接区别
TCP/IPTCP/IP是个协议组,可分为三个层次:网络层.传输层和应用层.在网络层有IP协议.ICMP协议.ARP协议.RARP协议和BOOTP协议.在传输层中有TCP协议与UDP协议.在应用层有: ...
- 那些年我们一起用过的 PHP 函数(一)
用这个帖子记录一下 PHP 中比较常用的函数以及使用过程中需要注意的点,此贴持续更新 1.strpos() 函数 首先,我们知道 strpos() 函数是用于查找一个字符串在另一个字符串第一次 ...
- C# 调用Windows图片查看器
/// <summary> /// 查看原图 /// </summary> /// <param name="image"></param ...