敏捷技巧:怎么样才能让程序员在用户故事梳理会上不开小差?

2024-02-27 02:38

本文主要是介绍敏捷技巧:怎么样才能让程序员在用户故事梳理会上不开小差?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

许多产品经理都反映一个敏捷实践问题,在定期的用户故事梳理会(User Story Grooming)上讲解了用户故事的来龙去脉,当时小组成员没有反馈问题,但是在开始实现用户故事的功能的时候,小组成员要产品经理讲解某个用户故事到底是做什么的?

不是都开过用户故事梳理会了吗?为什么小组成员开了小差,没有认真听讲呢?在用户故事梳理会上,产品经理讲解完用户故事以后,Scrum Master都会要求小组成员给出自己的用户点数。理论上讲只有认真听了产品经理的讲解,小组成员才能给出用户故事的点数,但是有很多产品经理表示即使是这样做了问题还是没有得到解决,在做功能的时候还得再讲解一遍。

如何利用用户点数打分提高小组成员的参与度?

独立思考

在用户故事梳理会上,让团队成员给出用户故事点数,确实能让团队成员积极参与到用户故事的讨论中来,但是前提是团队成员在给出用户故事点数的时候需要是独立给出的。只有独立给出用户点数,才能让团队成员自己思考。

有很多团队在给出用户点数的时候,直接让团队成员说出来,或者在聊天的公屏里打出来,这样做先给出点数的成员会影响后面给出点数的成员的判断,或者让其他人直接跟风,这样就达不到让团队成员独立思考的目的了。

敏捷扑克的问题

经典的敏捷实践使用敏捷扑克来让团队成员在打分时同时出示自己的扑克来屏蔽团队成员在打分时相互影响的可能性,但是在实践中,有两个问题:

  1. 需要为每个成员准备一套敏捷扑克
  2. 无法避免团队成员先后出示自己的打分结果

敏捷扑克是实体的,要每个成员保存好扑克是件困难的事情,如果有新的成员加入还得再准备新的扑克。现在大家都有手机,用手机显示屏上的数字代表点数可以替代实体扑克,但是还是避免不了第二个问题。

敏捷扑克

使用模拟扑克或者在线投票

其实我们可以使用敏捷扑克为用户故事打分的原理来设计一个在线投票的工具,来达到团队成员独立给出用户点数的目的。这样的在线工具已经有了一些,不过大部分是境外网站,访问速度不理想。国内投票网站不少,可以直接利用投票网站或者社交工具的投票功能来完成给用户故事打分的过程。具体步骤如下:

  1. 小组成员访问网站打分
  2. Scrum Master 检查是否所有成员已经完成打分
  3. Scrum Master 揭晓打分结果
  4. Scrum Master 检查分数分布,如果不一致,则要求最小值和最大值的成员说明原因
  5. 重复上述过程,直至小组成员分数趋同

下图是一个使用微软 Teams 软件给用户故事打分的投票系统。在投票未完成之前 Scrum Master 保持在这个界面,这样其他组员不能看到其他组员的打分情况,只能独立完成打分。Responses 表示已完成的组员人数,当已完成人数达到组员人数,则可以揭晓结果。
用户故事投票模板

用户故事点数需要收敛

一般来说在给用户故事打分时,团队成员会出现一些分歧,在分数上表现为过小或者过大,这就给 Scrum Master 了解团队成员是否都理解了用户故事以及在实现方案上是否达成了一致的机会。

Scrum Master 可以让给出极值的团队成员解释原因,这样可以增进团队成员的交流,由于要回答问题,团队成员需要跟产品经理互动,当然就不可能开小差了。

团队成员的打分结果
在上图中,团队成员通过投票系统打分以后,可以看到团队成员的分歧比较大,13 表示一个“冲刺”可能完成不了,这个时候 Scrum Master 就可以要求团队成员给出解释。在上面的投票系统中,可以通过点击 more details 查看是谁投出了 13 的结果。

在反复讨论、打分以后,用户故事点数就会趋同,也就是收敛了,这个时候就表示团队成员基本达成了一致,理解了产品经理的需求也给出了共同的解决方案。在这样的参与过程中,团队成员积极沟通,独立思考,这样就不仅仅解决了“开小差”的问题,也增进了团队合作。

结论

在每个冲刺的故事梳理会上 Scrum Master 可以通过给用户故事打分来提高团队成员的参与度,但是这种参与必须保证团队成员都是独立给出的结果,才能解决“开小差”的问题。 本文推荐使用在线投票工具来保证参与的独立性。

更多文章

