Scrum实施日记 - 一切从零开始
又一个项目要开始试用Scrum了。
这个项目前期已经讨论了很长的时间,为什么选择Scrum?主要原因就是新的产品特性的一些具体的细节一直确定不下来,老美那边的产品经理们一直争论不休,又拿不出个具体的方案。而按照现行的流程,一定要需求确定后,产品设计组才能给出具体而详细的设计文档(包括产品功能的流程,UI的设计等等),然后,开发人员才能在此基础上做软件设计和开发,唉。。。,很标准的瀑布开发流程。所以,现在开发团队就在那里干瞪眼等着,Manager们也只能讨论,讨论,在讨论。。。。。。
在了解了一些Scrum后(主要是给他们做了另一个Scrum试点项目的报告),他们想,既然Scrum对于风险比较大,不确定性比较多的项目挺合适,似乎正是可以尝试一下是否可以解决这个项目的困境,于是,大家决定再开始一个试点项目,呵呵,我又有事情做了!
启动前,我先和各个利益相关人沟通了一下,了解一下他们对这个项目的期望是什么:
我的老板:“呃...,我希望通过这个项目能够找到一个在Scrum基础上的开发流程,以后可以推广,当然也希望这个项目要能够做出一个有用的东西,为后续的开发做准备。”
开发经理:”我觉得通过这个原型系统,一方面可以实践一下Scrum,锻炼一下队伍,另一方面,就是通过实际开发来做一些有针对性的研究。“
产品设计经理:“现在的设计流程要求很详细的文档,这在需求明确是是可以的,但现在这样的情况,一方面需求不能确定,另一方面人手又不够,很难做到这一点,所以希望这个项目能够能够找到一个新的方法,让产品设计人员能够和开发人员更紧密的合作,摆脱原先流程中的一些限制。”
了解了大家的想法,我基本上觉得Scrum可以满足他们,Scrum强调面对面的交流,或者说任何方式的快速有效的交流,而不要求任何不必要的复杂的文档;Scrum是迭代的开发方式,在需求不是特别稳定的情况下,这种方式非常合适,可以不断的调整,这就是Inspect and Adapte;而Scrum所要求的自我管理的团队,有能够促使这个团队尽最大可能去达成目标,在困难的情况下,这一点尤为重要。总之,我觉得可以一试。
开始前和整个团队一起制定了一个简单的计划,
1. 我给Team安排相关的培训,介绍Scrum的基本概念,Scrum中如何规划和估算,如何开Sprint的回顾会议;
2. Product Owner(产品拥有者)负责准备一个2~3个月的发布计划,列出需要包括的需求清单,就是User Story(用户故事)的列表;
3. 开发团队需要制定出每个迭代(Sprint),任务完成的标准(DONE的标准);
4. 召开一个项目启动会议(kick-off meeting),让所有人了解项目的愿景(Vision),发布计划,Done的定义等信息;
5. 我来主持安排一次针对发布计划目前所包含的需求的估算会议,让大家对第一次发布的系统的需求及规模有一个整体的,但粗略的了解;
现在,已经完成了相关的培训,Product Owner把第一个发布计划和需求也已经准备好了,团队也在原来的产品开发质量标准的基础上,列出了对DONE的定义,看上去,万事俱备了,Kick-off会议后,大家都有些迫不及待的想要开始了。
明天,按计划我会给他们安排一个针对发布计划的估算会议,看看到时候会发生写什么吧......