敏捷开发系列文章目录

讲出符合开发团队味口的故事。

上一章说了敏捷开发团队的构成与迭代过程,本章重点说一下迭代第一天的计划会议。熟话说“好的开始就成功了一半”,一个迭代的计划会议做得好不好确实直接注定着迭代的成功与失败。迭代开始之前,PO肯定都已经提前准备好了本次迭代的所有故事,并且提前都发给了团队熟悉,后来我们一般都会在前一个迭代快要完成的时候开一个下个迭代的熟悉会议,组织大家一起熟悉下个迭代的故事,一开始并没有这么做,是在过去的多个迭代中,发现每个迭代计划会议都会拖得很长,有时候会开整整一天还没开完,需要晚上加班继续把故事讲完,任务安排好。在回顾会议的时候我们有总结为什么会这样?我们发现每个故事消耗的时间都特别的长,大家会提针对这个故事提很多的问题,PO会跟大家解释这个故事的需求,有时候PO也没有想到的地方大家就会讨论,这样深入下去,那么时间就这样消耗掉了。最后大家就会觉得迭代会议开得太累,肯定不是长久的法子。如果团队能在计划会议之前做一次提前的沟通,这样团队会提前把自己的想法告诉PO,PO也能提前想好抉择故事的业务。如此一来后来的迭代计划会议确实高效多了,还能够节约下来时间提前做一些功能设计。

PO为了把故事讲明白,肯定提前都把所有的故事都想过一遍,流程是通的,也不会存在相互矛盾。PO有一个自己的用户故事地图,然后把故事地图中的故事按优先级放入Product Backlog排好顺序,从Product Backlog 进入迭代的故事列表就是Sprint backlog。PO一定不能拿出自己都还没弄明白的史诗级的故事拿进Spring backlog给开发团队。

计划会议的流程是这样的,PO把故事列出来,可以在白板上贴卡片,我们直接用的leangoo,一个电子版的看板。然后PO会一个个讲解这些故事,讲完一个故事,SM就会让团队成员提问,如果没有问题就开始估点,估点用扑克牌。现在摆在PO面前最大的问题就是故事怎么讲?大家觉得讲故事可能很容易,其他没那么简单,为什么了,因为PO和开发团队很少是站在同一个频道上思考的,PO经常是跟市场、客户、老板打交道的,从他们那里获取到产品的需求,所以他讲得更多是这个功能的重要性,这个功能的价值,而开发人员是跟机器打交道更多的,他们更多的是站在技术层面如何来实现这个需求,所以PO如果讲的时候越偏向于实现方式上面,开发人员就更容易理解,才会觉得这个故事符合他们的味口。

我到目前为止还在纠结这个故事描述的方式和详细程度,我觉得这个胃口肯定是某个团队的胃口,不一定适合所有团队,只有团队之间形成一种默契,那么交流起来肯定是事半功倍的,所以PO写故事需求,一定不要拘泥与某一种形式,一定得多尝试多思考。

故事不要写太多的文字,写太多开发人员也很少会认真的去看,写太详细也不行,会让有些人产生依赖,也不自己思考。之前就有一个测试人员,一个小时就写了几十个测试用例,怎么可能这么厉害,后来一评审他的用例发现用例的内容都是成段成段从需求中拷贝过来的,一问他这段什么意思,根本还没来得及搞清楚。所以太详细就容易产生依赖,也浪费PO太多精力在文字工作上。太少了肯定也不行,之前就见到过别的团队,故事就是一句话,作为一个用户,我希望能有某某功能,以便于我某某方面会更好。这样的需求开发人员肯定看着都是木的,就算你口才再好也难以有条理的把这个需求讲出来,就算讲出来了,开发人员也不一定有条理的接收了,开发人员肯定觉得你至少有张图吧,对着图讲也好有个消化过程。所以我们一般故事中的需求会涉及到业务说明、业务流程图、界面草图、验收条件,所以了不多不少刚刚好。

一个完整的故事,首先在卡片上会对这个故事有一个整体的说明,比如“作为一个药剂师,我希望可以查询到待配药或已配药的记录,以便于我对指定患者进行配药或取消配药的操作”。这是一个标准格式,作为...我希望...以便于...,三个省略的地方,第一个说出了这个需求的提出者,第二个说出了他需要一个什么功能,第三个说出了为什么需要这个功能,它有什么价值。然后在卡片后面我们有一个链接地址,进一步来描述这个故事,这个链接里就包含了该有的业务说明、流程图、界面草图和验收条件。

故事举列:

US993 查询配药记录

1、故事
    作为一个药剂师,我希望可以查询到待配药或已配药的记录,以便于我对指定患者进行配药或取消配药的操作
2、验收标准
    1、功能要求:(1)系统支持按收费时间,配药窗口,患者就诊卡号、门诊流水号、发票号查询当前登录药房的待配药处方信息;(2)系统支持按配药时间,患者就诊卡号、门诊流水号、发票号、配药窗口查询当前登录药房的已配药处方信息;
    2、录入约束:卡号、门诊流水号、发票三个检索条件在同一个文本输入框内录入;
    3、交互要求:(1)如果系统参数设定的是自动或手动配发模式,而当前用户未指定当前工位对应的配药窗口时,系统会自动在右下角弹出提示,要求用户设定当前工位对应的配药窗口。(2)所有功能按钮上要求有小图标标示作用。
    4、执行结果:(1)查询到的结果必须与界面设计的内容一致,与后台数据库中的归档信息一致;(2)查询到的结果集必须按配药窗口号,患者挂号序号、收费时间(配药时间)依次降序排列;
