用户故事与敏捷开发读书笔记01

软件需求是一个软件项目成功的关键因素,许多软件项目失败都是因为软件需求的“不完整、不准确、不一致”。而软件需求是从业务需求经用户需求最终得到系统需求的,所以业务需求是软件需求的源头,而业务需求又是从客户业务中来的,客户有问题且需要解决的业务才是业务需求。所以准确、完整的根据用户的描述获取用户的业务需求至关重要。从软件开发的角度入手,使用用户故事,从用户角度描述功能,让我们可以从用户角度出发思考问题,避免程序员的自以为是,使得业务需求更加的准确、完整。

用户故事描述了对用户、系统、或软件购买者有价值的功能;包括三个方面的内容:一份书面故事描述(用来做计划和作为提示);有关故事的对话(用于具体化故事细节);测试(用于表达和编档故事细节且可用于确定故事何时完成)。而使用用户故事时,多个小故事要胜于一个庞大的故事;故事卡上需要带有适当的注释,来规定对于每个功能的用户期望是什么,对下面的测试有着很大的作用。对于故事驱动的项目需要客户和用户在项目过程中全程参与。

编写用户故事时最好根据用户类别来编写,每个用户故事都由商业语言来编写而不是技术术语;由客户团队(包括确保软件满足用户需求的所有人,可以安排开发人员的工作优先级)而不是开发人员来编写。客户团队与开发人员一起选择迭代长度,在每个迭代结束时,开发人员需要交付完全可用的应用程序子集,客户团队则要确保项目能够达成交付所需产品的目标。

验收测试时即用来验证实现的用户故事是否符合客户团队的期望。测试应该尽早的在迭代中进行编写,方便客户团队与开发人员进行进度的沟通。

编写的故事卡主要起提醒作用,提醒客户团队和开发人员在以后要进行关于需求的对话,并不是需求本身,具体的细节需要客户团队与开发人员讨论。编写的每个故事必须对用户有价值。有区分软件使用者和软件购买者。针对不同的用户故事卡上的需求侧重点也不同。对于编写的故事卡所需的编码量需要能够估计出来,这样对于规划每个迭代阶段进行的内容有很大的帮助。每个故事都可测试的,测试开发人员是否正确的完成了故事。

总起来说,为了更好的进行软件需求可以采用用户故事的方式。一张好的故事卡需要大小适中,由客户团队用商业语言进编写,可以进行测试。写好用户故事,并根据功能的优先级将各个故事安排在相应的迭代阶段,然后进行实现,对于整个软件项目的进行以及完成的软件与用户的需求的一致也具有很大的促进作用。

时间: 2024-10-06 15:49:22

用户故事与敏捷开发读书笔记01的相关文章

用户故事与敏捷方法读书笔记02

开发软件可以通过编写用户故事来确立开发的目标和方向.而在编写故事前首先要对所有用户进行分类,根据角色的不同属性进行分类.步骤为:1.通过头脑风暴,列出初始的用户角色集合:(要坚持‘已确认的角色代表的是单一用户’的原则)2.整理最初的角色集合:(确认角色之间的关系:用户角色定义的是人而不是外部系统)3.整合角色:(对于完全重叠的用户进行重新定义,舍弃对系统成功作用不大的角色)4.提炼角色(根据角色特征来建立角色的模型). 编写故事之前需要搜集故事,通过与用户沟通来发现故事.可以像用渔网捕鱼一样获取

用户故事与敏捷开发方法笔记06

用户故事得到这么多人的肯定,是因为它自身的优势有很多:1.用户故事强调口头沟通,因为传统的通过各种文档进行表达,每个人对于文字的含义的理解都不同,所以在阅读文档的过程中可能会因为理解的不同对项目的完成造成影响:2.人人都可以理解用户故事,并且用户故事可以增强人们对各种事件的记忆:3.用户故事的大小适合做发布规划以及进行编程和测试:4.用户故事适合于迭代开发,项目过程中可以写出一部分故事然后就进行编码和测试5.用户故事鼓励延迟细节:6.用户故事支持随机应变的开发,因为用户故事注重口头交流,而且很容

用户故事与敏捷开发方法笔记04

