user stories仅仅列出用户关心的细节(例如产品采用何种语言实现,采用何种架构,哪种数据库等不应该包含在其中)
user stories不应该太长太大,一个笼统的user story可以和一些作为补充的user stories联系起来
只要一个user stories最终覆盖了所有需要的细节,那么它就不需要再进行分解,例如: "A user can view information about each job that is matched by a search" 就已经足够,不需要再分解成1)user can view a job description. 2)A user can view a job's salary range. 3)A user can view the location of a job.
一个user storiy卡上同时应该注明用户对于这个user story工作时的期望,例如能否和如何处理输入异常。这些期望可以用来作为test case和coding的指导。
建立一个A customer Team来随时跟踪和确认用户的需求,应该包含测试人员,开发人员,项目经理,客户代表,ui设计师等。
user stories应该由customer team来完成,在编写user stories的时候,应该采用头脑风暴的方式,尽可能多的编写stories,之后,由程序员对每个user story进行评审,确认stories的尺寸(一个user story应该能在半天到两个星期内完成)
由customer team和开发者一同指定每一次迭代的周期,在本次迭代结束的时候,开发者负责交付所有的代码,开发文档和测试用例,而customer team负责确认本次迭代是朝着预期的目标在前进,一次迭代完成整个系统的一部分。
项目开始的时候,会由开发者预测一次迭代可以完成的工作量,并把这个工作量叫做“velocity”,每次迭代完成的时候,都需要根据实际完成的情况对“velocity”进行调整,一次迭代中实际包含的user stories个数也需要根据velocity进行调整,确保每次迭代中包含的stories都能够完成,如果无法完成,则将无法完成的stories调整到下一次迭代中,甚至调整到下一个版本中。下次迭代中包含的stories数量也需要根据velocity的值进行动态调整。
每次迭代开始的时候,由开发者和customer team一起确认那些是重要的必须优先实现的stories,并将这些stories优先放入当前的迭代中。
三种情况下的story是应该被优先实现的:
1)大部分用户广泛需要的。
2)少数但是是重要用户需要的。
3)其他高优先级stories依赖的。
在提高一个user story的优先级的时候,必须仔细考虑这个user story的成本,这个成本用一个叫做story point的指标来表示,用来衡量这个story本身的复杂性以及和其他story之间的依赖度,值越高表示实现这个story需要花费的成本越高。注意,不要将一个story point大于项目组velocity的story分配给一个项目组。
一个总结:
-
A story card contains a short description of user- or customer-valued functionality.
-
A story card is the visible part of a story, but the important parts are the conversations between the customer and developers about the story.
-
The customer team includes those who ensure that the software will meet the needs of its intended users. This may include testers, a product manager, real users, and interaction designers.
-
The customer team writes the story cards because they are in the best position to express the desired features and because they must later be able to work out story details with the developers and to prioritize the stories.
-
Stories are prioritized based on their value to the organization.
-
Releases and iterations are planned by placing stories into iterations.
-
Velocity is the amount of work the developers can complete in an iteration.
-
The sum of the estimates of the stories placed in an iteration cannot exceed the velocity the developers forecast for that iteration.
-
If a story won't fit in an iteration, you can split the story into two or more smaller stories.
-
Acceptance tests validate that a story has been developed with the functionality the customer team had in mind when they wrote the story.
-
User stories are worth using because they emphasize verbal communication, can be understood equally by you and the developers, can be used for planning iterations, work well within an iterative development process, and because they encourage the deferring of detail.
分享到:
相关推荐
User Stories Applied: For Agile Software Development <br>by Mike Cohn <br>Publisher: Addison-Wesley Professional (March 11, 2004) <br> Agile requirements: discovering what your users...
- **概念**: 用户故事(User Stories)作为敏捷开发方法中的一个核心组成部分,最初源于极限编程(Extreme Programming, XP)。它是一种轻量级的需求捕获技术,旨在通过简洁的语言来描述用户的期望功能。 - **起源**: ...
1. 敏捷软件开发(Agile Software Development):文件中提到的"User.Stories.Applied"是关于如何在敏捷软件开发中应用用户故事的一本书。敏捷开发是一种强调快速迭代、响应变化和用户参与的软件开发方法论。它的...
在众多敏捷实践和技术中,《用户故事应用于敏捷软件开发》(User Stories Applied: For Agile Software Development)一书深入探讨了如何有效地利用用户故事来指导敏捷项目。 #### 二、用户故事的概念及其重要性 #...
《用户故事与敏捷方法》详细介绍了用户故事与敏捷开发方法的结合,诠释了用户故事的重要价值,用户故事的实践过程,良好用户故事编写准则,如何搜集和整理用户故事,如何排列用户故事的优先级,进而澄清真正适合用户...
《User Stories Applied for Agile Software Development》是敏捷软件开发领域的一本经典著作,由Mike Cohn撰写,Addison-Wesley出版于2004年3月。这本书主要探讨了如何在敏捷开发环境中有效地使用用户故事,以提升...
Mike Cohn 在《User Stories Applied: For Agile Software Development》一书中提供了一种如何编写 User Stories 以及如何在软件开发生命周期中运用它们的详尽蓝图。 在这本书中,Mike Cohn 解释了如何编写一个好的...
敏捷的用户故事方法人的大脑同时处理事物的能力是有限的,传统的产品PRD既要思考内容是否表述了产品的真实意图,还要想着符合公司对于格式、用词等等方面的要求,这是一件非常烦琐、心生厌烦的事情。更何况在写的...
读书笔记:spring cloud微服务实战的user模块
例如,`pc_authenticate_user`方法可以用来验证用户凭据。如果用户身份有效,方法返回`true`;否则,返回`false`。在其他需要验证的方法中,我们需要先调用这个验证方法,若验证失败则抛出SOAP故障。 总的来说,本...
空间分析软件SGeMS配套书籍,Applied Geostatistics with SGeMS: A User's Guide(Chapter1-3)
蓝牙协议读书笔记 蓝牙协议是 Wireless Personal Area Network(WPAN)技术的一种,旨在提供一种低成本、低功耗、短距离的无线通信方式。下面是蓝牙协议的主要知识点: 拓扑结构 蓝牙协议支持三种拓扑结构:Point...
CCNA(Cisco Certified Network Associate)是思科认证网络助理工程师的简称,是IT行业内广泛认可的网络技术入门级证书。本笔记将详细解读CCNA的相关...希望这份CCNA中文读书笔记能为你的网络学习之路提供有力的支持。
这篇读书笔记将深入探讨这两个主题。 首先,我们来了解窗口。在Windows操作系统中,窗口是用户界面的基本元素,它承载了应用程序的显示内容和交互功能。窗口由系统管理,拥有自己的坐标系统、边框、标题栏、菜单、...
The following example user stories were written to describe the functionality in an early version of the Scrum Alliance website. These stories were written in early 2004. Some stories are good, some ...
vanessa-bdd-editor是一款专为BDD设计的工具,它支持Epics和User Stories的编写,使得整个开发过程更加结构化和直观。 Epics和User Stories是敏捷开发中的两个关键概念。Epics通常用来表示大型、复杂的功能或需求,...
- 第20章 os:包含System、Environ、Process、Signal和User。 第三部分:扩展库 - 提到了mgo(MongoDB的Go语言驱动)和RichMON(网络监控工具)。 从更新记录来看,作者雨痕从2012年1月开始学习Go语言,并在学习...
Shell编程指南读书笔记详细解读了shell脚本编写的基础知识和进阶技能。通过阅读该笔记,无论是新手还是有一定基础的程序员,都能够快速掌握shell脚本编写技巧,并为未来的学习奠定坚实的基础。 在文件安全与权限...