What is a user story?

user story is a short description of something that your customer will do when they come to your website or use your application/software,  focused on the value or result they get from doing this thing.

重点是 这个 story  value and result, 如果 你不确定 自己的story  写的到底对不对,就要搞清楚,value  or result 到底是什么,找到最根本的东西

User stories are:

  • written from the point of view of a person using your website or application
  • written in the language that your customers would use.

How to write user story

The basic technique is simple. You take this format: An an [actor] I want [action] so that [achievement].

actor: the customer or the user, figure out the actor, if you can not figure out , then you have to reconsider whether you need it. 不能写customer或者 user,需要写具体的用户类型,如DBA,如果确实想不到,需要考虑用户建模,

action: describe what will happen , not how it will happen, should not too detailed. 写清楚用户要做什么,但是不能具体怎么做,

achivement: the value or the result, describe the purpose of the feature, if you can not think up the achivement, then you have to reconsider whether the feature is import or not  用户这样子做的目的是什么,考虑一下value

when to use user story

User stories should be written at the beginning of your project, before you start making any decisions about technical solutions or design. Once they’re written they should be prioritised, from most important to your customer to least important. One of the beauties of Agile is that you can keep writing and reprioritising your user stories throughout the development period. - 在 agile  team里面,应该是一直都有在写user story,因为总是会不断的有story,只能说,如果一个task 没有 user story的话, 是不能  groom

Why use user stories?

user stories don’t make you think about how something will be implemented; instead they focus on the who and the why. This lets clients/commissioners/Product Owners bring their expertise to bear on defining the who and the why, and lets designers and developers bring their expertise to bear on the how. -更加方便 沟通,不会太具体的东西,用户不需要关注你的细节如何实现,只要关注 why and who, 设计和开发可以更加关注 how

方便创建task,然后用来做计划以及估算时间

在整个 agile process里面,都可以进行增加 删除和修改

可以让开发从用户的角度来思考问题

link from here

https://www.boost.co.nz/blog/2010/09/user-stories

随机推荐

  1. 安装pitchpork 及 pacbioscience 的问题及解决

    1. error while loading shared libraries: libpbbam.so: cannot open shared 解决: find -name  libpbbam.so ...

  2. APPicon的生成

    APPIcon 工厂图标的生成:http://icon.wuruihong.com/#/home

  3. ubuntu 安装 c语言的库函数man手册

    安装 1.C语言库函数基本的帮助文档 sudo apt-get install manpages sudo apt-get install manpages-de sudo apt-get insta ...

  4. ffmpeg 视频 转 gif

    将视频 MP4 转化为 GIF ffmpeg -i small.mp4 small.gif 转化视频中的一部分为 GIF ffmpeg -t -ss :: -i small.webm small-cl ...

  5. cocos2dx开发之util类&方法——字符串替换

    /*将originStr字符串中的searchStr替换成replaceStr*/ std::string str_replace(std::string originStr,std::string ...

  6. PyCharm:ModuleNotFoundError: No module named 'selenium'

    Mac安装PyCharm后,将已有工程导入,之前使用Mac终端执行脚本时正常,现在报错ModuleNotFoundError: No module named 'selenium',解决方法是在PyC ...

  7. strstr函数的运用

    strstr函数用于搜索一个字符串在另一个字符串中的第一次出现,该函数返回字符串的其余部分(从匹配点).如果未找到所搜索的字符串,则返回 false.

  8. Arduino SD卡 列出文件

    /* SD卡测试 这个例子展示了如何使用实用程序库 sd库是基于获取您的SD卡的信息. 非常有用的测试卡,当你不确定它是否工作. 电路: *附在SPI总线上的SD卡如下: * MOSI引脚11上的Ar ...

  9. java栈的实现复习

    栈是一种线性表,仅限在一端进行插入和删除操作,特点是先进后出. 由于栈是一种线性结构,首先可以想到用数组来实现,但由于数组初始化后容量就已经确定,如果不添加扩容操作,则会出现栈溢出,同时扩容操作也会降 ...

  10. Linux服务安装配置总结