首页 > 其他分享 >用户故事与敏捷方法阅读笔记03

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

时间:2023-04-29 17:23:14浏览次数:38  
标签:03 场景 迭代 故事 用户 笔记 用例 敏捷 速率

第11章 测量并监控速率

我们将项目分成一系列迭代来做发布计划,每轮迭代中安排一定故事点的任务。一轮迭代完成的故事点就是项目的速率。因为速率是非常重要的度量,所以怎么测量它变得很重要,而且速率在初期的迭代可能很不稳定,经过两三轮迭代后,才能获得一个长期的、比较稳定的速率。注意:对于尚未完成的故事,不应该把它算在速率里。

通常,我们可以通过对比计划速率和实际速率,检测团队的速率。

 

第12章 故事不是什么

用户故事不是IEEE830软件需求规格

一段典型的IEE830需求规格如下:

此刻,你的脑子里大概是一台汽车。IEEE830样式的需求已经使许多项目误入歧途,因为它侧重于关注需求的检查清单,而不是用户的目标。需求清单不会像故事那样给读者一个对产品的整体理解。而用户如果没有安装IEEE830的标准编写需求,而是告诉我们他对产品的目标:

此时,我们认识到客户实际上想要的是一个割草机,而不是汽车。

用户故事不是用例

用例是对一个或多个用户之间交互的一般性描述。

用例的示例

故事与用例之间最明显的区别是他们的范围,故事的范围更小,因为我们对他们的大小有限制,通常不超过10个开发工作日。故事通常对应用例的主要成功场景,而故事测试对应于用例的扩展场景。

故事与用例的另一个区别在于他们的寿命。用例通常永久性存在,而故事在迭代完成后,即可以撕毁。

另外的区别是用例比较容易包括界面的细节,包含界面细节会导致问题,尤其是在项目早期,显然为主的想法往往会使得用户界面设计更加困难。

用户故事不是交互设计场景

场景是用户与计算机交互的详细描述。实际上,交互场景通常比用例更大更全面。

场景示例

场景包括了一下几个元素:

  • 应用环境:故事发生的地方,和简单的背景
  • 角色:每个场景至少包含一个角色。与用例不同,交互场景中的角色总是人,而不是系统。
  • 目标:每个角色可以寻求一个或多个目标。
  • 行动:故事情节。

故事和场景的主要区别是范围和细节。场景包含更多细节,他们通常涵盖了多个故事,例如上面的场景可以拆分成多个故事:

第13章 故事的优势

  • 用户故事强调口头沟通
  • 人人都可以理解用户故事
  • 用户故事的大小适合做计划
  • 用户故事适合用于迭代开发
  • 用户故事鼓励延迟细节
  • 用户故事支持随机应变的开发
  • 用户故事鼓励参与性设计
  • 用户故事传播隐性知识

用户故事的不足:拥有大量用户故事的项目中,故事之间的关系可能错综复杂,难以捉摸。我们可以使用角色来淡化此问题,尽量保证用户故事不要过于细节化,直到团队开发这些故事时才开始细化。

第14章 故事的不良征兆

  • 故事太小:经常需要调整估算,可能是因为故事太小。例如“编辑结果可以保持XML文件”和“编辑结果可以保持HTML文件”,显然这两个故事在很大程度上共享一部分实现,在计划时,应将这样的故事合并起来。
  • 故事相互依赖:由于故事之间有依赖,所以很难做迭代计划。
  • 镀金:开发人员在迭代中实现了计划外的功能,一个有效的解决方法是通过每日会议提高项目中每个人任务的可见性。
  • 细节太多:花太多的时间去写故事,而不是去讨论故事。
  • 过早考虑用户界面细节:在项目早期阶段编写的故事已经包含用户界面细节。
  • 故事划分太过频繁:为了确保工作量而频繁的划分故事。
  • 客户很难为故事安排优先级:故事太大或者无法体现出商业价值时很难排列优先级。

标签:03,场景,迭代,故事,用户,笔记,用例,敏捷,速率
From: https://www.cnblogs.com/JJTyyds/p/17364276.html

