敏捷开发之用户Story(一)

2023-10-19 10:50
文章标签 开发 用户 敏捷 story

本文主要是介绍敏捷开发之用户Story(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作为自己在工作的一种记录,因为我一直认为产品经理(Product Manager  简称PM)算是一种新行业、(都说PM始于宝洁,但是也可能更早之前就出现过做着PM做的事,但他是其他职位的人。)进入中国不超过15年。所以需要我们不断的与其他的PM或人进行讨论、实践、总结,再讨论、实践、总结。形成进步学习的闭环。

敏捷开发之用户Story

用户Story也叫用户故事只需要X度一下,全部都是相关的介绍和说明,我这里就不再过多的需求。他们每一篇的内容大致都是说用户故事需要遵守INVEST原则。

INVEST原则

Independent:独立性

用户故事之间应该具有独立性,不应该依赖于其他的用户故事。一般可以通过组合用户故事或者分割用户故事来减少用户故事间的相互依赖性。

Negotiable:可协商

用户故事是由客户或者PO同开发小组的成员共同协商制定的,用户故事代表了一个用户群体的需求,而这个需求是零散的,通过相关人员的沟通,协商经常可以丰富用户故事。

Valuable:有价值

用户故事对于最终的用户是有价值的,因此应该站在用户的角度去编写,描述的是一个一个的feature,而非一个一个的task。

Estimable:可评估

对于一个用户故事的划分需要足够的领域知识,使得在划分故事之时就能大致了解故事开发的周期,为了减少估算的不确定性,故事本身不能太大。

Small:短小

故事应该尽量的短小,当然也不是说越小越好。短小的故事可以减少分解过程中估算的误差,最好的故事是能够在一个迭代周期之内完成的。如果太大就应该考虑将其拆分为多个粒度更小的用户故事。

Testable:可测试

如果一个用户故事无法进行测试,那么也就无法判断该故事是否真的完成。所以,用户故事必须在定义了验收测试通过的标准后才能认为用户故事开发完毕。

来源:@百度www.baidu.com

下面我就说说我的看法吧。希望对各位和我都起着小黄鸭的作用吧:)。

用户Story

一、用户Story的作用

用户Story,我认为是在我经历过的项目中起一个特殊的地位。在开发中你可以不使用Story,你都可以完成整个流程的开发。这样的结果只是会被“锤脑壳”。。。至于原因嘛Emmmm...

除了减少“挨打”的次数,用户Story还是以简短的话语尽量还原”场景“下的用户需求。用户是在怎样的一个情况下提出这个需求的。

二、用户Story—基本要素

写用户Story的时候我们需要围绕三个基本要素来写。用户(角色)、需求(目的)、原因(好处)三点。

通过一定的需要修饰就组成了我们常见的Story语句。

来源http://thebside.ca/未商用侵必删

三、用户Story—用户(角色)

在写用户Story时我们最先写的就是用户(角色),作为Story的开头,用户(角色)十分的重要,因为我们产品出发点都是从用户(角色)出发,不同的用户(角色)他们的需求和原因都是大不相同的。不同用户(角色)之间,都会存在着相互矛盾、相互冲突的需求。(就像在居民楼里休息的上班族与居民楼外广场上跳舞的阿姨,他们就可能存在着冲突)所以我们在”创建用户“时一定要给他附带属性。如:学生、程序员、Coser等或者在这些属性前加上特殊字以便自己更好的确定用户属性。如:秃顶的程序员(疯狂暗示)、没钱的学生、富LuoLi等

来源:@百度 未商用侵必删

四、用户Story—需求(目的)

在前面明确了用户(角色)之后,我们就需要确定他的需求(目的),一方面可以从我们的商业价值来表述。另一方面也可以从用户需求来描述(其实我觉得他俩就是一个,能够解决用户需求的产品,能够解决的方式,方法也是他的商业价值)。

我们在描述需求(目的)的时候,我们需要尽可能地不要直接去描述功能(虽然知道是什么功能)。至于原因,我个人认为是为了更加偏向于”真实需求“。

举个例子:在是古代,人们只能骑马,从西藏到黑龙江需要几十年(瞎掰)。

这个时候有个传令官需要从西藏到黑龙江。这个传令官就是角色那个的需求是什么?按照我们现在的思维的话,他需要的飞机,直接飞过去。几个小时就可以达到。但是这个需求是真实的吗?肯定不是,那他的真实需求是什么? 他的真实需求可能只是能够更快的到达目的地(黑龙江)罢了。

把时间换成现代,马儿变成车,但是他的需求还是不是飞机这个”功能“还是只是能够更快的到达目的地(黑龙江)罢了。

这样在后期开发就尽量避免出现我只想要个指甲刀,结果你给我一把瑞士军刀,延长了开发周期和资源成本。

来源:@百度

五、用户Story—原因

最后一部分就是用户Story中的原因,是什么样的原因促使前面的用户(角色)产生了前面的需求(目的),是开发没有女朋友吗?是后端的纸片人没有更新吗?更或者是为了治疗秃顶?

原因其实很简单只需要从实际出发,而非凭空想象,即可。

六、常见的Story模板

一、我是(角色),我希望(功能),这样(好处)。

二、作为(角色),我想要(商业价值),以便(原因)。

三、作为(角色),我想(目标),以便(某种原因)。

在写Story的时候我们需要尽可能的保持刚刚好的详细,让用户Story有“笔直性”。避免增加过多的细节要求,让Story变得复杂。

      结尾大家也来试试写一些用户Story。

 

 

 

 

 

这篇关于敏捷开发之用户Story(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/239281

相关文章

一文详解Python如何开发游戏

《一文详解Python如何开发游戏》Python是一种非常流行的编程语言,也可以用来开发游戏模组,:本文主要介绍Python如何开发游戏的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、python简介二、Python 开发 2D 游戏的优劣势优势缺点三、Python 开发 3D

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

Spring Boot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)

《SpringBoot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)》本文将以一个实际案例(用户管理系统)为例,详细解析SpringBoot中Co... 目录引言:为什么学习Spring Boot分层架构?第一部分:Spring Boot的整体架构1.1

k8s admin用户生成token方式

《k8sadmin用户生成token方式》用户使用Kubernetes1.28创建admin命名空间并部署,通过ClusterRoleBinding为jenkins用户授权集群级权限,生成并获取其t... 目录k8s admin用户生成token创建一个admin的命名空间查看k8s namespace 的

Java中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例解析

《Java中的分布式系统开发基于Zookeeper与Dubbo的应用案例解析》本文将通过实际案例,带你走进基于Zookeeper与Dubbo的分布式系统开发,本文通过实例代码给大家介绍的非常详... 目录Java 中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例一、分布式系统中的挑战二

基于Go语言开发一个 IP 归属地查询接口工具

《基于Go语言开发一个IP归属地查询接口工具》在日常开发中,IP地址归属地查询是一个常见需求,本文将带大家使用Go语言快速开发一个IP归属地查询接口服务,有需要的小伙伴可以了解下... 目录功能目标技术栈项目结构核心代码(main.go)使用方法扩展功能总结在日常开发中,IP 地址归属地查询是一个常见需求:

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

Python实战之SEO优化自动化工具开发指南

《Python实战之SEO优化自动化工具开发指南》在数字化营销时代,搜索引擎优化(SEO)已成为网站获取流量的重要手段,本文将带您使用Python开发一套完整的SEO自动化工具,需要的可以了解下... 目录前言项目概述技术栈选择核心模块实现1. 关键词研究模块2. 网站技术seo检测模块3. 内容优化分析模