因为需要将每个用户故事按重要性分配到相应的迭代过程,所以每个迭代过程的时间就可以根据用户故事大致估算出来,所以要学会估算用户故事所需的时间.估算用户故事可以采用故事点估算的方法,这种方法的优点就是团队可以定义自己认为合适的故事点,可以根据自己团队的情况具体定义,比较灵活.正因为这个原因,有的团队倾向于用理想时间,有的团队则倾向于使用模糊时间.估算的主要目的之一是知道整个项目的工作量,通常将估算量换算成时间,而模糊时间需要考虑项目过程中可能出现的情况,所以采用理想时间更为简单. 进行估算时尽可能整

用户故事与敏捷开发方法笔记03

每个迭代过程后需要进行验收测试.验收测试有两个流程:1.将测试要点记录在故事卡的背面,任何时候发现新的测试,都可以记录下来:2.将测试要点变成全面的测试,这些测试用来演示故事已正确.完整地实现.而且故事卡上写有测试的一些内容会提醒程序员在实现的时候该注意什么,所以为了让程序员尽早了解测试的内容,应该在为这个故事编写代码前开始制定验收测试.测试应该由客户自己或客户与程序员和测试人员一起制定.为了测试更加的全面测试可分为一下几种类型:1.用户交互测试,确保所有用户交互组件如期工作:2.可用性测试,确

用户故事与敏捷开发方法笔记05

每一轮迭代完成之后需要开迭代计划会议为下一轮的迭代计划.迭代计划会议包括:1.讨论故事:2.从故事中分解出任务:3.开发人员承担每个任务的职责:4.以上3项完成之后每个开发人员对其任务量估计,尽量保证自己领取的任务在下轮迭代结束时可以完成. 讨论故事:开发人员充分理解故事,在其中分解出任务:需要理清故事的关键细节. 从故事中分解出任务:因为一个故事有可能由几个程序员一起承担,所以要将故事分级成更小的单位:而且分解任务的过程还可以发现以前被忽视的细节. 开发人员承担每个任务的职责:开发人员自己领取

《用户故事与敏捷开发》阅读笔记02

 <用户故事与敏捷开发>阅读笔记02       这周读了<用户故事与敏捷开发>的第四至七章,第四章讲述的是如何搜集故事,也就是如何正确的去找到用户需求.作者明确指出"引用"和"捕捉"是不合用的.所谓"引用"和"捕捉",我想是通过用户对功能的表述,开发人员从中获取需求信息吧.如果是这种方法来获取需求,正如作者所说,用户不会知道所有的需求,所以只靠着这方法是远远不够的.对于故事编写的数量以及程度,作者认为

《用户故事与敏捷开发》阅读笔记04

  <用户故事与敏捷开发>阅读笔记04 今天抽出了两个小时读了<用户故事与敏捷开发>的第十二.十三.十四以及十五章并写了这篇阅读笔记.第十二章标题为"故事不是什么".IEEE 830是一本关于如何编写软件需求规格的指南,最突出的特征是使用短语"系统应该.....",但作者认为以这种方式编写系统的所有需求实际是一个不可能的任务.因为用户看到正在开发的软件时总会有有效和重要的反馈循环.他们会改变之前的想法,而且每个需求的成本是不可见的,会造成分析

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

第8章 估算用户故事 使用故事点 我们用“速率”(velocity)来代表一个团队在一轮迭代中完成(或期望完成)的故事点数.因此,务必保证每次迭代的故事点的度量是一致的. 如果用结对编程呢? 团队用不用结对编程,对故事点估算并没有影响.团队可以采用理想结对日或理想个人日来估算故事点,区别会表现在速率值上. 一些提醒 一个故事(可能是一个史诗故事)分解成一些小故事后,这些小故事估算的总和不需要与开始那个故事或史诗故事的估算相等. 类似地,一个故事分解成一些任务.这些任务估算的总和不需要与故事的估算

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

第12章:故事是什么 用户故事有别于IEEE 830软件需求规格.用例和家傲虎设计场景. 考虑用户的目标比列出方案的特性更重要. 用户故事与用例场景类似.他们的完整性和寿命不同.他们以不同的目的编写. 第13章:用户故事的优势 用户故事促使我们重视口头交流,这一转变提供了迅速的反馈周期. 用户故事的典例范围比用例及场景小.他适合于迭代开发.鼓励延迟细节,鼓励应变的开发. 第14章 用户故事不良症兆一览 故事太小:故事相互依赖:镀金:故事中包含太多的细节:过早包含用户界面细节:想的太原:故事划分太