很多软件公司,在遇到产品交付延期、开发周期长、产品质量低下、运维成本高、响应需求慢等等问题时,会尝试引入敏捷来改善。然而,大多数公司的老板和管理者,从一开始就是错的,就注定要失败——因为他们本末倒置,忽略了人的能力和责任心,只期望从过程和控制上来改善。
>> 个人或团队绩效低的原因
一个人做不好工作,主要有两个原因:
自我认知不清
缺乏责任心
自我认知不清指一个人不知道自己想干什么、能干什么、能把什么干好,简单说就是没有自知之明,不知道自己的位置。
缺乏责任心是指一个人认为手上的事儿不是他的,是别人的(比如老板的、公司的、经理的),干好干坏和他没什么关系,所以这个事儿唤不起他的责任心,做起来就没动力,结果自然就是做不好。
一个公司或团队,要想有好绩效,就应该在这两方面努力:
找到有自我认知的成员
给成员选择和做决定的权利,让其产生责任感
搞明白了这个关键,接下来我们就结合Scrum最重要的一个阶段——冲刺启动会议——来看看为什么大多数Scrum实践会失败。
>> 启动会议的四个关键点
Scrum中的Sprint启动会议(计划会议)必须开,而且PO(Product Owner),SM(Scrum Master),ST(Scrum Team)都要参加。
一般来讲,Sprint启动会议要做下列事情:
进行需求讲解
挑选PBI(Product Backlog Item),也就是由客户选出重要的PBI.
拆解PBI到SBI(Sprint Backlog Item)。
讨论每个SBI的工时。
ST挑选任务。
很多团队会把启动会议分解,1、2两件事放一起做,3、4、5三件事放一起做。
当我们把需求讲解和PBI单独来做时,就很容易走回老路上去:只有所谓的核心人员参与讨论。
很多团队在做Scrum实践时,会嫌启动会议中的需求讲解和PBI挑选耽误事儿,或者觉得没必要大家都参加,只要产品经理、项目经理、技术大拿参加就好了,需求讨论好了再让其他团队成员参加。
这就在最开始犯了严重的错误。这样做,那些没参加需求讨论的成员,肯定没什么积极性!因为,这种形式,和之前的瀑布或迭代,没有任何差别啊,都是一小撮人决定需求,然后告知或安排给其他成员做。告知、命令、安排,这些传统的控制手段,非但不产生积极性,还大大挫伤和打击团队成员的积极性。
参与感非常重要,哪个成员没有参与决策而过程,哪个成员就没有积极性,就没有责任感,潜力和效率就出不来。所以,不要怕一开始花费的时间长,只要拿时间盒限制一下,不要离谱就好了。
这是SPRINT的起点,也是第一个关键点:Scrum TEAM都要参与需求确认。这一步做错了,对后面的影响很大。
第二个关键点就是从PBI到SBI,和第一个关键点一样,要由PO、SM、ST共同完成。这个冲刺是ST在做,所以ST一定要对SBI认同,他们需要“我决定了我们这个冲刺做什么”的感觉,这种感觉带来把控感,带来积极性。否则,就回到老路上:你让我干啥我就干啥呗,还能怎么样……注意到了吗,这是非常消极的做法。
当一个人不能决定他要做什么时,就会失去责任心,就会消极对待(或者无法主动积极)。
这一点下面的环节还会谈到。
第三个关键点就是讨论工时。合理的工时,才能让人心甘情愿的接受。
假如一个SBI需要32个工时,SM非要压到10个,那谁拿了这个SBI都会不情不愿,结果一定是花费比32个工时更多的时间。
讨论工时需要注意一点:不要让技术能力最强的人来决定工时。显而易见,技术水平高的开发人员估出来的工时,要比其他人少很多,因为他会以自己的能力和效率为基准。如果某个SBI比较复杂,只有技术和业务能力强的人才能把控,那就把他们估出来的工时乘一个系数(建议乘2或者1.5)。
最后,对讨论出的所有工时,再乘1.2或1.5的系数。这样最终的工时才是比较靠谱的。
最后一个关键点就是挑选任务。
注意,“挑选任务”中的挑选二字,正是它们带来了参与感、自主性、积极性。
假如SBI分解完毕,工时估算就绪,然后SM说,张三你做这个李四你做那个,那前面的功夫基本上就白费了。而这一点恰恰是很多SM常犯的错误。当我们被安排时,非但很难有动力去把一件事情完成得很好,甚至还会消极对待,任务差不多就不愿再花心思了。
一个人愿意选择需要他学习新技能的任务去做,这是非常棒的事情,说明他愿意挑战自己,渴望成长。如果你给他当头一盆冷水,就伤着宝宝了……
>> ScrumMaster面临的挑战
很多SM陷入安排SBI的局面,往往也是因为一些现实的困难,比如:
技能与任务的匹配度
进度压力
关键任务给以往绩效差的成员会带来风险
SM对进度压力和关键任务的担心,其实也可以归结到能力与任务不匹配这一点上。技能与任务不匹配,短期有压力,长期是向好的。这点需要SM去平衡,比如一个人领了有挑战的任务,可以再给它几个匹配度高的任务(匹配度高的SBI的工时可以调整得少一些,或者不乘前面提到的系数),这样结合起来,对进度的影响就会小一些,而这位团队成员,仍然可以做他愿意做的事,还会有积极性。
只有SM允许ST自己选择任务,ST才有积极性,否则,我Qt做得好,十年都让我做GUI,我也没意思;他Android GUI熟悉,就一辈子做,人家想搞搞iOS都没机会,也会带来消极情绪。不要把人限制在某个围墙内,要允许他成长,鼓励他成长,帮助他成长。这是SM要考虑的事情,也是他需要承担的压力和风险。
不管SM面临多大压力和多少风险,一定要谨记:有选择才有责任感,有选择才有积极性。否则,你就回到了告知、命令、安排、压制的老路上,Scrum就注定会失败。
>> 小结
Scrum不仅仅是一套模型,它的内在是“以人为本”,只有团队成员充分的参与和选择,才能带来积极性和责任心,Scrum实践才可能成功。