个人认为,敏捷开发、迭代开发,是软件时代发展的一个必然产物。传统的瀑布模式,已经不能适应当下的需求模式。传统模式下开发出来的软件,并不要求易用性至上,或者由理论大牛根据、市场反馈、人类行为学、心理需求学等等理论,制定软件需求。而面对市场情况不清晰、用户至上、反馈太多的情况,瀑布模式就显得笨重而迟缓。所以,敏捷开发就产生了。
敏捷开发产生的原因:
1.硬件升级后,编译速度变快,跨平台编程也成为现实;
2.面向对象编程以及后续的软件发展,使得编写软件相对更加容易;
3.网络的发展,使得发布、升级软件变得容易,且几乎没有成本;
4.市场的多变性造成用户的多变性,传统的软件开发方法不能及时跟上这种多变性,且在竞争激烈的环境下,更快的发布软件,更快的满足用户的需求,成为首要问题。
敏捷开发的基础是用户故事,所以用户故事一定是重点中的重点。而用户与开发人员都不一定确定用户故事是什么,所以制定用户故事一定是一个讨论过程,而且随着软件迭代,用户故事是发展的,满足用户故事也是发展的。
敏捷开发的原则是,要让迭代转起来,不停的发布,不停的满足用户故事。
【书摘】
一个优秀的故事应该具备以下6个特点:
1、独立的。对于相互依赖的故事:1)合并为一个故事;2)考虑其它的划分方法;3)在故事卡上标明依赖关系。
2、可讨论的。用户故事应该只包含一两句话,用来提醒开发人员和客户沟通,并且包含一些注释,用于标明在沟通中亟待解决的问题。
3、对用户或客户有价值的。为了保证每个故事对用户或客户都是有价值的,最好由客户来编写故事。
4、可估计的。如果缺少领域知识导致不可估计,需要和客户沟通,如果缺少专业知识,则可以把故事拆分出一个调研故事,最好将调研故事和原始故事放在不同的迭代中。
5、小的。需要注意对大的故事需要拆分,而太小的故事则需要合并。
6、可测试的。尽量采用自动化测试。
DSDM包括一个排列优先级的方法,称之为莫斯科(MoSCoW)规则
必须有(Must have):系统的基本功能。
应该有(Should have):很重要但短期内有替代解决方法的功能,如果项目没有时间约束,通常认为应该有的功能是强制性的。
可以有(Could have):如果没时间就可以在发布中不予考虑的功能。
这次不会有(Won't have this time):客户期望拥有但同时承认需要在后续发布中实现的功能。
用户故事不良症兆一览
1.故事太小:不容易估算cost,且容易分裂故事之间的有机联合。
2.故事相互依赖:很难做迭代计划。只能把相互依赖的故事放入同一期迭代计划。
3.镀金:开发人员实现了计划外的功能,但是在验收测试中却没有相应的测试用例,容易埋下质量隐患。
4.细节太多:在实现故事之前花太多功夫去收集整理故事细节。也可能花了太多时间写故事,而不是讨论故事。只有讨论才能真正了解用户真实的故事。
5.过早考虑用户界面细节:界面应该是在后期才考虑的问题,用户的故事可能随时在变。
6.想得太远:想的太多或者太远,都是在预估用户的需求,而在敏捷开发中,用户的需求是时刻变化的。
7.故事划分太过频繁:在迭代计划中,为了确保迭代工作量合适,频繁划分用户故事。
8.客户很难为故事安排优先级:可能需要重新讨论用户故事。
用户故事是敏捷开发的基础
《用户故事与敏捷方法》热门书评
-
我的敏捷思想成长之旅
18有用 1无用 FreshAIR 2010-11-02
我的敏捷思想成长之旅第一次认识敏捷,是通过Bob大叔的《敏捷软件开发》,这是敏捷方法的奠基之作。认识Scrum,是通过Kent Beck的《Scrum敏捷项目管理》,第一次被Scrum打动。真正吸引我深入的,则是两个Mike的著作。也许是当时两本书同时在看的缘故,使得我对敏捷方法有了更深的领悟。其一...
-
用户故事的操作指南
7有用 0无用 tomato 2012-01-21
怎么编写一个用户故事?怎么确定项目的用户角色?怎么收集用户故事?在不能直接接触用户的情况下我们怎么做?怎么确定一个用户故事是否完成?一个好的用户故事有些什么特征?怎么估算用户故事?怎么确定发布计划和迭代计划?怎么监控故事完成的速率?敏捷大师Mike Cohn在这本书中详细阐述了解决这些问题的办法,并...
-
不要忘了初衷
4有用 2无用 Joker Lee 2012-03-07
现在的互联网产品开发早就摆脱了瀑布式的开发方法,不同公司有不同的定义产品需求的方式,书里的用户故事user story实际上和用例use case一样,是产品人员描述用户需求的方法,他得主要优点在于卡片式的形式加上简短的描述文字和约束条件方便交流理解,文档式的产品需求说明书内容繁多不利于与用户和市场...
-
无题
0有用 1无用 疯狂的菠菜 2011-08-13
在网上看到说这个是讲用户故事非常经典的一本, 本着"张口闭口谈敏捷而不知道user story的程序人生是不完整的"的想法, 于是搜了来看看.以前从没有接触过user story, 知道user case. 看过书之后, 绝大大部分情况下, 可以将二者等同起来看, 不过作者也讲...
-
还好了
0有用 1无用 方奕东 2011-01-24
这本书是参加U-Perform培训的时候,作为本书审校的老师送的,读后觉得大有收获。虽然翻译有些地方不能让人非常满意,不过还算OK. 推荐一读。晕,不知道为什么豆瓣要求我们评论一定要达到一定的字数,而又不让你知道需要达到多少字,是用户体验的设计的一个败笔。...
书名: 用户故事与敏捷方法
作者: [美] Mike Cohn
出版社: 清华大学出版社
原作名: User Stories Applied: For Agile Software Development
译者: 石永超 | 张博超
出版年: 2010-4
页数: 220
定价: 39.00元
装帧: 平装
ISBN: 9787302223405