论坛首页 综合技术论坛

关于用户故事这件事

浏览 43721 次
该帖已经被评为精华帖
作者 正文
   发表时间:2006-04-24  
看到这篇文章,突然想到了前几天的一个概念。

感觉‘用户故事’或‘场景’就像一个水灵灵的葡萄,而成文的usecase就像是葡萄干虽然保留了葡萄
最重要的内容,但毕竟不是葡萄。
如果一个没有见过葡萄的人只吃吃葡萄干就去做一个葡萄,估计做出的的葡萄会千奇百怪。葡萄干的存在也是有理由的,他比葡萄好保存,易运输。这是不是和usecase的作用差不多了:)。usecase是对需的一个分析和记录。但我们为了可操作性往往只记录最关键的东西,打开usecase我们常常看到的是一些死巴巴的业务流程。而如果是用户故事了就会好很多,因为既然是故事就会用渲染,
会用人物各个方面细致的描述,会用历史背景的描述总之详尽一切让你身临其晶。

各自用途:
1、个人感觉如果是团队内部做交流或是业务培训,最好还是由业务人员给大家讲讲故事的比较好。
当然这个时候不是说usecase就没有了作用,业务人员可以用usecase作为提纲以免有什么遗漏。

2、开发人员第一次了解业务也不要只看usecase,这样的效果是很不好的。文字性的东西虽然不容易遗漏什么,
但你读文章是单向的交流。如果因此产生的歧义, 那也就没有什么机制可以及时纠正了。
还是面对面的沟通交流吧!(我也最烦email来emai去,压根就没有什么工作效率。)

3、在开发过程中开发人员可以依据usecase来开发,但此时必须保证他的大脑中用一个故事场景,
能够根据usecase中的1234还原出一个活生生的需求来。
1 请登录后投票
   发表时间:2006-04-24  
snomile 写道
clamp兄可以看看gigix翻译的《与熊共舞》,其中有一章说到客户团队的,当然那本书里面没有提客户团队这个名词。
书中说客户(真实的客户代表)所能做到的极限是评估产品每个组成部分的价值。评价价值是极限,客户不可能作模块优先级评估、日程安排等工作,开发计划更不可能由客户安排。这是由于关注点不同造成的。客户的关注点决定了客户对能产生直接价值的部分最感兴趣,但一个软件系统中有相当一部分功能属于支撑性功能,例如软件的基础架构(这东西只对乙方有直接价值)、一些基础参数配置模块,这些东西,你对客户说,他可能都不理解,也不关心,但它们对软件开发就很重要。

比较现实的做法是:客户评估模块的价值,然后由乙方结合自己的情况(技术力量、软件实现的先后依赖关系,甚至可能还包括公司的产品策略)来进一步安排开发、提交、验收计划。这个过程是迭代进行的。

我想这是对“客户团队”所起作用较公正的定义:客户评估模块的价值,其他由乙方决定。整个软件开发活动中,乙方起主导作用,甲方予以必要的配合。

以前一切乙方说的算,现在好像突然要一切客户说的算了,有点矫枉过正。

xp中的好多实践一定要结合自己的实际情况予以酌情修正,像客户团队、简单设计、不断重构、结对编程这几个,如果不加以localization而直接照搬,肯定死得很惨。


开发团队评估模块工作量,客户评估模块优先级。哪个业务比较重要,除了客户知道还有谁知道?
“突然要一切客户说的算了”……这个,我很无语。
另外,自称XP的项目“死得很惨”的我见了不少,不过在我看来大半就是因为这个“酌情修正”。
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics