为什么要开Sprint启动会,不开是否可以?它的作用是什么?为什么要PO,SM,TEAM都参加?带着这些问题,我们分析一下Sprint的启动会的内容。
大家也知道启动会重点做了以下的这几件事情:
- 进行需求讲解
- 挑选PBI(product backlog item),也就是由客户选出重要的PBI.
- 拆解PBI到SBI(sprint backlog item)。
- 讨论每个SBI的工时。
- TEAM挑选任务。
那么我们继续探讨一下刚才的问题,我们为什么要开启动会?Scrum或者敏捷最大的特点就是让事情透明和持续修正。
1.PO进行需求讲解是知识第一次的传递,让大家了解大概是什么,让Team贴近客户的需求,同时也作为后面讨论的基础。
2.挑选PBI的过程,实际上就是在和客户进行确定,一个小的里程碑里面的内容,让客户知道他可以得到什么结果,我们在干什么?这样他心中就有了整体软件的进度。而传统的研发流程对于客户而言都是黑盒的,中间的过程只能听到研发人员告诉的数字,30%,45%等。而挑选PBI的过程则做到了任务透明,进度透明,客户就知道整体到百分之多少了。
3.拆解PBI到SBI在干什么?实际上是需求的二次消化过程,在拆解的过程,是客户和研发人员一同确认需求的过程。研发人员在会按照自己的思路进行拆解,PO会及时发现研发人员拆解的是否正确,也是考量研发人员是否理解正确。这样做到了Team理解需求的程度透明,同时做到了需求向下落地时的一次修正。
4.讨论每个SBI的工时,是需求三次消化的过程,这个过程中,因为差异的不同,会讨论出一些细节点,而这些又是再一次进行需求消化时偏差进行修正,也就是需求进行落地到实现的时候,判断是否走偏差的过程。这样PO对于Team了解需求的整体程度和细节程度都做了一定的了解(透明),同时在过程中进行了持续的偏差修正。
5.大家挑选任务是为了积极调动积极性,发挥自组织的过程。一是让大家挑选有兴趣的,这样有挑战自然就有动力了。 二是让个人选择自己做的舒服的地方,工作起来自然得心应手。这个地方也需要SM进行风险把控,也就是能力匹配问题,如任务是否和员工匹配,不匹配如何去做。就项目风险而言,不匹配在短期内,会造成进度上的压力,但是就长远的项目维护等方面来说,有些不匹配还是可以的,因为在这些Spint中花费了一些时间,进行了能力提升,将来维护每人都可以做到多面手。当然多面手的培养,其它的环节也可以进行。
总结到这里,可以看到,我们必须的参与人员应该都有谁?PO,必须的,需求,客户价值就靠他了。SM必须的,他要保证流程,整个环节里面,他是最了解流程的,会议需要他把握节奏,风险等。TEAM呢,更是必须的。三种角色缺一不可。
另外还有一些讨论点,做一些个人分享:
1.总的迭代次数,用不用考虑?
这个在Scrum中没有明确提及,个人意见如果项目不要求截止时间的话,那么可以不考虑,但是一般的项目和产品研发都有截止时间,所以个人感觉需要,需要对于PBI进行一次粗略估计,进行判断是否在截止时间前可以完成PBI中的内容,如果完成不了,是否需要裁减一些需求。
2.挑选任务的量是多少合适?
我们的经验是(Sprint时间-启动会时间)*0.8~~~~(Sprint时间-启动会时间)* 1.2,防止乐观估计和悲观估计,保证悲观的时候可以完成,乐观的时候有的做。把0.8~1.2之间的内容放到缓冲区中,以备挑选。
3.冲刺过程中,Sprint backlog是否可以随意添加?
由SM进行风险把控,确保整个Sprint不被影响。需要判断添加的item优先级,是否紧急,sprint剩余工作量等进行综合考虑。
4.是否可以把一个PBI当做一个SBI?
看情况而定,如果PBI就是一个比较小的特性来说,是可以的,如果PBI确实很大,那么作为SBI来说,就有些不太合适了。