敏捷开发中的用户故事

用户故事

drawio是一款强大的图表绘制软件,支持在线云端版本以及windows, macOS, linux安装版。 如果想在线直接使用,则直接输入网址drawon.cn或者使用drawon(桌案), drawon.cn内部完整的集成了drawio的所有功能,并实现了云端存储,以及在线共创,分享,协作的功能。

用户故事是与UML用例图是强相关的, 用户故事与UML两者均被用于敏捷软件开发上下文。 两种类型的图表被用于研究和编写用户需求, 他们标识了不同的用户组和他们的目标, 但是他们通常以不同的方式使用。

用例图

一个用力展示了所有的结束方式——用户与你的系统进行交互,可以通过所有的前置,后置条件, 异常,备选路径等。 这些图表可以被用来建立你的系统需求, 无论他是否是一个软件系统或者与其他团队或者个人进行互动。

UML用例图不用于调度或广泛的计划目的,因为它们是高度技术性和具体的,而是作为系统技术文档的基础。

用户故事或者故事地图

用户故事捕捉的是用户需要做什么和为什么这么做, 是站在用户的视角。使用自然语言是很简单的写出来的。

作为一个[扮演者] 我想要做[动作] 去完成 一个 [目标].
As an [actor] I want to do [action] to achieve a [goal].

例如:

  • 作为制造商,我希望尽量减少刀具更换,以优化生产线,从而降低成本。
  • 作为一名顾客,我想在网上订购食品(以避免去商店,可以享受我的饭菜)。
  • 作为一个软件开发者, 我想要远程办公,节省路上的时间,写出更好的代码。

作为一个客户, 是不会对你的系统的技术实现细节感兴趣的,用户故事不是用来细化系统需求, 是为你留出时间和空间,用来研究备选解决方案(多个路径解决方案)为了能更好的满足客户的需求。

多个不同类型的团队发现用户故事映射是非常灵活和有用的计划工具可以保持持续的改进,保持开发完全聚焦在客户排优先级的需求上。

  • 软件开发——确定编码任务的优先级和时间表。
  • 市场——策划吸引客户的广告活动。
  • HR——改进招聘和入职流程和系统。
  • 工厂管理者——优化装配站或整条生产线。
  • 产品设计者——计划对现有产品的增量改进。
  • ITS——提高数据和网络的安全性和稳定性。
  • ...

例如客户聚焦的故事在敏捷开发中非常流行,而用户故事(epics[史诗]),会被分解成更小的任务(故事)或者实现步骤。 这些可以让敏捷开发团队评估和计划开发项目。小一点的任务能够更容易的排优先级,和按照时间表分配到backlogs中或者一个冲刺中(短跑)。

传统上,故事映射是用某种网格布局的白板上的便利贴来完成的,当您在分布式团队中工作时,这并不真正有用。

在当今的远程世界, 你可以复制白板和故事映射到drawon.cn中, 在drawon.cn中,可以使用表格映射, 容器和泳道(例如这些用于交叉功能流程图), 或者仅仅在看板上放置矩形来表示。

故事地图是一个活动, 客户想要去完成(某件事情),不应该包含更多的技术实现细节。 这个故事映射是以跨职能的方式进行构建。

如何构建一个故事地图

  1. 理解你的客户:标识他们的目标和他们想要实现目标的广泛活动。这些在你的地图中顶层,是大的故事——动作要领是有很多步骤。从高级图形库中找出一个名字为: 表格图像或者携带泳道跨职能流程图。

    例如, 作为一个【客户】, 我想要【在网上订购食品】。

  2. 把这些活动分解成小一些的步骤: 客户必须完成这些小任务以实现他们的目标: 浏览商品, 添加商品到购物车, 选择配送货物地质, 进入支付细节,等等。也许可以或者不可以定义工作量,任务能够被分解成更小一些的子任务,如果他们太大的话。

  3. 按照序列组织任务和子任务: 将较小的任务和子任务按照从左到右的顺序排列在它们的活动下面(或者用你喜欢的方式来阅读图表)。这可以显示客户完成活动和任务的顺序。

  4. 排列任务和子任务的优先级: 通过垂直排列指示任务/子任务的优先级——更重要的任务位于故事地图的较高位置。

        

Tips

  • 那些不需要按任何顺序执行的任务,或者那些具有同等优先级的任务,可以按照对你和你的团队最有意义的方式来组织。
  • 不要把技术细节放在图表中——技术细节使用UML来描绘,或者其他更详细的图表。

        

