原创: 兔子 Worktile;)
Worktile
微信号 getworktile
功能介绍 Worktile 是更好用的企业协作平台。具有多种即时沟通方式,任务看板便于搭建场景化的工作流,无限存储空间和在线文档帮助企业构建知识库,数据的沉淀分析为领导者提供决策辅助,办公审批、管理后台真正实现了企业内部协作和管理的平衡。
10月31日
概述:product backlog是一个敏捷团队管理开发过程的核心,所有的活动和交付物都围绕product backlog来进行。在制定product backlog的过程中会遇到很多问题,接下来,我们将结合Worktile敏捷开发实例,带大家一起学习如何制定product backlog 。
Product backlog和用户故事
Product backlog是Scrum的核心,也是一切的起源。它是由Product Owner负责制定的一个按照重要性的级别排序的用户故事列表。规模较小的用户故事可以直接加入Product backlog;规模较大的用户故事要先拆分,再加入Product backlog进行迭代。
用户故事是一句简短的、采用用户熟悉的术语表达的需求,是 Product owner讲给开发人员的故事,含有一定业务价值的端到端交付。
用户故事是描述对用户有价值的功能,一个好的用户故事应该包括角色、功能和商业价值三个要素。
一般我们在描述一个用户故事的时候会按照以下格式:
作为一个<角色>, 我想要<功能>, 以便于<商业价值>。
比如:作为一个“项目经理”,我想要“有快捷方法把所有项目生成甘特图”,以便于“项目管理和查看所有项目进度。”
需要注意的是用户故事不能够使用技术语言来描述,要使用用户可以理解的业务语言来描述。在Worktile中,我们用一个任务类型为“敏捷需求”的任务代表一个用户需求。
如何编写product backlog或用户故事
product backlog一般由Product owner编写,再确定优先级,最后在Sprint plan meeting上和开发团队确认。但有时研发团队也会写,比如:作为研发人员,我需要写一个操作缓存的模块,这就是研发initial的backlog。
用户故事看似简单,但是其实是很难写。比如:作为会议管理员,可以查看所有用户的提问,以便了解哪些用户发表的评论。看上去这种价值描述不错,但是如果系统只是为了查看的话,会议管理员为什么要查看?如果评论很多,他如何查看?所以用户故事的价值描述其实是给需求分析做了一些价值挖掘的要求,团队要去挖掘角色做这一动作的价值,并为角色挖掘出必要且合理的理由。
用户故事具备以下六个特征:
1. 独立性(Independent)— 要尽量避免故事间的相互依赖。在对故事排列优先级时,或者使用故事做计划时,故事间的相互依赖会导致工作量估算变得更加困难。通常可以通过两种方法来减少依赖性:
①将相互依赖的故事合并成一个大的、独立的故事
②用一个不同的方式去分割故事。
2. 可讨论性(Negotiable)— 故事卡是功能的简短描述,细节将在客户团队和开发团队的讨论中产生。故事卡的作用是提醒开发人员和客户进行关于需求的对话,它并不是具体的需求本事。一个用户故事卡带有了太多的细节,实际上限制了和用户的沟通。
3. 对用户或客户有价值的(Valuable)— 用户故事应该很清晰地体现对用户或客户的价值,最好的做法是让客户编写故事。一旦一个客户意识到这是一个用户故事并不是一个合同,而且可以进行协商的时候,他们将非常乐意写下故事。
4. 可估算的(Estimable)—开发团队需要去估计一个用户故事以便确定优先级,工作量,安排计划。但是让开发者难以估计故事的问题来自:
①开发人员缺少领域知识
②开发人员缺少技术知识
③故事太大了
5. 小的(Small)— 一个好的故事在工作量上要尽量小,最好不要超过10个理想人/天的工作量,至少要确保的是在一个迭代或Sprint中能够完成。用户故事越大,在安排计划,工作量估算等方面的风险就会越大。
6. 可测试的(Testable)— 故事必须是可测试的。成功通过测试可以证明开发人员正确地实现了故事。如果一个用户故事不能够测试,那么你就无法知道它什么时候可以完成。一个不可测试的用户故事例子:用户必须觉得软件很好用。
在很多项目中,Product owner只是从一个角度编写product backlog,这样往往容易忽略很多需求。所以在编写用户故事前要识别用户角色和虚拟人物(Personal),从不同角度编写product backlog 。
以下是招聘网站可能出现的用户角色列表:
如何确定Sprint backlog的优先级
编写完product backlog后,Product Owner需要对需求进行优先级的评定,根据优先级从高到低依次作为Sprint backlog。评定标准由Product Owner定。对于一些无法估算时间成本的backlog,需要细化到一个能估算的backlog为止。例如,此次的backlog是A功能,但要做A功能的时间无法估算,拆分A功能发现要做A需要先做B功能,可要做B功能的时间也无法估算,再拆分B功能发现要先做C功能,而C功能可以估算。这时的Backlog优先级就是C→B→A。
需要注意的是,Sprint backlog在项目进展过程中是会发生变化的,只有product owner有权来修改优先级。
Worktile是如何管理Product backlog的
Worktile支持自定义任务类型,这表示客户可以根据自己的需求,灵活配置任务的状态/属性信息,以及任务的工作流以及关联关系等。Worktile中用一系列的标签来区分用户故事的信息,需求来源对应角色,任务名称对应功能,还可以自定义规模、优先级等。
Worktile对Product backlog的管理,是按照以下几个步骤进行的:
1. 通过收集社区、帮助中心、后台的客户反馈,由客户成功整理出自客户/产品/售后等渠道的用户故事,由产品负责人细化为需求
2. 在Worktile中建立项目和需求任务
3. Pruduct owner整理需求池
4. 安排研发优先级
5.在Sprint plan meeting上Scrum团队沟通,给开发团队分配任务
当开发团队完成了product backlog并不是就真正的结束了,还需要验收,或者叫用户故事的测试要点,验收标准由product owner自己决定或是在Sprint Review Meeting 和开发团队一起决定,每个团队的验收标准都不一样,有些团队以需求完成作为验收标准,有些团队以需求通过测试为验收标准,但总体的验收标准遵循DoD(Definition of Done)原则。
综上,一个完整的Product backlog = 用户故事 + 优先级 + 验收标准。
互动环节
Scrum也有其自身的先天缺点,就是对团队要求高,团队成员有能力且相互信任度高,不会相互推卸责任。新团队使用该方法,起初会有各种问题,需要多多磨合。
您有遇到过这样的问题吗?或者其他关于敏捷开发的问题?不管是理论、落地、还是实际操作中遇到的问题都可以~
在留言处留言,我们后期将整理出点赞数高的一些问题,由Worktile首席架构师徐子岩为大家一一解答~
推荐阅读
[](http://mp.weixin.qq.com/s?__biz=MjM5MzkxODQ5NA==&mid=2651444335&idx=1&sn=5cd74dc7e6f258ba511055af5288dbb0&chksm=bd72cf1e8a054608c9bd11045c744422d9edaace32c89c818eac29213505b2c115714dd6d302&scene=21#wechat_redirect)Worktile带你学敏捷(先导篇):网易DevOps平台的敏捷之旅
Worktile带你学敏捷(一):如何更好地执行Scrum会议
点击阅读原文,Worktile帮你做好管理
兔子
长按二维码向我转账
受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。
Original url: Access
Created at: 2018-11-28 14:06:22
Category: default
Tags: none
未标明原创文章均为采集,版权归作者所有,转载无需和我联系,请注明原出处,南摩阿彌陀佛,知识,不只知道,要得到
java windows火焰图_mob64ca12ec8020的技术博客_51CTO博客 - 在windows下不可行,不知道作者是怎样搞的 监听SpringBoot 服务启动成功事件并打印信息_监听springboot启动完毕-CSDN博客 SpringBoot中就绪探针和存活探针_management.endpoint.health.probes.enabled-CSDN博客 u2u转换板 - 嘉立创EDA开源硬件平台 Spring Boot 项目的轻量级 HTTP 客户端 retrofit 框架,快来试试它!_Java精选-CSDN博客 手把手教你打造一套最牛的知识笔记管理系统! - 知乎 - 想法有重合-理论可参考 安宇雨 闲鱼 机械键盘 客制化 开贴记录 文本 linux 使用find命令查找包含某字符串的文件_beijihukk的博客-CSDN博客_find 查找字符串 ---- mac 也适用 安宇雨 打字音 记录集合 B站 bilibili 自行搭建 开坑 真正的客制化 安宇雨 黑苹果开坑 查找工具包maven pom 引用地 工具网站 Dantelis 介绍的玩轴入坑攻略 --- 关于轴的一些说法 --- 非官方 ---- 心得而已 --- 长期开坑更新 [本人问题][新开坑位]关于自动化测试的工具与平台应用 机械键盘 开团 网站记录 -- 能做一个收集的程序就好了 不过现在没时间 -- 信息大多是在群里发的 - 你要让垃圾佬 都去一个地方看难度也是很大的 精神支柱 [超级前台]sprinbboot maven superdesk-app 记录 [信息有用] [环境准备] [基本完成] [sebp/elk] 给已创建的Docker容器增加新的端口映射 - qq_30599553的博客 - CSDN博客 [正在研究] Elasticsearch, Logstash, Kibana (ELK) Docker image documentation elasticsearch centos 安装记录 及 启动手记 正式服务器 39 elasticsearch 问题合集 不断更新 6.1.1 | 6.5.1 两个版本 博客程序 - 测试 - bug记录 等等问题 laravel的启动过程解析 - lpfuture - 博客园 OAuth2 Server PHP 用 Laravel 搭建带 OAuth2 验证的 RESTful 服务 | Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区 利用Laravel 搭建oauth2 API接口 附 Unauthenticated 解决办法 - 煮茶的博客 - SegmentFault 思否 使用 OAuth2-Server-php 搭建 OAuth2 Server - 午时的海 - 博客园 基于PHP构建OAuth 2.0 服务端 认证平台 - Endv - 博客园 Laravel 的 Artisan 命令行工具 Laravel 的文件系统和云存储功能集成 浅谈Chromium中的设计模式--终--Observer模式 浅谈Chromium中的设计模式--二--pre/post和Delegate模式 浅谈Chromium中的设计模式--一--Chromium中模块分层和进程模型 DeepMind 4 Hacking Yourself README.md update 20211011
Laravel China 简书 知乎 博客园 CSDN博客 开源中国 Go Further Ryan是菜鸟 | LNMP技术栈笔记 云栖社区-阿里云 Netflix技术博客 Techie Delight Linkedin技术博客 Dropbox技术博客 Facebook技术博客 淘宝中间件团队 美团技术博客 360技术博客 古巷博客 - 一个专注于分享的不正常博客 软件测试知识传播 - 测试窝 有赞技术团队 阮一峰 语雀 静觅丨崔庆才的个人博客 软件测试从业者综合能力提升 - isTester IBM Java 开发 使用开放 Java 生态系统开发现代应用程序 pengdai 一个强大的博主 HTML5资源教程 | 分享HTML5开发资源和开发教程 蘑菇博客 - 专注于技术分享的博客平台 个人博客-leapMie 流星007 CSDN博客 - 舍其小伙伴 稀土掘金 Go 技术论坛 | Golang / Go 语言中国知识社区
最新评论