敏捷开发的Scrum晨会实践

简介: hursing所在的公司推行敏捷开发有两年多了,其中最让人直接感受到的就是scrum晨会。从生搬硬套到过程创新,令大家由抵触变成积极响应,这个过程真的很花费心思。
hursing所在的公司推行敏捷开发有两年多了,其中最让人直接感受到的就是scrum晨会。从生搬硬套到过程创新,令大家由抵触变成积极响应,这个过程真的很花费心思。

11年12月,hursing开始在自己的团队推行晨会。当时团队是刚成立的,很小,包括hursing自己在内的2个老人+2个新人,基本上hursing得指导所有的事情。事实上,团队小到不开晨会hursing也知道他们在做什么,所以晨会的内容更多是反馈他们遇到的还未解决的问题以及提出对编码过程的改善意见,然后hursing做一些指导和纠正。这个阶段,整个团队是在确定自己的风格和目标,探索一个合适的行为准则。
在此过程中,发现一个有用的技巧:团队的人应该坐成一堆,而不是一排。即 工位安排坐成背靠背(或者没有障碍的面对面),而不要一字排开地坐。这样每个人坐着说话就行,整个团队的人都能听见。有了这个便利性,平常大家也更乐于沟通,甚至可以就在座位上开晨会,足够放松。有事的话大吼一声就行,完全不用邮件或即时通讯工具。需要当面沟通的话,双脚一瞪,凳子就滑到那边去了,立刻可以交谈。如此一来平常的事务大家都知道,晨会上自然也能更简短地叙述。
不过,座位的事情hursing没法自己决定,不久就在10年1月听组织安排,大家坐散了。然后团队再加了新人,变成6个。于是大伙得找会议室来开晨会。因为平常的沟通不便,大家在晨会的发言变多了,此时限制大家发言的内容有了必要。当时对scrum也没那么多的认识,基本上是说“昨天做了什么,今天要做什么,目前有什么问题”。这是老三点,有点“俗”,但是也不会错,只是不是很适合实际的工作节奏。
以上算是对scrum最初的探索。

12年中,调岗换组,直到10月开始再次对一个团队拥有一些掌控权。这个团队很复杂,非常有挑战性。团队共11人,分别来自4个不同业务的组织(分由4个leader打绩效,不包括hursing),而且负责同时开发两个项目。hursing被指定为团队的接口人,一开始还真觉得头疼,因为团队连个晨会都没有,4个组织的人是跟各自的leader一起开晨会的。通过积极的反馈与沟通,最终是本团队的人一起开晨会、但由于人员组织的复杂性,开始的时候晨会的形式也很特别:
  • 每周只是一三五开。因为彼此的工作相关性不是很大,而且晨会有比较多的时间是hursing在宣讲项目事宜
  • 不用把技术点说得很细。因为其它组织的人可能听不懂,这是浪费时间。只要提出了问题,由各个组织内部解决就行了,有执行困难的话才由hursing出面直接找leader帮忙。
  • 今明两天要做的事情在晨会说完后要写在白板上,下次再擦掉写新的。这里没有用传统做法,即纸贴ToDo、Doing、Done,因为那样不环保,且字小,不直观,都是给自己看的,别人看不清;让别人也能看清,那就有种无形的监督作用。团队的负责人可以知道整体的状况并随时跟踪进度,并且下次晨会的时候,各人可以回顾一下执行得怎么样。
一开始,大家都不是很适应,因为各自负责的模块差别很大,组织间有不同的业务术语,听不懂跨组别的信息。为了解决这个矛盾,在晨会之外,hursing推动了跨组织的知识交流活动。
  • 每个组织出人,介绍自己该组织负责的模块的主流程,并且对跟别的模块有交互的部分着重描述。
  • 跨组织安排工作。主要是帮忙解bug,不承担开发任务,这样可以互相熟悉业务。
  • 推动跨组织的代码review
  • 建立爱分享知识的氛围,鼓励写技术文章
随着分享次数的增多,也增加了不少人性化的配套,如会议上会有零食吃,大家投票决定买什么;有专人负责培训分享的事务,从订会议室到备份文档、做会议记录等都不用演讲者操心了。
经过两三个月的磨合,解决了互相听不懂技术问题的矛盾后,晨会的内容也逐渐回归正轨,重点变成:
  1. 前两天做了什么,所属的任务完成了百分之多少(标在白板上)
  2. 做的工作有哪些会影响别人或需要别人配合,提出来协商
  3. 对于正在解决的棘手问题,大家有什么建议
另外,晨会主持人要把项目的时间表和当前阶段写在白板上,大家能每次开晨会都看到,自然地知道紧急性。
一些有意义的小技术点和经验总结,都用邮件分享,不占晨会时间。
后来还做了个改进,把每个人身上的未解决bug数量标在白板上的每人名字旁边(就像iOS的未读信息角标),这样大家能看到谁名下的bug最多,多的人会自觉地争取把这第一的名号给去掉。
至此,那时候的晨会可谓相当高效。