这是一个想要在线订购食品的顾客的故事地图,使用了通用图形库中的简单图形。

贯穿整个开发过程中不断的跟新你的故事地图

你的故事地图可以作为一个可视化的路线图,显示你已经完成的工作,剩下的和计划的工作,以及超出范围的工作。

将未实现的任务和子任务分发到版本中, 故事地图中的迭代和冲刺, 注意由它们的左右位置或依赖关系箭头指示的依赖关系,以及由它们的垂直位置指示的优先级

通过将任务和子任务拖到新的位置,或泳道中的新位置来重新确定优先级。

在您的故事地图中跟踪开发,就像您使用它计划您的项目一样。当您完成每个任务的实现时,添加一个图形、工具提示、颜色或标签,以显示任务已经完成(或正在测试、记录等)。

用特定的颜色表示超出发布范围的任务,添加一个形状来表示计划的冲刺以及任务是否已经实现。

和你的客户一起贯穿整个故事地图

你可以简单的用drawon.cn 发布一个故事地图,并创建连接分享给你的客户, 用于交流,提供分享理解, 产生新的想法。

与他们一起浏览故事地图,检查活动细节并从客户那里获得见解。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/669776.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

transformers重要组件(模型与分词器)

1、模型: from transformers import AutoModelcheckpoint "distilbert-base-uncased-finetuned-sst-2-english" model AutoModel.from_pretrained(checkpoint) 除了像之前使用 AutoModel 根据 checkpoint 自动加载模型以外,我们也可以直接…

深度学习的新进展:从模型架构到应用领域的创新

引言: 深度学习作为人工智能领域的重要分支,近年来取得了令人瞩目的进展。通过模拟人类大脑的学习过程,深度学习模型能够从大量数据中提取特征、识别模式、进行分类和预测等任务。本文将探讨深度学习在模型架构、算法优化以及应用领域的新进展…

Python HttpServer 之 简单快速搭建本地服务器,并且使用 requests 测试访问下载服务器文件

Python HttpServer 之 搭建本地服务器,并且使用requests访问下载服务器文件测试 目录 Python HttpServer 之 搭建本地服务器,并且使用requests访问下载服务器文件测试

如何利用边缘计算网关进行机床数据采集,以提高数据采集的效率和准确性-天拓四方

边缘计算网关集成了数据采集、处理和传输功能的嵌入式设备。它位于传感器和执行器组成的设备层与云计算平台之间,能够实时处理和响应本地设备的数据请求,减轻云平台的压力,提高数据处理的速度和效率。同时,边缘计算网关还可以将处…

跟着cherno手搓游戏引擎【21】shaderLibrary(shader管理类)

前置&#xff1a; ytpch.h&#xff1a; #pragma once #include<iostream> #include<memory> #include<utility> #include<algorithm> #include<functional> #include<string> #include<vector> #include<unordered_map> #in…

ROS笔记一:工作空间和功能包

目录 工作空间 如何创建工作空间&#xff1a; 编译工作空间 设置环境变量 功能包 创建功能包 CMakeLists.txt package.xml 工作空间 ROS的工作空间是用来存放工程文件代码的文件夹 ROS的开发依赖于工作空间&#xff0c;包括编写代码、编译等都是在工作空间下进行的 工作空…

如何在Termux中使用Hexo结合内网穿透工具实现远程访问本地博客站点

文章目录 前言 1.安装 Hexo2.安装cpolar3.远程访问4.固定公网地址 前言 Hexo 是一个用 Nodejs 编写的快速、简洁且高效的博客框架。Hexo 使用 Markdown 解析文章&#xff0c;在几秒内&#xff0c;即可利用靓丽的主题生成静态网页。 下面介绍在Termux中安装个人hexo博客并结合…

GO语言集成开发 JetBrains GoLand 2023 中文

JetBrains GoLand 2023是一款专为Go语言开发者打造的集成开发环境&#xff08;IDE&#xff09;。它基于IntelliJ IDEA平台&#xff0c;提供了丰富的功能和工具&#xff0c;旨在提高开发效率和质量。GoLand 2023具备强大的Go语言支持&#xff0c;包括语法高亮、自动补全、代码提…

RPA财务机器人之UiPath实战 - 自动化操作Excel进行财务数据汇总与分析之流程建立与数据读取、处理、汇总、分析

