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

2023-10-10 14:30

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

许多产品经理都反映一个敏捷实践问题,在定期的用户故事梳理会(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/181058

相关文章

快速修复一个Panic的Linux内核的技巧

《快速修复一个Panic的Linux内核的技巧》Linux系统中运行了不当的mkinitcpio操作导致内核文件不能正常工作,重启的时候,内核启动中止于Panic状态,该怎么解决这个问题呢?下面我们就... 感谢China编程(www.chinasem.cn)网友 鸢一雨音 的投稿写这篇文章是有原因的。为了配置完

SpringBoot UserAgentUtils获取用户浏览器的用法

《SpringBootUserAgentUtils获取用户浏览器的用法》UserAgentUtils是于处理用户代理(User-Agent)字符串的工具类,一般用于解析和处理浏览器、操作系统以及设备... 目录介绍效果图依赖封装客户端工具封装IP工具实体类获取设备信息入库介绍UserAgentUtils

Python ZIP文件操作技巧详解

《PythonZIP文件操作技巧详解》在数据处理和系统开发中,ZIP文件操作是开发者必须掌握的核心技能,Python标准库提供的zipfile模块以简洁的API和跨平台特性,成为处理ZIP文件的首选... 目录一、ZIP文件操作基础三板斧1.1 创建压缩包1.2 解压操作1.3 文件遍历与信息获取二、进阶技

Mysql用户授权(GRANT)语法及示例解读

《Mysql用户授权(GRANT)语法及示例解读》:本文主要介绍Mysql用户授权(GRANT)语法及示例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql用户授权(GRANT)语法授予用户权限语法GRANT语句中的<权限类型>的使用WITH GRANT

Java字符串操作技巧之语法、示例与应用场景分析

《Java字符串操作技巧之语法、示例与应用场景分析》在Java算法题和日常开发中,字符串处理是必备的核心技能,本文全面梳理Java中字符串的常用操作语法,结合代码示例、应用场景和避坑指南,可快速掌握字... 目录引言1. 基础操作1.1 创建字符串1.2 获取长度1.3 访问字符2. 字符串处理2.1 子字

Java Optional的使用技巧与最佳实践

《JavaOptional的使用技巧与最佳实践》在Java中,Optional是用于优雅处理null的容器类,其核心目标是显式提醒开发者处理空值场景,避免NullPointerExce... 目录一、Optional 的核心用途二、使用技巧与最佳实践三、常见误区与反模式四、替代方案与扩展五、总结在 Java

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

电脑win32spl.dll文件丢失咋办? win32spl.dll丢失无法连接打印机修复技巧

《电脑win32spl.dll文件丢失咋办?win32spl.dll丢失无法连接打印机修复技巧》电脑突然提示win32spl.dll文件丢失,打印机死活连不上,今天就来给大家详细讲解一下这个问题的解... 不知道大家在使用电脑的时候是否遇到过关于win32spl.dll文件丢失的问题,win32spl.dl

mysql删除无用用户的方法实现

《mysql删除无用用户的方法实现》本文主要介绍了mysql删除无用用户的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 1、删除不用的账户(1) 查看当前已存在账户mysql> select user,host,pa