我看到的SCRUM的困难
1, Sprint Backlog确定依赖在团队的经验和诚实
经验不足可能导致选择有大偏差,不诚实可能故意减少。
2, 燃尽图的制作没有客观的依据,依赖主观判断
3, Spring Backlog的规模度量没有客观依据,无法在多个团队间共享度量方法。
请大家补充,请说说解决这些困难的有效实践
如果不是困难,请说说相应的有效实践
On 2月26日, 下午2时21分, Xu Yi <kaverj...@gmail.com> wrote:
> 2009/2/26 克强 <zhangkeqi...@gmail.com>
2,在不清楚scrum的情况下或领导不清楚scrum的情况下,在项目层面开展,让热心于Scrum的项目经理直接担当scrummaster,这时
scrummaster是个角色,我所在组织最早引入scrum时就是这样做的。
我的问题1:Dayong说的没错,就是我的问题,但不知解决方法是什么?
我的问题2:Thank Dayong, 我们当前执行的方法与你说的非常相似,使用了"用例“的状态转移来处理,但状态转移中仍然有百分比的设定。执
行上还是有不一致的情况。有没有其它解决方法?
我的问题3:Dayong说的就是我们碰到的问题,与第一个问题也相关,在管理者的角度上,总是有一种倾向:比较不同团队的表现,担心某些个团队会不会
故意夸大工作量,如果sprint backlog的规模度量有一定规则,那么可以比较不同scrum团队间的效率,也许这一点就与敏捷的自组织原则背
离,可是管理者的角度是不能不考虑的。 有何有效的实践?
关于SCRUM的原理和适用性,偶还是知道一些的。本贴是谈SCRUM执行上的困难。楼上在操作中有没有碰到一些呢?比如scrummaster究竟是一个什么东西, 在执行上有哪些可取的做法?我先来抛砖:1,在得到领导支持(或者你就是领导)的情况下,在组织层面开展,可以挑选在SCRUM上有所认识和实践的人来提当SCRUMMaster,可以送出去培训,这位SCRUMMaster应当指导多个项目,从工作量推断看,5个项目可能是最大值,scrummaster应当有独立于项目组的汇报途径,scrummaster在过程中识别的问题应当有机制确保解决。把scrummaster作为一个职位,或者在现有职位中加入scrummaster的职能,比如EPG或QA,我所在组织按CMM/CMMI框架,EPG直接担当了scrummaster的职能。2,在不清楚scrum的情况下或领导不清楚scrum的情况下,在项目层面开展,让热心于Scrum的项目经理直接担当scrummaster,这时scrummaster是个角色,我所在组织最早引入scrum时就是这样做的。
7,原来的问题,虽然“与scrum没啥瓜葛”,但还是希望在这里寻求一些方法,毕竟要把软件编出来。我把问题场景化一下:有二支商业环境下团队,同属
一个部门,TeamA和TeamB,虽然都选择了名为用例点的方法,但是各自都有一些不同的调整,TeamA每次完成的人均用例点数量明显少于
TeamB,可以得到的解释是用例点定义方法不一样,但就有这样疑虑,TeamB有没有诚实问题,TeamA有没有经验能力问题?(毕竟奖金池是在同一
个部门,要分的啊),作为部门领导,如果强行要求两个Team统一用例点方法,有没有过于不利的后果? 如果部门领导把这个问题给了
scrummaster,scrummaster可不可以要求两个Team采用完全一样的用例点方法?
btw:希望有一个讨论的气氛,照顾一下在基本功上没有过关的朋友
谢谢回复
天下不会掉下Scrummaster, 总是在一定的基础上来开展工作. 在看到Scrum有利于提高项目绩效的情况下, 是等待一位纯粹的
ScrumMaster, 还是在现有的框架内设法先做起来?
这个回答是显然的, 当然是先做起来,允许第一个项目先试起来, 有初步的成功之后再推广一些。 设置scrummaster职位可不是一件容易的事
情。
On 3月1日, 下午9时41分, jayden guan <jayden.g...@gmail.com> wrote:
> 要不楼主把问题7的情况说说清楚,也方便大家讨论。
> 比如说撒叫:毕竟奖金池是在同一 个部门,要分的啊。
>
> 2009/3/1 张克强 <zhangkeqi...@gmail.com>:
>
关于前提条件,每家组织都会有一些前提和历史,对吧?
总是在不同的基础上来引入scrum, scrum理论要和实践结合在一起,本论坛"聚合中国敏捷实践者的经验"
(以上是否就不用再讨论了,或者新开贴,本贴就聚焦在问题和实践上)
楼上兄台可否说说在问题6"scrummaster究竟是一个什么东西, 在执行上有哪些可取的做法?"上的实践? 或者有没有现成的链接?
On 3月2日, 上午2时36分, Xu Yi <kaverj...@gmail.com> wrote:
> 2009/3/1 张克强 <zhangkeqi...@gmail.com>
>
> > 谢谢回复
> > 天下不会掉下Scrummaster, 总是在一定的基础上来开展工作. 在看到Scrum有利于提高项目绩效的情况下, 是等待一位纯粹的
> > ScrumMaster, 还是在现有的框架内设法先做起来?
> > 这个回答是显然的, 当然是先做起来,允许第一个项目先试起来, 有初步的成功之后再推广一些。 设置scrummaster职位可不是一件容易的事
> > 情。
>
> 兄台知否broken window理论?不合格的scrum
> master,就好比高楼大厦打的却是豆腐渣地基,不是每座塔都叫比萨斜塔,强烈建议你们能够招募一位有经验的scrum master。
>
> "设置scrum master职位"这句话一看就让我觉得你们的scrum实施变了味。
>
> 楼主如果真是想要讨论,那么不妨抛开自己的某些前提条件,也去思索一下你所在的环境(政策、人员等)是否适合采用scrum方式。依样画葫芦,让其和现有框架完-美结合并命名为scrum--易,真正从某个叫"scrum"的方法中获利--难。
了解broken window,不过我根本没有联想到此,上述我介绍的情况让楼上联想到此?
"招募一位有经验的scrum master" 与"设置scrum master职位"是关联的啊。
让当前可能"不合格"担scrummaster职责的EPG 变成合格的scrummaster,是我们当前最快速经济的方法。
我确实是"真是想要讨论",带来的问题也比较实在,确实希望"真正从某个叫"scrum"的方法中获利"
我们已经有多个项目运行在敏捷方法之下,哪怕是名义上的,所以关于适合的问题就不再考虑了。
关于前提条件,每家组织都会有一些前提和历史,对吧?
总是在不同的基础上来引入scrum, scrum理论要和实践结合在一起,本论坛"聚合中国敏捷实践者的经验"
(以上是否就不用再讨论了,或者新开贴,本贴就聚焦在问题和实践上)
楼上兄台可否说说在问题6"scrummaster究竟是一个什么东西, 在执行上有哪些可取的做法?"上的实践? 或者有没有现成的链接?
。。是个角色。。负责观察及维护scrum的正常运转,帮助相应的scrum团队走在正确的道路上。很难讲在执行上有哪些可取的做法,因为总结经验总结下来,差不多还是书中或者官网上的内容,遇到的问题更多的是组织自身的不足。Thanks,
I join http://tech.groups.yahoo.com/group/ScrumChina today.
and I visited your blog before you mentioned. It's colorful. Happy in
Finland
On 3月2日, 下午12时12分, Xu Yi <kaverj...@gmail.com> wrote:
> 2009/3/2 张克强 <zhangkeqi...@gmail.com>
>
> > 了解broken window,不过我根本没有联想到此,上述我介绍的情况让楼上联想到此?
>
> 我是担心你们的实施走了样,以后又来怪scrum而已。
>
> > "招募一位有经验的scrum master" 与"设置scrum master职位"是关联的啊。
>
> 可以说scrum master的任务就是让自己消失,恐怕没有哪个职位的任务是让自己消失吧?
>
> > 让当前可能"不合格"担scrummaster职责的EPG 变成合格的scrummaster,是我们当前最快速经济的方法。
>
> 如果你能接受最快速经济方法的某些弊端,那么,your choice。
>
> > 我确实是"真是想要讨论",带来的问题也比较实在,确实希望"真正从某个叫"scrum"的方法中获利"
> > 我们已经有多个项目运行在敏捷方法之下,哪怕是名义上的,所以关于适合的问题就不再考虑了。
>
> 有意思,如果你关注过好些相关的讨论组,你应该知道run着名义上的scrum或是其他敏捷方法,却想解决过程中遇到的许多问题,恐怕根本就是徒劳无功啊。sc-rum
> master的任务之一就是保证scrum不要走样,以及在尽可能的挑战企业各方面不够敏捷的地方。
>
> > 关于前提条件,每家组织都会有一些前提和历史,对吧?
> > 总是在不同的基础上来引入scrum, scrum理论要和实践结合在一起,本论坛"聚合中国敏捷实践者的经验"
>
> oh yeah,那么兄台加油吧。
>
> > (以上是否就不用再讨论了,或者新开贴,本贴就聚焦在问题和实践上)
>
> 耶,难道以前有过类似的讨论?
>
> > 楼上兄台可否说说在问题6"scrummaster究竟是一个什么东西, 在执行上有哪些可取的做法?"上的实践? 或者有没有现成的链接?
>
> 天啦,我也不知道该如何介绍。。但我可以负责任地告诉你,最好的资源自然是www.scrumalliance.org
> ;我不是要拉客哈,但谈到中国的scrum,http://tech.groups.yahoo.com/group/ScrumChina/这个yahoo上的讨论组应该更加的focus一些;最后,如果你有兴趣,欢迎参观指导我的博客相关部分http://damianji.spaces.live.com/?_c11_BlogPart_BlogPart=blogview&_c=B...
> 。
>
> scrum master不是个东西[?]
> 。。是个角色。。负责观察及维护scrum的正常运转,帮助相应的scrum团队走在正确的道路上。很难讲在执行上有哪些可取的做法,因为总结经验总结下来,差-不多还是书中或者官网上的内容,遇到的问题更多的是组织自身的不足。
>
> 你的其他问题,等我稍后有时间再一一解答。
> --
> - - - - - - - - - -
> Xu Yi, Kaverjody
> Agile Coach.CSP
> Test Automation Coach
> Blog :http://damianji.spaces.live.com
> - - - - - - - - - -
>
> 33D.gif
> < 1K查看下载
下面我要说另外一个问题,那就是CMMI组织的问题。这里也涉及到一个问题,那就是EPG究竟是一个角色,还是一个岗位。如果是角色,那么其作用自然比
较清楚。但是如果是岗位呢?而且就我见到的很多所谓高级别CMMI组织,这都是一个岗位。而这里恰恰是一个陷阱。
EPG究竟是评估流程实施的效果,还是评估流程的质量的?或者说EPG是应该对流程展开工作,还是应该对生产展开工作。而落实到这里就会有这样一种情
况,当进行回顾会议的时候,scrummaster究竟是一种什么样的态度去去面向流程呢?自然以我们知道的情况来说,他往往是希望不断的改进,不断的
优化。但是这个事情就要有个动机,他究竟是以增加生产力为导向的,还是以流程完善为导向的。虽然这两个问题看起来有内在联系,但是事实上在实施的时候是
差别巨大的。本质上说scrummaster是希望不断的调整,而EPG则是希望不断的收集数据然后讨论作出结论之后进行调整的。
其次我们还应该明白,EPG这个角色,应该是一个公共角色,是多个组织和多个项目共享的角色,而且越是共享性强,其效率会越高。而
scrummaster责任则是内敛型的,越是局促的在一个祖宗内部,其作用越是明显。这是因为scrummaster的一个最大作用是起到防火墙的作
用,而一旦一个人对多个组织负责,其隔绝作用就会虚弱下去。
再次,就工作绩效评估来说这里也有问题。绩效评估有一个原则,虽然你使用的方法可以不同,使用的理论不同,但是这个原则是一定存在的。所谓的绩效评估,
其实就是对于工作者的岗位的产品进行评估。落实到这里,具体的说就是评估EPG的绩效应该是看流程,而看scrummaster的绩效应该看在流程中的
组织。体会这两种情况的不同。打一个比喻,EPG是质检科的,而scrummaster是生产科或者是车间的。如果质检科直接下到生产线去负责生产会如
何?结果当然是乱套了。因为他们的职责本身就是有内在冲突的。
其次还要有一个问题我们必须明确cmmi是面向过程评估的,而不是面向HR评估的。SCAMPI今天不会,明天不会,后天也不会,并且其他任何新的评估
方法也不会去评估企业的绩效考核方法。
而对于你说的问题7,我感觉很遗憾。就你说的问题来说,我认为属于最最基本的项目评估和规模判断问题,如果以你现在的发言看,我认为你们还处于cmm0
级或者cmm1级。我虽然觉得cmm这个方法很荒谬,但是我认为他们这个基本问题还是解决了的。我希望你还是好好回去学习学习基本的管理学原理以及绩效
考核原理才是。这里你至少要知道,劳动生产率的评估和绩效评估是完全不同的两个问题。
再其次,组织间的绩效评估,也需要很多的措施。但是这里不过如何,都不应该走利益相互对立,搞此消彼长的事情。这里其实跟为什么EPG不能去做
scrummaster是有一些相同的地方的。
其次另外一个问题是,领导是不是应该直接可以决定下属的工资收入,这个一点其实很少需要讨论。我们往往要讨论的是,是不是需要下属知道这一点。当然对于
像你们这样粗放组织的情况,我们不需要讨论。因为在你们那里不管如何做,结果都一定是不好的。
以上是完全从管理和绩效角度的讨论,你完全可以无视,因为这些方面跟你开发软件关系不大。
我现在要说说软件开发的问题。实际上我们经常会遇到,两个组织协调的问题。而协调的第一步,就是协调计量衡和术语。按照你所说的情况,我既然是同部门,
那么术语的统一问题应该不大。统一的应该是计量衡问题。而在软件开发过程中规模问题,是首先要统一指标的一个问题。不过其实这并不是一个难解决的问题。
实际上难点是在于,如何能够对于规模进行计量。而现在你们这个问题,其实是在说如何对于计量的结果,进行单位统一或者单位换算公式的确立。
而就你第一次发言来看,你们的计量问题就没解决好。现在又出现了单位换算的问题。原则上计量问题不解决到一定解决,单位换算的问题就无实际意义。
同时我还要进一步说明,当领导把这个工作交给scrummaster的时候,作为scrummaster应该立即予以拒绝,因为这个是一种对于实施
scrum的干扰,是添加非实际的列入blacklog的任务。并且如果领导继续干扰,应该进一步上报,并最终排除这种无聊的扰动。不过如果领导把这个
事情叫给一个EPG,那么这个就是一个本职工作,这恰好属于他的工作范畴。
1,scrummaster作为团队成员的做法,虽然也许不推荐,但也是可行的,尤其在资源紧张的时候,这样scrummaster会参与开发的实际操
作
2,scrummaster发现并指出了团队执行流程的问题,如果团队不同意解决或者总是迟缓解决,应当如何处理?是否可以借助行政管理的力量来解决?
(我们这边会借助,实际效果可以。)
3,scrum有回顾会议(retrospective),scrummaster在此时提出改进,这个是应当做的吧,scrummaster应当具备
较普通成员更敏锐的观察力,更应通过改进以获得更好的效果。
4,回顾会议就是一个“自己对自己的工作做评估”的过程,叫scrummaster称号的人参加这个会议,与叫EPG的人参加这个会议,并没有实质的区
别。
7,原来的问题,虽然“与scrum没啥瓜葛”,但还是希望在这里寻求一些方法,毕竟要把软件编出来。我把问题场景化一下:有二支商业环境下团队,同属
一个部门,TeamA和TeamB,虽然都选择了名为用例点的方法,但是各自都有一些不同的调整,TeamA每次完成的人均用例点数量明显少于
TeamB,可以得到的解释是用例点定义方法不一样,但就有这样疑虑,TeamB有没有诚实问题,TeamA有没有经验能力问题?(毕竟奖金池是在同一
个部门,要分的啊),作为部门领导,如果强行要求两个Team统一用例点方法,有没有过于不利的后果? 如果部门领导把这个问题给了
scrummaster,scrummaster可不可以要求两个Team采用完全一样的用例点方法?
第7个问题,与绩效考核还是有些距离的,我在括号中说明“奖金要分”,是为了形象的说明问题,问题的本身是同一部门是否可以有不同的团队有不同的规模度
量方法,感谢Xu yi,给出了他的建议,我也认为还是应当有相同的方法为好。
就实际的试图引入scrum组织而言,存在着千差万别的情况,都受组织历史和现状的影响,出现80%的“胡搞”应当是正常的。出现很多杂音也是正常的,
出现问题也是正常的,至于人的素质,我相信大多数试图搞Scrum的软件工程师都是好样的。
我作为80%的一员希望在这里“多研究些问题,少谈些主义”。
如果不愿意讨论来自80%部分的问题,可以不回贴,如果愿意讨论,说说你的实践和困难或你见到的实践和困难。
如果本贴还会增长,超出实际问题和实践的贴子,我将不再回复。
如果本贴就此结束,我要感谢Dayong和Xu Yi, 从他们的贴子中得到了解答。
如果有上海Scrum沙龙或者有合适机会,很希望和大家(包括o6z)见面交流。
下面在说说规模评估的标准问题。这个问题可以说是一个从软件开发出现就已经存在的问题,并且也是一直研究的热点问题。而就一个组织来说,存在多种的规模
参数,使用多种的规模测算方法,是最最常见的情况。并且实际的情况也需要我们从多个层面,多个角度,使用多种方法,对同一个项目进行评估,得出不同的参
数系统。这不是能不能的问题,也不是应该不应该的问题,而是必须要如此,必须做的问题。我们唯一需要把握的,是引入多少方法和多少角度,做多少中评估,
并且保留多少指标的问题。同时我们还要知道,即使是一个指标,因为使用的方法不同,得到的数据也会不同。比如同样是测量温度,那么在实际的流水线中,测
量装置的位置,测量的频率,测量的持续性,都会对得到的数据有影响。这还是一种物理指标,就有这么多的不同。就不要说项目规模这种包括很多理念化的非客
观指标的参数了。
但是我们不能因为存在多种的参数,也存在测算的多种方法,以及多种不同的数据,就说没有必要测算了,也没有必要说这些东西就没有办法找到相对应的转换或
者对应关系了。而自然最佳的方法,是建立在物理指标的测算上,用牛顿跟千克进行物理换算,这是最容易,也最客观的方法。但是因为项目规模这块物理上的课
依赖数据很少,即使有说服力也很小,所以绝大多数情况下,不能使用这种方式。那么是不是就不能解决了呢?自然也不是。我们可以利用数据记录进行积累,应
用相互测试做对比,不断的进行分析和测试,逐步的形成一个比较稳定的转换公式。这个事情谁都可以做,也是谁都应该做的事情。因为规模测试,本身就是建立
在记录,积累,回溯,反馈,这样一个过程上的。而且这个方法可以说是目前唯一有效,也被证明有效,还被普遍认同的方法。即使忽然出来一个天才,一下子推
出一个什么系统,声称解决的规模参数的客观性问题,也需要用这个过程来进行印证以前的积累。这个事情其实非常非常简单,非常非常实际,也非常非常容易理
解。我不认为这些问题需要啥讨论,需要啥论证。我给大家讲这些,我自己都脸红。
素质啊素质,基础啊基础。如果scrum都是这些不知道做事情最基本方法的人在搞,你说这个方法能发展的好吗?能不困难吗?这样的胡搞应该停止了,这样
的讨论也应该停止了。因为不管出现什么样的天才,什么样的完美方法,什么样的最佳实践,都不能替代这些最最基础的准则和做事的方法。这里没有高深,也不
存在高手,唯一的就是把基础搞牢靠。我相信即使是天才的演奏家,也需要化大量时间在基本功上。
软件开发现在也需要基本功,并且我认为scrum目前最需求基本功。
停止胡搞,修炼基本功。
On Mar 7, 1:05 am, Joseph Tseng <airl...@gmail.com> wrote:
> 自己总结一下,ozzzzzz的话的核心意思就是:记录,积累,回溯,反馈是基本功,通过相对比较来得到结论(因为各种组织有各自特点,没有绝对客观的天才的标准)。缺少这些扎实沉稳的工作,任何所谓最佳实践都缺乏现实基础。在我看来,o6z的话其实就是温伯格反复强调的系统论的基本观点的表述。
>
> 如果我的理解有误,请o6z指正。
>
> 2009/3/6 Terry Yin <terry.yin...@gmail.com>
>
> > "素质啊素质,基础啊基础。如果scrum都是这些不知道做事情最基本方法的人在搞...."
> > 2001年的搞笑诺贝尔奖心理学奖颁给了来自Cornell University的Justin Kruger和David
> > Dunning,因为他们的一篇报告,报告所写的内容被称为"达克效应"(Dunning-Kruger
> > effect)。文中说到:"无知要比知识更容易产生自信"(这话应该是达尔文说的)。
> > 专门与过一篇博客:
> >http://terry-yinzhe.spaces.live.com/blog/cns!92560BAA05230C71!297.entry<http://terry-yinzhe.spaces.live.com/blog/cns%2192560BAA05230C71%21297...>
>
> > 2009/3/5 ozzz...@163.com <ozzzzzz....@gmail.com>
读了o6z关于自己人格特征的那段,明白他为何如此发贴了,确实与我的思路完全对不上。
这已经是离题万里了。
下面大家是否能够扣题来发贴
“我们可以利用数据记录进行积累,应用相互测试做对比,不断的进行分析和测试,逐步的形成一个比较稳定的转换公式。这个事情谁都可以做,也是谁都应该做
的事情。因为规模测试,本身就是建立在记录,积累,回溯,反馈,这样一个过程上的。而且这个方法可以说是目前唯一有效,也被证明有效,还被普遍认同的方
法。”
上述这段话在scrum中有哪些实践呢?
(实践并不是标准,而是存在或存在过的实际做法,不是说应该如何做。这是一个名为“敏捷中国”的论坛,相信大家都有“勇气”讲自己的实践和看法,我就有
勇气在极有可能被评为“大方面把握不好”“胡搞”的情况下首先谈谈,这些实践相信对80%的朋友有借鉴意义,比起理论上的大道理更有指导作用,希望给出
破坏性评定时,同时给出建设性意见建议)
1, PM记录sprint的估算用例点数和实际用例点数,开始日期,计划结束日期,实际结束日期,估算工作量和实际工作量,实际测试缺险数量
2, PM积累多个sprint的数据,计算得到生产率(实际用例点数/实际工作量) ,工期偏差(虽然按时间箱来处理,在实践中并不能100%符合,
所以计算了这个),缺陷密度。
3,团队回溯识别影响生产率的其它因子,有技术复杂因子,环境复杂因子,对用例点定义有所调整,总体方法上还是用例点方法,scrummaster参与
这个过程。
4,在下面的sprint规划中,使用以上结果,来指导sprint的规模和时间安排和人员安排
5,scrummaster收集以上数据,在多个项目组间提供借鉴和参照。
6,反复以上,持续更新
回到scrum的问题。由于scrum的不完整性,需要将其跟具体的实际操作流程结合。EPG会负责结合以及后续的改良工作。而QA则会负责这个流程的
具体化制定,以及后续的监控项目组的实施是否按照这个流程进行。具体的项目管理部门,和开发组织管理层,则负责具体的实施,并且将过程实体化。大的层面
来说,EPG是负责设计概念流程的;而QA则是将流程跟具体的生产实际挂钩的;生产部门则是将流失继续实施来跟具体项目结合在一起的。如果这个时候
EPG直接负责到具体的流程实施,那么他的设计就很难保证中立和非项目化,也就是容易出现为了项目而流程,或者出现为了流程而损害项目的利益。当然上面
也说过,这里还牵涉到绩效考察的一个问题,也就是生产者不能自己检测自己的生产成果,而应该由第三方检测。这个好理解。当然这里大家不要忘记,流程不是
一个产品,或者不是一个商品,大家搞这个不是为了制造一个流程,而是为了制造真正的产品。只不过为了制造产品,需要一个流程把资源和环境以及人员结合起
来。而EPG是为了把整个企业的流程做对象,QA则是把流程具体化到各个环节和项目,开发者则是为了具体的项目把流程来实施。所以这里还有一个EPG如
果具体到一个项目,会不会带来此项目同其他项目的流程冲突的问题。这个好理解,正规化的军队,正常情况下不会叫一个参谋长去兼下面一个团的团长、政委、
作战处长。
当然这里有另外一个问题,也就是有些组织的EPG不是专职的,也不是一个专门的岗位,更没有专门的部门。这个时候,有SCRUMmaster去兼任
EPG是可以的。但是大家注意这里的区别。同时这里由引申出另外一个管理上的问题,比如某个岗位的工作实在复杂,不能一个人完成。这个时候可以授权给其
他人做研究和某些操作层面的事务,但是负责和决策是绝对不能授权给其他人的。也就是说在scrummaster在兼任EPG的时候,他仅仅是具体的操作
事务和组织,而其实实际的责任和任务还是由一个另外的专门的人负责的。这个时候他的EPG其实仅仅是一个名称,而不是真正的岗位。这也就是一个角色与岗
位,以及岗位跟职位,它们之间在组织管理内部的一些情况。请大家仔细体会其中的内容。
实际上我们讨论问题的时候,由于不可能涉及太具体(除非我跟你在一个单位工作),所以名称等等都是概念化理想化的。你别到时候给我来一个,我们这里的
scrummaster其实就是pm换了一个名字之类的说辞来。严格的逻辑上说,白马都不是马,你只能说白马是一种马,你说是不是。
当然我们必须承认,胡搞也是搞,也可能很成功。但是我们不是去买彩票。我们要么是做学问,要么是搞工程,里面必须有一个道理,有一个内在的指导性的东西
的。我们不是马戏团,也不是教徒弟学相声的,来一个我这么做你就跟着做,做到家你就会明白。当然有些东西是只能做过才能明白,而且只能大量做过才可能明
白,或者只能认真的大量做过才有小部分可能明白。不过这样的事情,就还谈不上工程,也谈不上是学术。你去搞事情,也不应该走这个路子,也不应该去拜这样
一个师傅。这也是私塾跟现代学校教育和学习的区别。当然私塾更加中国,这点我承认。不过我是最坚决反对,读书破万卷下笔如有神,熟读唐诗三百首不会作诗
也会吟。这样的人去做文艺比较好,做技术和工程或者学术不合适。
当然,另外一个实际的情况是,有些有效的做法,我们确实还不能发现其背后的道理。不过这样的事情会越来越少,而且也不应该是我们的主要关注点。因为我们
的一个目标,就是叫这样的东西越来越少。
道理大概说完了,不知道我说明白没有,不明白就说出来。不搞懂这块,后面的事情就不好办。而土堆好说,痛感咋办。这个咋建立数字指标体系呢,我卖个乖,
大家自己去找本软件度量或者认知学的东西去看吧。其实路子还是差不多。
只不过有了痛感,痛忍受力,痛感觉能力,痛感知能力,之类的一系列指标,用来说明这个事情。比如用一个标准针刺力量大小,刺激多少时间,刺激什么部位,
等等要求的刺激进行的量化指标罢了。要是你愿意,你也可以自己根据情况建立自己的私人痛感指标。
回到软件上来。首先我们会遇到一个难题,软件规模究竟是什么。同我们上面讨论的道理不同的时候,即便是痛感,也仅仅是一个物理指标,而规模则是一个涉及
到多种物理指标的系统。并且说这个词的人,往往也会随着背景和场景的不同,表达的是不同的意思。比如有的人说的是,时间概念,有的人说的是代码大小,而
有的说的是代码行(代码行跟代码的行数不是一个东西啊,别搞混了),当然其他还有些指标和意思。而这些数据之间似乎还有某些联系,比如说时间可以看作整
个代码的大小同单位时间代码大小的比值。不过再一想想也不对,因为你的单位代码大小,跟其他人的代码大小差别太大,虽然我们可以动用统计学,但是落实到
一个具体的项目,统计学就失效了(学统计学好的同学,可以出来证明一下我这个论断。没学好的,是学医的就打屁股。学机械的就敲脑袋。学数学的干脆就去死
了算了。你是学CS的,不懂可以原谅,统计学我记得不是你们的必修课。)而另外一个问题是统计学需要大量的数据做基础,我们不能等到他们把数据积累完了
再干活是不是,而且不干活谁能有数据。这个时候我们就可以规定,软件规模就是指一个意思,哪怕这个意思再sb,再不着边际,再令人呕吐,只要设定了,就
好过没有设定。也就是说,大家统一到一个规定,一个轨道,一个方言下来,吵架都会有效率,不会你说东他说西,鸡同鸭讲了。
有了前面的统一,那么你就开始建立共同感觉吧,这个好办,大家都在开始的时候把感觉记录下来,然后不断的在一定时间后再感觉一次再记录。这就是积累。然
后再在一定时间后,把其他项目的东西来组对比,把以前做的感觉再感觉一次,这就是做回溯。自然在收集信息,自己的,他人的,新的理论,新的认识,凡是相
关的,分析总结之后 ,对已经有的积累和结论做修正,这就是反馈。这些也好办。
难就难在设定一个单位,也就是开始引入一个数据计量系统。这里我要声明一点,我不认为已经有了比较好的软件规模统计数据系统,至少现有的几种系统都有明
显的缺陷,而且也都不直观和直觉友善。因此,感觉这个东西至少就目前还不能丢,还需要经验。但是有一个单位还是有好处,至少可以把经验有的放矢的发挥在
一个方向上。大家可以围绕一个系统进行感觉判断。怕就怕,你没感觉,而纯粹希望引进一个指标系统来建立感觉。这样你离死就不远了。
而进一步说,如果你有两个组织,貌似在使用一套指标系统,但是差别十分巨大,你想统一下来,这个事情也好理解。不过你回忆上面我的道理,就能明白,其实
看起来统一的系统,并不统一。虽然都是一个指标系统,但是他们的内在概念,和实施方法还是有不同的,判断的人也不太,过程也可能不太一样。所以虽然看似
一个标准,但是得到的数据差别却很巨大。这个时候,你首先想到的不应该是谁能干,谁不能干,而是要首先看看他们干的到底是不是一个东西,是不是按照一个
方法干的。比如你用那个所谓的用例点(好几年了,都忘记了还有这么一个鸟。),这里面道其实还是很多的。比如你们是否强制化的检验前置后置,场景粒度标
准是不是统一,用例的引用和被引用如何处理,包是如何规定的,等等很多方面都会造成对同一个东西由于测算方法的差异,而得到的数据也很有差异。因此统一
是势在必行的。
而这之后,还有另外一个方法。那就是叫一个组织对另外一个组织的工作进行评估和规模估算,并且同原组织的进行对比。当然问题在于你要是公开说,这么做是
用来做绩效考核的,那么数据会受到影响。所以尽量还是应该以保证质量和安全,促进组织协作为理由和目标进行此工作。这样即使最终不能得到统一,至少互审
一次还是有好处的,而且大家也得到的交流和互相学习的机会。
也就是说你可以开始着手做两个事情,一个是组织间互审,一个是统一。并且统一也是为了互审的方便,而互审也是可以达成统一。但是这个事情,恐怕就不是项
目经理能组织的。
但是这里有一个地方我不是很清楚,那就是你们的迭代是如何进行的。比如用例是不是由各自项目组自己协作完成,还是有其他部门的人写作,或者其实项目组同
其他部门协作完成。这里也有很大区别。需要做不同处理。不过我觉得这里也不是项目经理或者scrummaster这个层面可以解决的。
而进一步,因为你们使用scrum系统,那么一定也有blacklog,而那上面究竟是什么也是问题。比如是用例,用例判断,用例片段,还是
story,还是任务,还是风险点,还是其他什么东西。这里也是会对用例点系统的后续成果有重大影响的。我不清楚,所以不好做判断。但是这里有一条,这
样的问题,也不底层人士可以解决的事情。
不过我总是要强调的一点是,这里跟scrummaster其实关联性不大。当然可能跟挂scrummaster名头的那个人关系大,但是仅仅如此。
而另外一个层面上来说,问题如果这个指标是为了判断大家的绩效,那么就应该有HR牵头去委托技术研究部门搞,你们可以提建议,并且表达同意或者反对的意
见。自己搞,就是等于你们的部门老板,要财人物都一手抓。这样的人中国很多,外国也很多,还是不招惹他们为妙。当然这个是中国特色,初级阶段,满脸是狗
屎跑街上也兴许被认为是时尚。这样的事情,我就不好发表啥见解了。喷几下再回到原来的问题。
实际上项目规模判断这里还些事情要说一下。就一个人来说,他的经验,会决定其对规模的判断的准确性。并且目前来看,越是经验丰富,其判断越是准确。而越
是项目规模大,其判断的准确性越高,同最终的结果也越是接近。但是一般情况下,这样的人不多。而我们这里没有这么的老混混,只能是把大的笼统的项目,细
化之后一个一个部分的估算,然后统一在一起。然后加上修正值,和权重等,计算一下,出一个结果。不过如果在有老混混的情况下,你会发现他在细节层面的估
算可能会偏差很大,但是最终结果却是很好的。而你那些还没到混混地步的人,往往细节方面的估算很好,但是把它们叠加起来,反到是不能被接受。这说明项目
规模,绝对不是简单的各个部分相加的结果。而且我们如果做过记录和积累,你会发现类型或者内容相似的项目,细节和整体的规模数据似乎有函数关联。并且你
进一步去研究,会发现,随着这个过程的前进,最终细节同最终整体的简单算术关联性会越强,也就是你会感觉你最终可以把各个部分简单相加就等于整体了。这
个情况我认为有一个重要原因,是你将整体细分的合理性提高了,而不是你估算的水平提高了,或者说是喜欢合理性提高贡献的更多,估算能力提高贡献的较少。
而这里还有另外一个情况,你也会发现。并不是细节越细,或者叫粒度越小,对你的估算就越有帮助。而且人的估算能力会不断提高,也就是估算的粒度会有变大
的趋势。当这个粒度跟项目整体规模的比例到达一个合理的水平,就会产生上面说的整体等于部分之和的情况。而随着你不断的进行这样的工作,也可以保证那些
人最终不会走向混混,而长时间保持一个清晰的推理思路。
当然还有另外一个方面的问题。那就是项目规模,到底用一个什么单位表达的问题。我发现现在有两种设立单位的方式,一种是代码行,用例点,功能点。另外一
种是故事点,feature,标准工作时间,之类。前面一种更加物理化,但是跟广大的程序员的基本直觉相背离。后面一种主观性较大,但是程序员更容易用
直觉感知和认同。当然前一种,组织间可以对比性比较好,而后一种组织内统一新和有效性比较好。而你设立自己的标准系统的时候,不得不在组织间和组织内部
想考量。我建议,还是首先增强组织内,再在已经基本满足的情况下考虑组织间,并且时刻考察组织内,以避免因为提高组织间,将组织内降低到不可接受的水
平。当然推而广之,人和人之间也存在这个问题。
另外,规模估算还跟项目进度要求有很大的关联性。也就是一个长期项目的估算更加容易偏差大,一个短期项目偏差小。但是往往又是短期项目即使偏差小,但是
直接后果明显,而且没有退路。这里要区分,是责任感造成的偏差,和评估能力造成的偏差。这个地方在今后对其他数据做修正和分析的时候,千万要注意。很多
非规模的数据往往就出在这里。
最后我还要说点不好听的话。我最近特别不喜欢,拿个scrum或者agile鸡毛当令箭。到处说,作为一个scrummaster,或者一个Agile
方法,这里应该如何做。我喜欢讨论这个事情应该怎么做。当然作为scrummaster或者一个敏捷者会有自己充满个性的做法。但是这个是要建立在能做
这个事情的基础上的。在学会做这个事情之前,先别着急给自己贴上标签。说实在的敏捷是做出来的,不是自己说出来的。你做多了,自然就能知道敏捷这一套是
不是适合你的。其实不敏捷又咋样,把活干的漂亮点就行了。你再能,还能到自己搞个啥自创的敏捷,并声称别人没敏捷之前你就敏捷了,并且你的敏捷历史都是
几千年的积累了。这种事情搞咨询的人吹吹牛是可以的,你一个做实际开发的,说这些没啥益处。他们给你一个scrummaster未必就是叫你真去做
scrummaster事情,咱们讨论可以高来高走,就理论而理想。但是您别到实际中也就真以为你们scrum'了。而且他爱scrum还是cmm跟你
也没啥关系,主要还是干活要漂亮。自然讨论只能是高来高走,不然就会真具体问题具体分析,完全得不可知了。