长假之后,Scrum团队应该修改Sprint的结束时间吗?

精益和敏捷的较量:你知道敏捷开发有 Scrum 和 Kanban 两种管理模式吗?

关注公众号更方便

查找公众号: agileddd 关注我。

这篇关于敏捷技巧:怎么样才能让程序员在用户故事梳理会上不开小差?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Java实现复杂查询优化的7个技巧小结

《Java实现复杂查询优化的7个技巧小结》在Java项目中,复杂查询是开发者面临的“硬骨头”,本文将通过7个实战技巧,结合代码示例和性能对比,手把手教你如何让复杂查询变得优雅,大家可以根据需求进行选择... 目录一、复杂查询的痛点:为何你的代码“又臭又长”1.1冗余变量与中间状态1.2重复查询与性能陷阱1.

Python内存优化的实战技巧分享

《Python内存优化的实战技巧分享》Python作为一门解释型语言,虽然在开发效率上有着显著优势,但在执行效率方面往往被诟病,然而,通过合理的内存优化策略,我们可以让Python程序的运行速度提升3... 目录前言python内存管理机制引用计数机制垃圾回收机制内存泄漏的常见原因1. 循环引用2. 全局变

MySQL中查询和展示LONGBLOB类型数据的技巧总结

《MySQL中查询和展示LONGBLOB类型数据的技巧总结》在MySQL中LONGBLOB是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据,:本文主要介绍MySQL中查询和展示LO... 目录前言1. 查询 LONGBLOB 数据的大小2. 查询并展示 LONGBLOB 数据2.1 转换为十

Python进阶之列表推导式的10个核心技巧

《Python进阶之列表推导式的10个核心技巧》在Python编程中,列表推导式(ListComprehension)是提升代码效率的瑞士军刀,本文将通过真实场景案例,揭示列表推导式的进阶用法,希望对... 目录一、基础语法重构:理解推导式的底层逻辑二、嵌套循环:破解多维数据处理难题三、条件表达式:实现分支

Python中的filter() 函数的工作原理及应用技巧

《Python中的filter()函数的工作原理及应用技巧》Python的filter()函数用于筛选序列元素,返回迭代器,适合函数式编程,相比列表推导式,内存更优,尤其适用于大数据集,结合lamb... 目录前言一、基本概念基本语法二、使用方式1. 使用 lambda 函数2. 使用普通函数3. 使用 N

Go语言网络故障诊断与调试技巧

《Go语言网络故障诊断与调试技巧》在分布式系统和微服务架构的浪潮中,网络编程成为系统性能和可靠性的核心支柱,从高并发的API服务到实时通信应用,网络的稳定性直接影响用户体验,本文面向熟悉Go基本语法和... 目录1. 引言2. Go 语言网络编程的优势与特色2.1 简洁高效的标准库2.2 强大的并发模型2.

Python 函数详解:从基础语法到高级使用技巧

《Python函数详解:从基础语法到高级使用技巧》本文基于实例代码,全面讲解Python函数的定义、参数传递、变量作用域及类型标注等知识点,帮助初学者快速掌握函数的使用技巧,感兴趣的朋友跟随小编一起... 目录一、函数的基本概念与作用二、函数的定义与调用1. 无参函数2. 带参函数3. 带返回值的函数4.

最新Spring Security的基于内存用户认证方式

《最新SpringSecurity的基于内存用户认证方式》本文讲解SpringSecurity内存认证配置,适用于开发、测试等场景,通过代码创建用户及权限管理,支持密码加密,虽简单但不持久化,生产环... 目录1. 前言2. 因何选择内存认证?3. 基础配置实战❶ 创建Spring Security配置文件

游戏闪退弹窗提示找不到storm.dll文件怎么办? Stormdll文件损坏修复技巧

《游戏闪退弹窗提示找不到storm.dll文件怎么办?Stormdll文件损坏修复技巧》DLL文件丢失或损坏会导致软件无法正常运行,例如我们在电脑上运行软件或游戏时会得到以下提示:storm.dll... 很多玩家在打开游戏时,突然弹出“找不到storm.dll文件”的提示框,随后游戏直接闪退,这通常是由于

MySQL 多列 IN 查询之语法、性能与实战技巧(最新整理)

《MySQL多列IN查询之语法、性能与实战技巧(最新整理)》本文详解MySQL多列IN查询,对比传统OR写法,强调其简洁高效,适合批量匹配复合键,通过联合索引、分批次优化提升性能,兼容多种数据库... 目录一、基础语法:多列 IN 的两种写法1. 直接值列表2. 子查询二、对比传统 OR 的写法三、性能分析