3、需求说明
    1、待配药界面

2、已配药界面

敏捷开发系列文章目录

3.PO如何给开发团队讲好故事的更多相关文章

  1. 如何避免Scrum敏捷开发团队反思会形式化,海星法介绍

    如何避免Scrum敏捷开发团队反思会形式化? 迭代压力很大,根本没时间,而且,反思会上大家都在互相推脱责任,会议成了“批斗大会”,所以团队的人都觉得这个会很鸡肋. 很多团队在开反思会时是这么干的:产品 ...

  2. Medium开发团队谈架构设计_转

    转自:Medium开发团队谈架构设计 背景 说到底,Medium是个社交网络,人们可以在这里分享有意思的故事和想法.据统计,目前累积的用户阅读时间已经超过14亿分钟,合两千六百年. 我们支持着每个月两 ...

  3. 开发团队(Team)的主要职责和特征

    角色介绍 开发团队是Scrum团队的三个角色之一. 开发团队包括架构师.开发工程师.测试人员.数据库管理员和UI设计师等,这几类人的跨职能组合.具备的技能足以实现产品开发. Team的主要职责 1.S ...

  4. Firebird数据库系统的开发团队

    下载Firebird3的发布文档,上面列出了开发团队,仔细看了看,原来俄罗斯人是主导(内核开发),法国人.智利人.巴西人.日本人.荷兰人.捷克人都有.共17人,3人全职. able 13.1. Fir ...

  5. Scrum&Kanban在移动开发团队的实践 (二)

    Scrum&Kanban在移动开发团队的实践系列: Scrum&Kanban在移动开发团队的实践 (一) Scrum&Kanban在移动开发团队的实践 (二) 在第一篇分享文章 ...

  6. Scrum&Kanban在移动开发团队的实践 (一)

    现在大多数团队都在谈敏捷开发,似乎觉得敏捷是软件开发的银弹.只需要实践下一些敏捷开发的模式就能如何如何,其实我觉得不论是敏捷开发还是传统的瀑布流开发都是有他们的市场的,取决于团队人员构成,取决你的产品 ...

  7. 转:Yelp开发团队发布内部网站设计指南

    原文来自于:http://www.infoq.com/cn/news/2014/02/yelp-style-guide 近日,Yelp开发团队在博客发布消息:Yelp公开了内部网站设计指南.这份文档此 ...

  8. 开发团队在TFS中使用Git Repository (一)

    在研发团队中,代码版本管理是最为基础的必要工具.个人使用过的版本管理工具有SVN.VSS.ClearCase.TFS.Git,从团队的角度和使用角度来说,个人倾向于与使用TFS作为团队的基础工具.首先 ...

  9. 微信终端开发团队:新年新语言,WCDB Swift

    欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 作者:sanhuazhang,此文发布在微信终端开发团队的专栏 WCDB 作为微信的终端数据库,从 2017.6 开源至今,共迭代了 5 个版本 ...

随机推荐

  1. Linux FFmpeg(含x264、lame插件)安装记录

    What is FFmpeg? FFmpeg是一套可以用来记录.转换数字音频.视频,并能将其转化为流的开源计算机程序.它提供了录制.转换以及流化音视频的完整解决方案. What is x264? H. ...

  2. 剑指offer 11二进制中1的个数

    输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. java版本: public class Solution { public int NumberOf1(int n) { Strin ...

  3. Hadoop HBase概念学习系列之HBase里的4维坐标系统(第一步定位行键 -> 第二步定位列簇 -> 第三步定位列修饰符 -> 第四步定位时间戳)(十八)

    HBase里的4维坐标系统(第一步定位行键   ->   第二步定位列簇  ->  第三步定位列修饰符   ->  第四步定位时间戳) HBase里的4维坐标系统(第一步定位行键   ...

  4. Ardunio led呼吸灯

    #include <Adafruit_NeoPixel.h> #define PIN 9#define LED_NUM 16Adafruit_NeoPixel strip = Adafru ...

  5. 【连接】Spring事物的传播行为

    http://blog.csdn.net/it_wangxiangpan/article/details/24180085 PROPAGATION_REQUIRED--支持当前事务,如果当前没有事务, ...

  6. 页面中图片以背景图形式展示好还是以img标签形式展示

    img和background-image的异同: img是网页结构层面上的标签,页面中多一个img标签就会多一次http请求,且当我们浏览页面时,img标签作为网页结构的一部分,会在浏览器加载结构的过 ...

  7. JDBC规范(转)

    公司开发一直用的是ibatis,进来心血来潮想研究一下源码,可是发现自己的JDBC似乎已经忘得差不多了,为了自己能顺利的研读ibatis的源码,于是乎找到了 XIAO_DF的JDBC规范的博客,转到自 ...

  8. Oracle 空间查询, 数据类型为 sdo_geometry

    因网上搜索到的相关资料大部分都是关于sdo_geometry的介绍和以及通过sql语句添加要素,查询要素等等.没有找到存储过程相关的例子,所以只好自己动手啦. 准备 环境:windowsxp系统,安装 ...

  9. rss工具及资源

    使用的工具:reeder 资源: https://calayer.com https://github.com/SwiftOldDriver/iOS-Weekly/releases https://w ...

  10. vue-cli代理开发

    如何设置接口代理? 一.找到config文件下的index.js 二.找到dev里面的proxyTable他的值就是一个{},这里为了方便配置配置文件单独写成一个文件 dev: { env: requ ...