再后来,团队解散,hursing又调岗了,这是个更大的团队 (16人)。团队的状况其实也算复杂,虽然是同一个项目同一个组织,但业务上会分三大块,彼此较少联系,也会存在听不懂的状况。不过hursing不是负责人,也腹黑地想看看反面的例子,所以没推进什么改善,一旁观察后总结出这些问题:
  • 晨会主持人很少做改进工作,谁做得不合理也没人提点
  • 各人的发言没有预先经过组织,随想随讲,思路混乱,停顿较长
  • 过长的讨论没人打断,每人平均发言1.5分钟,有时候整个晨会接近半个小时
  • leader当成听报告会,乐于听到很详细的技术处理过程,有些点还会追着细问
  • 大家听不懂以后,经常开小差,看着别的地方也有,私下讨论的也有
  • 人多了,围成的圈很大,有些人说话声音小,部分人听不见(建议每人都走出来背靠白板面对所有人来讲,leader站在最远的地方)
除了问题各个击破,特别的改进建议是:分批/分组开晨会,每批 不要超过10个人,人员是工作更加紧密相关的,leader可以各批都参加。这在别的部门以有应用,效果不错。
最后就是,主持人必须带头做好示范。最重要的是,作为第一个发言人,要笑着说话,奠定整个晨会的基调很重要。

总结地说,晨会开得怎么样,还是得看负责打绩效的那个人的态度。团队的核心永远是管理者本身,其风格怎样,团队的运作风格也会怎样。无论要求团队成员如何如何自管理,始终还是要得到首肯的。
有一点很重要,也是最实际的,如果晨会开得不好也不碍事(啥叫碍事就见仁见智了),那就随便吧。
目录
相关文章
|
小程序 开发者
微信小程序报错[ app.json 文件内容错误] app.json: app.json 未找到,一招解决
微信小程序报错[ app.json 文件内容错误] app.json: app.json 未找到,一招解决
4905 0
微信小程序报错[ app.json 文件内容错误] app.json: app.json 未找到,一招解决
|
7月前
|
人工智能 并行计算 测试技术
从商业海报到二次元插画多风格通吃!HiDream-I1:智象未来开源文生图模型,17亿参数秒出艺术大作
HiDream-I1是智象未来团队推出的开源图像生成模型,采用扩散模型技术和混合专家架构,在图像质量、提示词遵循能力等方面表现优异,支持多种风格生成。
663 2
从商业海报到二次元插画多风格通吃!HiDream-I1:智象未来开源文生图模型,17亿参数秒出艺术大作
|
4月前
|
数据安全/隐私保护
全自动刷视频脚本, 抖音自动脚本快手小红书,抖音快手自动刷金币脚本【autojs】
这个脚本展示了如何使用AutoJS进行基本的自动化操作,包括应用启动、屏幕滑动和随机点击等
|
6月前
|
机器学习/深度学习 数据采集 安全
MiMo-7B:从预训练到强化学习,解锁语言模型的推理潜能
目前,大多数成功的 强化学习 工作,包括开源研究,都依赖于相对较大的基础模型,例如 32B 模型,特别是在增强代码推理能力方面。业内普遍认为在一个小模型中同时提升数学和代码能力是具有挑战性的。然而,小米MiMo研究团队相信 RL 训练的推理模型的有效性取决于基础模型固有的推理潜力。为了完全解锁语言模型的推理潜力,不仅需要关注后训练,还需要针对推理定制预训练策略。
478 43
|
调度 Windows Python
windows计划任务的“等待空闲时间”已弃用
【9月更文挑战第1天】在Windows中,若“等待空闲时间”功能被弃用,可采用第三方任务调度软件(如Task Scheduler Pro、Advanced Task Scheduler)替代,或使用Python库(如schedule)和PowerShell脚本来实现。此外,还可调整任务触发条件,如设置特定时间或事件触发,以达到类似效果。这些方法能有效实现任务的精准调度。
330 9
|
存储 运维 大数据
大数据上云存算分离演进思考与探讨-2022
当前大数据上云与存算分离的技术趋势越来越成为行业标准与发展方向。作为大数据商业化的践行者,从存算分离的演进/定义/价值/架构应用/实践/对比等多个维度来分析与探讨其发展历程与组成体系。为大数据存算分离技术整体发展添砖加瓦。
3542 2
大数据上云存算分离演进思考与探讨-2022
|
算法 调度 UED
深入理解操作系统的进程调度机制
本文旨在探讨操作系统中至关重要的组成部分之一——进程调度机制。通过详细解析进程调度的概念、目的、类型以及实现方式,本文为读者提供了一个全面了解操作系统如何高效管理进程资源的视角。此外,文章还简要介绍了几种常见的进程调度算法,并分析了它们的优缺点,旨在帮助读者更好地理解操作系统内部的复杂性及其对系统性能的影响。
|
SQL 存储 Oracle
常用数据库优缺点比较
【7月更文挑战第23天】常用数据库优缺点比较
1254 11
|
前端开发 JavaScript Java
java实现异步回调返回给前端
综上,Java中实现异步回调并将结果返回给前端是一项涉及后端异步处理和前端交互的综合任务。在实际项目中,开发人员需要根据应用需求和性能预期选择合适的异步模型与工具,并进行适当的配置和优化。
690 3
|
数据采集 数据挖掘 数据处理
Python数据分析:Numpy、Pandas基础
本文详细介绍了 Python 中两个重要的数据分析库 NumPy 和 Pandas 的基础知识,并通过一个综合的示例展示了如何使用这些库进行数据处理和分析。希望通过本篇博文,能更好地理解和掌握 NumPy 和 Pandas 的基本用法,为后续的数据分析工作打下坚实的基础。