这篇文章和《PDA感悟》一样,是对一年前学习到的相关知识的一个应用反思。
写它,是为了完成每月反思,也是为了完成我这个月的目标,更是为了积累项目流程经验。
之前已经看过刚进公司的时候,由于项目组需要使用 Scrum 作为流程来进行软件开发,所以当时看了一遍《Scrum and xp from the trenches》,主要目的是了解 scrum 中的主要内容,以促进早日融入项目组,并写了一篇介绍 Scrum 的入门级别的文章:《Scrum 大白话总结》。
至今,时间过去了也有一年多了。在这一年多里,项目组不断使用 Scrum 进行开发,但是总是感觉有些地方不太对,没有想象中的“敏捷”。直到最近两个月,问题慢慢地突显出来了,“需求不确定”,“估时无章法”,“辛苦回顾的结果不落地”,“会议常延时”,“计划会议难以把握个人重点”……等。
敏捷的团队,需要敏捷个人,身为团队的一份子,有责任去不断反思敏捷团队中所存在的问题,并提出自己的书面建议。这些流程反思不只是PM的责任,更是身处一线的开发人员的责任,否则,被动等待的团队如何能做到敏捷?所以,我决定对项目组中目前所遇到的问题进行归纳总结,并提出个人的相关建议,希望会对项目组有所帮助。在这之前,我不得不先再次重温《Scrum and xp from the trenches》一书中的知识,整理别人为什么能做成功,而我们的流程却有许多问题。
书籍知识整理
由于该书90%的内容都在讲他们的团队是如何实践 Scrum。所以,这些内容都是来自他们的亲身实践经验,有很大的参考价值。
另外,基于对项目组有帮助的目标下,我只从原书中摘抄出了部分相关的理论方案。这些方案并不一定适用每一个团队,但是它们一定有它们成功的道理。
我们的团队 现象与建议
流程是优化出来的。发现问题,思考方案,解决问题。
第一步就是发现问题。这要求有人关注流程,在流程进行时,思考并记录流程中存在的问题。虽然听上去很简单,但是仔细一反思,就会发现,除非有专门的人来做这个事,否则很少会有人不断记录流程中的问题。可能大家都发现了一些问题,聊一聊,不管当时出不出结果,过段时间就忘记了。最近几个 sprint,公司派了PMO部门的周姐过来监督团队流程。但是,我个人认为,这些事情是敏捷团队成员自己的职责。所以在最近的几个 sprint 开始,我开始使用PDA随时记录存在的问题。
以下,我提出我记录到的一些大大小小的问题。
注意,这些问题及方案是基于我作为一个开发人员的角度提出的,但是从不同的角度和立场来看,它们很可能也不是一个问题。另外,一些问题跟我们项目的性质有关,我们部门属于新产品研发部门。
需求方面
现象:
问题分析:
主要原因在于计划会议中给所有人员展示的需求,基本都是上一期sprint中制定的,并没有一个较长期的思考。一个短期思考的产物,很难做到合理、全面、系统、无懈可击,所以会议中一些需求会经不住拷问。
建议:
会议时间拖延
现象:
建议:
回顾
现象:
建议:
最近,大家都发现,回顾会议的质量并不高。上次回顾会议,周哥 组织更换了形式,没有按照表格进行,而是大家积极讨论,感觉明显“敏捷”了许多。
估时
现象:
分析:
今年,部门开始使用新的 Sprint Backlog 格式,中途也发现了很多的问题。例如,整个 backlog 完全面向产品架构,与开发人员没啥关系,这怎么可能会有指导性。问题提出后,做了一些改进,但是还是对于开发人员来说,还是没有指导性。开发人员面向这个 Backlog 进行估时,无疑寸步难行。再加上任务板不再在任务拆分时使用,大家都无法把任务细化,直接一项一项backlog估时,要么大了,要么小了。
建议:
最近一次的估时会议,我们使用了基于 OEA 框架开发的新工具 GPM 来进行任务估时。个人感觉效果不错:当次 sprint 估时大概使用了两个小时,估时的时候能做到尽量拆分到开发人员心中的粒度,并进行时间汇总。但是,测试人员反馈无法出日报了,逻辑任务没有和 backlog 进行关联。所以我们又在任务上添加了“关联 backlog 项”及“实际完成时间”。以下是软件截图:
(这里也体现了 OEA 框架的威力,这个工具的开发时间一共1小时。相关内容,园友可以看这里:《OEA 框架演示 - 快过原型的开发》)
计划会议抓不住个人重点
现象:
分析:
我是这样想的:
这个问题和周哥讨论了蛮久。
周哥的意思是,这是每个开发人员的职责,如果同组的其它人在开发什么都不知道,那么肯定是不行的。
后来和勇刚进行了沟通,他说GEPS项目组使用的方案是开发人员轮换人员开发各自的任务。
建议:
总结
今年的目标中,有一部分是自己要学习管理,而学管理的目标是优化小项目组的流程,如何能优化好一个小项目组的流程,为以后的个人发展做准备。
这次的反思是我第一次反思整个项目组的流程,当然,这些也都是从一个开发人员的角度来提出的。这些思想和建议并不一定正确。但是,我相信,只要我们每个人不断地进行反思,并发挥好回顾会议的作用,提出自己的建议,我们团队的流程必然会越来越高效,越来越敏捷!