一、案例介绍&#xff1a; A公司共有13个开在不同银行的帐户&#xff0c;分别用于不同的业务分部或地区分部收付款。公司总部为了核算每月的收支情况&#xff0c;查看银行在哪个月交易量频繁&#xff0c;需要每月汇总各个银行的帐户借方和贷方金额&#xff0c;并将其净收支&am…

【PyTorch】实现迁移学习框架DaNN

文章目录 前言代码实现1、导入数据库关于torch.manual_seed(1)2、参数设置3、数据导入4、定义MMD损失5、定义训练函数5.1 nn.CrossEntropyLoss()5.2 .detach()5.3 .size VS .shape5.4 .to(DEVICE)5.5 .max()5.6 optimizer.zero_grad()

Qt中设置全局字体

在Qt中设置全局字体通常涉及两个步骤&#xff1a; 首先加载所需的字体然后将其应用为应用程序范围内的默认字体。 这可以通过在应用程序初始化时设置 QApplication 的字体属性来实现。 以下是一个示例代码&#xff0c;展示了如何设置全局字体&#xff1a; #include <QAp…

unity 增加系统时间显示、FPS帧率、ms延迟

代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;using UnityEngine;public class Frame : MonoBehaviour {// 记录帧数private int _frame;// 上一次计算帧率的时间private float _lastTime;// 平…

小程序自定义组件扩展功能介绍

为了更好定制自定义组件的功能&#xff0c;可以使用自定义组件扩展机制。 扩展后的效果 为了更好地理解扩展后的效果&#xff0c;先举一个例子&#xff1a; // behavior.js export default Behavior({definitionFilter(defFields) {defFields.data.from behavior;}, });// c…

比值计算 - 荣耀机试真题题解 ( 第1题 100 分)

系统&#xff1a;牛客网 考试时长&#xff1a; 90分钟 试卷总分&#xff1a; 300分 &#xff08;总共 2 题&#xff09; 题目描述 已知差值 x 10 ∗ l o g 10 ( S / N ) − 10 ∗ l o g 10 ( S / ( N k ∗ N ) ) x10*log10(S/N)-10*log10(S/(Nk*N)) x10∗log10(S/N)−10∗lo…

docker 简单项目

要将服务器端口映射到容器端口&#xff0c;你可以使用 Docker 命令的 -p 选项。以下是基本的步骤&#xff1a; 1. **拉取镜像&#xff1a;** 在服务器上运行以下命令拉取你想要的 Docker 镜像&#xff0c;例如 Nginx&#xff1a; bash docker pull nginx 2. **运行容器…

MATLAB Fundamentals>>>Centering and Scaling

MATLAB Fundamentals>Common Data Analysis Techniques>Polynomial Fitting>Centering and Scaling 数据导入 This code sets up the activity. yr 2000:2007 penguins [5.49 7.03 7.73 7.70 9.29 9.21 11.89 10.85] 附加练习 How does the model look?…

MongoDB 字段中数据类型不一致序列化异常排查与处理

MongoDB 字段中数据类型不一致序列化异常排查与处理 背景如下&#xff0c;因为项目迁移愿意&#xff0c;一个使用Mongodb的业务拥有C#和Java两组Api。Java Api开发和测试都很顺利。上线一段时间后&#xff0c;客服反馈记录都不见了。查看数据库发现&#xff0c;时间字段拥有两…

Java函数式接口:编程美学的革新之旅

1. 引言 函数式接口的概念 在Java中&#xff0c;函数式接口(Functional Interface)是一个关键的概念&#xff0c;它为Java的函数式编程提供了基础。一个函数式接口定义了一个具有单个抽象方法的接口&#xff0c;允许使用Lambda表达式或方法引用作为实例。这种接口的主要目的是…

uniapp 之 base64转临时地址播放mp3

需求是&#xff1a;进入页面的时候是先有背景音乐&#xff0c;发送问题请求回答的时候会返回文字和音频&#xff0c;前端要把音频读出来&#xff0c;并且把背景音乐停止&#xff0c;读完音频后再打开背景音乐 一开始用的直接base64直接拼接在地址后 真机放不了 const innerAu…

GCC编译器技巧--在C语言里面使用使用内敛汇编

GCC内敛汇编 基本格式 asm(汇编语句 :输出操作数(可选) :输入操作数(可选) :被破坏的寄存器(可选) );示例 int a 10, b; asm("movl %1, %%eax; movl %%eax, %0;":"r"(b) /*输出*/:"r"(a) /*输入*/:"%eax" /*破坏的寄存器*/)实现…