读书人

(转)user story在矫捷开发过程中的应用

发布时间: 2012-08-09 15:59:21 作者: rapoo

(转)user story在敏捷开发过程中的应用

1 从这里开始

第一部分我们将快速浏览什么是user stories以及如何使用,然后将阐述如何编写User Stories;如何通过系统用户模型来定义Stories;当客户自己本身无法前来的时候,如何同那些能够充当客户角色的人一起工作;如何来编写测试用例,来证明你的Stories已经被成功编写的细节,最后将阐述几条编写好的Story的指导建议。

当你学完这部分之后,你就可以定义、编写、测试你的Stories,同时你应该准备去看如何通过User Stories去进行评估和计划,也就是第二部分的内容。

1.1 概述

软件需求是一个沟通的问题,想得到(或者使用,或者出售)新软件的人,必须和软件的生产者进行沟通。项目的成功与否,依赖于从不同的人那里得到的信息:一方面是客户、用户、分析人员、领域专家以及其他从业务或者组织角度来看待软件的人;另一方面则是技术团队。

如果任何一方控制了沟通,那么项目注定会失败。如果业务一方控制,则会要求功能和日期,而不太担心开发人员是否能全部完成或者开发人员是否明白他们的真正要求;如果开发人员控制了沟通,技术术语会代替业务语言,开发人员也失去了通过倾听来了解客户真正需求的机会。

我们需要一种方法让大家一起合作,以至于沟通不会被单方控制,并且资源分配中的感情因素和原则问题就变成了双方共同的问题。.当资源分配完全倾向一方的时候,项目就会失败。如果开发人员全权负责(无论怎样都必须在7月份之前全部做完),他们可能会因为一些附加的功能而牺牲质量,或者只实现部分功能,或者独自制定本该客户或用户参与制定的大量的决定。当客户和用户方全权负责,项目前期就会出现一个漫长的讨论过程,在这个过程中越来越多的功能被从项目中删除,当软件被交付的时候,甚至实现的功能比删掉的功能少。

我们已经知道了我们不能够完美的预言一个软件开发项目。当用户看到软件的初版时,他们会产生一些新的想法,改变一些他们原有的想法,由于软件的不可把握性,开发人员进行时间估算变得非常困难。由于种种原因,我们无法罗列一个完整的PERT图表来显示我们在项目里所必须完成的全部工作。

那么,怎么办?

我们经常通过手头已经掌握的资料来做决定,会好过在项目初期就做出所有的决定。我们把做决定分散到整个项目过程中。为了做到这一点,我们要确认已经有一个尽早尽多获得相关的资料的程序。User Stories 由此而生。

1.1.1 User Story 是什么?

User story是对软件的用户或买主有价值的功能点的描述。User stories 由以下三点组成:

读书人网 >软件开发

热点推荐