Elicitation and Capture Should Be Illicit,需求并不像有些书本上描述的那样,本身就已经存在于某地,我们只需要简单的“捕获”这些需求,也就是说并不像我们之前预料的那样:用户其实明白所有的需求,可怜的项目组长或者开发人员只要想办法从用户口里“套”出来就ok了。
Robertson介绍了一种叫做“拖网”的模型来描述获得需求过程。这个暗喻从几个不同方面给我们启示。1)用不同网孔的网可以捕获不同尺寸的鱼,我们做需求分析的时候与此类似,先用大网孔的“网”捕获较大块的需求,然后再用小网孔的网铺货细节的部分;2)需求就像是鱼一样,也是有生命的,会成长,会死亡,伴随着一次次迭代的进行,有些一开始我们认为不重要的需求也许渐渐会变成我们需要解决的重要的需求,而有些一开始我们认为是重要的需求会慢慢的不再重要,或者,我们认为它已经死亡;3)就像你没法捕干净一个区域所有的鱼一样,你同样无法获得所有的需求,而且,就像捞鱼时会偶尔捞到一些无价值的垃圾一样,我们做需求分析的时候一样会收集到一些无用的部分;4)有经验的捕捞者知道在哪里可以捕获更多的鱼,有经验的需求分析师一样。
A Little Is Enough, or Is It?传统软件工程中对于需求,要求尽可能早的获得所有需求并且将需求文档化。敏捷方法中,我们知道没有一种网能够打捞起海中所有的鱼,而且我们没有足够的时间来完成所有的user stories,我们只能根据时间,在每次迭代中加入适当的user story。但是,虽然我们知道没办法识别出所有的user story,我们还是应该尽量多识别一些,哪怕很多story只是很抽象的描述几句。因为user story可以用不同的层次来描述,可以很抽象,也可以很具体,所以先用很抽象的描述来作为占位符,等到实际可以使用的时候,再将抽象的story进行细分,具体化。story识别的时候要知道适可而止,六个月的项目不要用三个月去识别user story,很多优先级不高的story只需要简单的描述。类似的,在启动一个项目之前,最好对项目的大小有一个大概的估计,以及项目大概会由多少个什么样的story构成。
四种重要的收集需求的手段:
-
User interviews
-
Questionnaires
-
Observation
-
Story-Writing workshops
分享到:
相关推荐
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)一书深入探讨了如何有效地利用用户故事来指导敏捷项目。 #### 二、用户故事的概念及其重要性 #...
《用户故事与敏捷方法》详细介绍了用户故事与敏捷开发方法的结合,诠释了用户故事的重要价值,用户故事的实践过程,良好用户故事编写准则,如何搜集和整理用户故事,如何排列用户故事的优先级,进而澄清真正适合用户...
敏捷的用户故事方法人的大脑同时处理事物的能力是有限的,传统的产品PRD既要思考内容是否表述了产品的真实意图,还要想着符合公司对于格式、用词等等方面的要求,这是一件非常烦琐、心生厌烦的事情。...
Mike Cohn 在《User Stories Applied: For Agile Software Development》一书中提供了一种如何编写 User Stories 以及如何在软件开发生命周期中运用它们的详尽蓝图。 在这本书中,Mike Cohn 解释了如何编写一个好的...
《User Stories Applied for Agile Software Development》是敏捷软件开发领域的一本经典著作,由Mike Cohn撰写,Addison-Wesley出版于2004年3月。这本书主要探讨了如何在敏捷开发环境中有效地使用用户故事,以提升...
在调用`__soapCall`时,将SOAP头作为第四个参数传递。 接下来,我们看看服务端的实现。`SOAPServer`类用于创建SOAP服务。在例子中,服务类`pc_SOAP_return_time`定义了一个名为`return_time`的方法,该方法返回当前...
读书笔记:spring cloud微服务实战的user模块
根据给定的“计算机网络读书笔记”文件信息,以下是对其中一些关键知识点的详细解析: ### 计算机网络概述 计算机网络是通过通信设备和线路将地理位置分散、功能独立的多个计算机系统互联起来,以功能完善的网络...
空间分析软件SGeMS配套书籍,Applied Geostatistics with SGeMS: A User's Guide(Chapter1-3)
蓝牙协议读书笔记 蓝牙协议是 Wireless Personal Area Network(WPAN)技术的一种,旨在提供一种低成本、低功耗、短距离的无线通信方式。下面是蓝牙协议的主要知识点: 拓扑结构 蓝牙协议支持三种拓扑结构:Point...
SQL> CREATE USER rman IDENTIFIED BY rman DEFAULT TABLESPACE man_ts; ``` 接下来授予该用户必要的权限: ```sql SQL> GRANT CONNECT, RESOURCE, RECOVERY_CATALOG_OWNER TO rman; ``` #### 3. 建立RMAN目录 接...
- 第4章 Structs:探讨如何定义结构体、结构体初始化、匿名字段、方法、内存布局和字段标签。 - 第5章 接口:讲解接口的定义、执行机制、匿名字段方法、空接口、类型推断和接口转换。 - 第6章 并发:介绍Goroutine和...
CCNA(Cisco Certified Network Associate)是思科认证网络助理工程师的简称,是IT行业内广泛认可的网络技术入门级证书。本笔记将详细解读CCNA的相关...希望这份CCNA中文读书笔记能为你的网络学习之路提供有力的支持。
- 第四部分:`root`是文件属主所属的组。 - 第五部分:`4096`表示文件大小为4096字节。 - 第六至七部分:`Oct 14 20:18`表示文件最近一次被修改的时间。 - 第八部分:`bin`是文件名。 ### 结论 通过上述分析...
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 ...