迭代故事

整个团队通过举行迭代计划会议来为下一轮迭代做出计划,客户与团队中的所有人员全部参与。由于团队将仔细研究用户故事,所以毫无疑问他们会有一些问题。需要客户团队随时回答问题。

迭代计划会议的一般内容如下:

1.讨论故事

2.从故事分解任务

3.开发人员承担个任务的职责

4.讨论所有的故事,并且接受所有任务后,开发人员单独估计他们承担的任务,以确保他们不会过于乐观的承诺。

讨论故事:

团队获得一个已经安排好的优先级故事集合,一次作为迭代计划会议输入。正如程序员可能改变他们对实现一个故事难度的看法,客户一样可能会改变他们故事优先级的想法。迭代会议会是调整故事优先级的良好时机。

会议开始时,客户从最高优先级故事开始,读给开发者听,然后开发者充分提问,知道他们理解故事,可以从故事中分解出任务。没有必要理解故事所有细节,过分的讨论每个故事的细节会导致会议变得冗长,低效,因为会议中不会每个人都需要聆听故事的细节。在计划会议后,开发者仍然有时间有客户一起交流。

分解任务:

将故事分解为任务没有什么窍门,许多开发人员他们的职业生涯一直在做这样的事情。由于故事已经比较小了,所以通常没有必要进行更多分解。

事实上,为何要做故事分解呢?为何不直接把故事作为独立的工作单位呢?

尽管故事的确可以小到可以作为工作单位,但是将他们分解出更小的任务,更符合项目的需要。首先对于很多团肚来说实现故事的开发人员不止一位。需要由多个开发者完成故事。

其次故事是对用户或者客户有价值的功能描述,他们并不是开发人员的待办事项 to-do  list 。把故事分解成为人物很有必要。因为有助发现那些可能被人遗忘的任务。因为整个小组一起来划分任务,依靠的是所有人的集体智慧,尽管某个开发人员可能会忘记"有必要更新安装程序"是故事的一部分,但是所有人都忘记却不太可能。

敏捷过程为人诟病的地方之一,它没有像瀑布流那些前期设计步骤,这是事实,敏捷没有前期设计阶段,敏捷过程的特点是频繁的短期设计。当脑海里至少有一个最小的方案时,才可能从故事中分解出任务。所以一个故事的任务分解其实是即时设计(just in time design)中的一次短脉冲,这些短脉冲的集合取代了瀑布流的前期设计过程。

(此处书中有详细举例)

承担责任:

一旦确定了故事的所有任务,就需要有团队成员自愿执行每个任务。如果任务写在白板上,开发人员的名称写在他们认领的任务后边。

就算要采用结对编程,每个任务通常也最好只关联一个人的名称。此人将承担任务的责任。

实际上,确保完成任务是团队中每个人的责任。团队要有一种“同舟共济”的心态。而且,在迭代快要结束时,如果有开发人员不能完成自己接受的任务,团队中其他成员应该勇于承担。

虽然任务是每个人认领并承担责任,但是在迭代期间并不是一成不变的,在开发取得进展中我们对任务会更加了解,因此任务的认领与承若也需要做出调整。

估算并确认

假如一个项目团队的速率是每轮40个故事点,那么不断重复前面的步骤-讨论故事,分解任务,直到团队讨论客户提供的前40个故事点的故事。这时每个开发人员负责估算自己的工作量。最好的方法仍然是以理想时间估算。

此时任务应该足够小,以便做出可靠的估算。即使不行,也不必担心。预测一下任务完成需要的时间,然后继续前进。如果像本章早先推荐的那样,任务以及承担任务的开发人员的名字写在白板上,每个开发人员就可以在白板上加上他的估算。

一旦开发人员估算好自己的任务,就需要把这些估算加起来,进而做出实际的评估,看看是否在迭代中能否完成所有任务。

假设,为期2周的迭代开始了,我已经承担了一个任务,我估算完成任务实际需要53个小时,如果我没有把握在这些任务上投入这么多时间。这种情况下我可以选择:

1.留着所有任务,希望一切顺利。

2.请求团队其他成员接手。

3.与客户沟通, 放弃故事或者分割故事。

每个开发人员必须能够放心地承若完成自己将要承担的工作,而且整个团队必须同舟共济,所以每个人都必须对整个团队做出承诺的把我。