相关文章

  • 用户故事与敏捷方法阅读笔记02
    第6章用户故事验收测试比起写冗长的需求列表,可以用测试来充实很多用户故事的细节。测试是一个两步走的流程:第一,将测试要点记录在故事卡的背面,任何时候发现新的测试,都可以记录到故事卡的背面;第二,将测试要点变成全面的测试,这些测试可以用来演示故事已正确、完整地实现。测试验收......
  • Debug Assertion Failed!:Expression: can't dereference out of range vector iterato
    1#include<iostream>2#include<vector>3usingnamespacestd;4boolFind(inttarget,vector<int>array){5autobegin=array.begin(),end=array.end(),mid=begin+(end-begin)/2;6while((target!=*mid)&&a......
  • 四月读书笔记三
    在人月神话中巴比伦塔的失败主要是因为交流不畅,语言不通使得复杂的工程在交流模块变得更加的复杂,过度的交流影响了建筑的效率以及概念的完整性。软件产品也是一样的,一个软件产品的复杂度并不比巴比伦塔低,从分析到设计到开发到测试,整个流程下来,完全可以说软件产品就是一个小型的巴......
  • 03 Real-time Environment Mapping
    1.ShadingfromEnvionmentLighting--SplitSum使用IBL(imagebasedlighting)做光照积分,不考虑visibility。可以使用蒙特卡洛积分,但是需要做sampling,所以很慢。一般使用sampling的手段尽量避免在RTR中使用。如果BRDF是glossy则support小,如果diffuse则smooth,则BRDF可以......
  • django学习笔记--小白三板斧
    小白必会三板斧1.HttpResponse #返回字符串returnHttpResponse("Hello,world.")2.render #返回一个模板returnrender(request,'hello.html') #传参返回l1=['Billy','Felix','Mary']returnrender(reque......
  • 快速傅里叶变换FFT学习笔记
    点值表示法我们正常表示一个多项式的方式,形如\(A(x)=a_0+a_1x+a_2x^2+...+a_nx^n\),这是正常人容易看懂的,但是,我们还有一种表示法。我们知道,\(n+1\)个点可以表示出一个\(n\)次的多项式。于是,我们任意地取\(n+1\)个不同的值,表示\(x\),求出的值与\(x\)对应,形成\(n+1\)个......
  • P7603 [THUPC2021] 鬼街(减半警报器模板)
    P7603[THUPC2021]鬼街(减半警报器模板)前言这是一个由lxl大佬提出的神奇trick,第一次省选集训的时候有点颓,听完了没写。刚好明天又要讲这个不如写篇题解。还是,我太弱了;所以又是研究一晚上才写出来,所以还是吧我对这道题的理解讲讲。正文何为折半报警器按照lxl的ppt上的......
  • Django学习笔记--目录结构
    Django目录结构myprojectmyproject文件夹 #项目同名的文件夹settings.py #django暴露给用户可以配置的配置文件urls.py#路由与视图函数(也可以是类)对应关系(路由层)wsgi.py #网关,准备一些相关的环境(可以忽略)app01文件夹 #应用(可以有多个)mi......
  • SWEN20003 Object Oriented软件开发
    SWEN20003ObjectOrientedSoftwareDevelopmentProject2,2023TheUniversityofMelbourneSchoolofComputingandInformationSystemsSWEN20003ObjectOrientedSoftwareDevelopmentShadowPacProject2,Semester1,2023Released:Friday,21stApril2023at4:30......
  • XMake学习笔记(1):Windows(MSYS2)下MinGW-w64环境搭建和XMake安装
    以前写的C++基本都是CwithSTL,大多是面向过程的算法题,或者比较小的项目,然后经常报各种编译错误(对编译原理不熟),经常把人搞到崩溃,搞不懂构建、链接之类的东西。现在开始记录一下XMake的学习笔记,记录一些学习过程中踩的坑,在这篇文章,你将学习到Windows下利用MSYS2进行Mingw-w64环境搭......