用户故事与敏捷方法 - 第十章 迭代故事相关推荐

  1. 用户故事与敏捷方法pdf

    下载地址:网盘下载 内容简介  · · · · · · <用户故事与敏捷方法>详细介绍了用户故事与敏捷开发方法的结合,诠释了用户故事的重要价值,用户故事的实践过程,良好用户故事编写准则,如 ...

  2. 用户故事与敏捷方法阅读笔记03

    今天读完了<用户故事与敏捷方法>的第12章:用户不是什么 用户不是IEEE 830,不是用例,不是场景.读完这一章,我了解到对于任何方法,总会碰到不顺的情况,我们会看看发生问题时的一些不良 ...

  3. 15.用户故事与敏捷方法——Scrum与用户故事笔记

    00.本用户故事源自于基线编程,所以故事能够很自然地狱基线编程的其他时间形成一个体系.不过,用户故事作为一种管理需求的方法,也可以应用到其他类型的软件过程中. 01.一轮迭代过程是一种持续改进的过程. ...

  4. 象观敏捷之旅-用户故事与敏捷方法

    Date: 2015-05-04 21:07 一则漫画的启示 遇到的问题 编写严谨.漂亮.详细的文档本身成为一个目标,使用越来越冗长的文档,尝试用精确的语言来记录越来越多的细节和越来越具体的所谓全面的 ...

  5. 用户故事与敏捷方法笔记 --- 用户故事

    用户故事 用户故事描述了对用户.系统或软件购买者有价值的功能. 用户故事应该具备以下特点: 1) 独立的:应该避免故事间的项目依赖.在对故事排列优先级时,或者做计划时,故事间的相互依赖会导致问题. 2 ...

  6. 用户故事与敏捷方法—测量并监控速率

    1.测量速率--一般是一轮迭代中完成的故事点数的总和 2.尚未全部完成的故事是否包括在计算速率中?--不包括 没法计算故事的已完成百分比 不想使用带小数的值为速率引入错误的精度 没有完成的故事通常并不 ...

  7. 《用户故事与敏捷方法》读书笔记 02 细节是什么

    说"用户可以搜索岗位"是一回事,能够开始编码并作为测试的指导又是一回事.细节是什么?关于以下没有答案的问题又怎么办: 用户可以用什么进行搜索?州?城市?岗位名?关键词? 用户必须注 ...

  8. 《用户故事与敏捷方法》阅读笔记三

    用户故事具有多种好处: ①用户故事强调口头沟通:自古以来,口头表达是十分重要的.而且相比于书面书写的易产生歧义,口头表述更见简单明了,需求文档也是如此. ②人人都可以理解用户故事:相比于一些墨守成规的 ...

  9. 07.用户故事与敏捷方法——优秀用户故事准则笔记

    00.一个更好的办法是换一种方式编写故事,每个故事都提供某种程度的完整(end-to-end)的功能. 01.尽管不十分完美,即使只提供部分功能,但只要发布的功能可以跑,就可以放心地把应用程序发布给用 ...

最新文章

  1. 第八周项目一-数组作数据成员(1)
  2. Keil中的警告的解决
  3. 水利水电工程管理与实务电子版习题_水利水电工程管理与实务复习题集
  4. OpenResty请求参数处理
  5. Android屏幕计算正方形,Android Camera 正方形预览(二)
  6. 用API实现串口异步读写
  7. 蓝桥杯2015年第六届C/C++省赛A组第七题-手链样式
  8. 传统的继承在JavaScript中的应用
  9. 研究发现,近一半生产容器存在漏洞
  10. 乐玩插件和大漠插件哪个好_2019年都用过哪些Chrome插件?分享30个好用的插件,提升上网体验...
  11. 企业管理系统各主要模块简介
  12. 视频解析网站 服务器上,视频云解析服务器上
  13. 网桥算法的源代码c语言版,透明网桥算法(C语言)
  14. matlab误码率理论,QDPSK理论误码率与实际误码率matlab仿真程序
  15. ES6 filter 过滤数组 | 图片onload同步等待获取图片宽高
  16. Oracle Java Cloud系列(02)——创建Java云的应用服务器实例 及 数据库云实例
  17. 下载lpv9_v9社区APP下载-v9社区APP官方版 v1.0.4-114手机乐园
  18. 支付革新带来诸多便捷改变人们生活方式
  19. 英语口语266之每日十句口语
  20. 面试完,为什么总是让回去等通知?

热门文章

  1. 计算机算法发展史文献,多舛的创新历程:国内结构分析软件发展历程之高校篇...
  2. Android 原生设置Settings.apk恢复出厂页面操作体验优化
  3. 好书推荐:《高性能Linux服务器运维实战》
  4. Advenced Installer制作C#程序安装包过程.Net和Visual C++采用静默安装配置说明
  5. c语言迷宫代码大全,C语言---迷宫游戏 代码
  6. Mybatis捕捉异常
  7. LED流水灯多种点灯方式代码0基础讲解
  8. 解决Virtua Box 中的XP系统虚拟机连不上网问题
  9. 飞腾计算机硬件测试方法,银河麒麟操作系统
  10. educoder 数据挖掘算法原理与实践:线性回归(房价预测)