Q:如何上线快,风险小?
A:做互联网的都有这样的诉求,希望快速上线。确定MVP(最小可行的产品)。如何去定义一个最小的可行产品,快速地开发快速地上线,然后得到验证?埋点也很重要,我们要去分析用户的行为,因为我们会有很多假设,一定要通过真实的用户去验证这些假设是否正确。
Q:有些老板或者管理者思维固化不愿意改变,如何让他们接受你的提议?
A:现在应该不太会有说为了做敏捷而做敏捷了。我们一定要告诉管理者敏捷能够解决什么样的问题、能够带来什么样的好处,这样才有可能会引发一些改变。固有思维每个人都会有,特别是老板,但是我们要相信他们既然能坐在这个位置上,应该是有很多成功经验的累积,那些成功经验可能就是基于他以往的一些方法,我们现在是提出一个新的方法,他没有尝试过,所以有一些顾虑和担心也是正常的。
作为敏捷教练,我们很多时候都是基于痛点去切入的。
首先要深入团队、深入企业了解真实的需求和想要解决的问题。
然后看看已有的实践哪些可以逐步引入并取得成效,用小成果来巩固这些实践。
同时领导能够看得到的度量指标也是不可少的,要让高层能够看得到这个方法带来的改变,让他信任我们,继而再扩大实践的范围。
Q:对于跨业务线协作有没有好的方法+工具?敏捷强调的是每个人都是主人翁,但对于国内的公司环境是普遍非扁平管理,敏捷的理论与实际应用是有差异的,怎么看待这个问题?
A:跨业务线的方法和工具还是很多的,主要看大家的需求,如果所有人都在一起办公,有一个物理的看板也是不错的,如果在不同的地方就需要一些在线的工具来支持。还有就是我们是不是多团队协作的情况,有很多大型的敏捷框架,比如LeSS、SAFe、scrum of scrums都可以用来解决协作的问题。
敏捷强调每个人都是主人翁,而国内的环境大多是非扁平的管理,我之前还蛮理想主义的,对这个问题也有纠结的时候。我当时有顾虑:这样的环境是不是能够支持我们做一些敏捷的实践呢?事实证明其实也是有不少事情可以做的。
虽然我们在组织架构上很难说做到扁平,也不像国外那样比较宽松的管理方式,但是其实我们在一些小的环境里是可以做得很好的,比如我带的这个伺客团队,大家在一起就非常融洽,我们也没有什么层级概念。虽然有些人还是偏向management contorl的方式,但是其实也会慢慢被影响。
我们也提供了很多教练和引导技术去帮助这些管理者,包括我曾在部门推行的管理3.0和读书会等,这些先进的理念大家也很容易接受。
Q:敏捷团队有效性衡量指标除了需求完成率、发布速率等,还有什么别的具体的指标么?
A:说到度量其实是一个很大的话题,需求完成率、发布速率等是一些指标。我们希望通过度量达成什么样的目的?得先明确这个目的再来确定要度量什么。
比如我们希望流动效率更高,那我们就需要知道需求从开始想法到启动开发到完成需要的时间大概是多少、每个环节耗时多少。然后借用价值流分析非常有用的一些工具来帮助做一些改进。比如我们可能从一个需求产出到发布需要三个月的时间,但实际工作在这个需求上的时间可能只有五天不到,那我们可以算一个百分比,然后想怎么能够让它加快流动,随之而来的就会有很多方法和策略可以用上了。
Q:主要是敏捷跑得快了,质量好肯定是前提,不能妥协,但是感觉敏捷和DevOpS在应用中或多或少有点削弱了测试,对此您怎么看?
A:确实质量是不能妥协的,我发现在咱们国内做互联网都还是偏向糙快猛的方式,尽快地先上线再说,但实际上质量是一个很大的成本。
敏捷和DevOps实际上应该是加强测试,更多的自动化。而现实情况是大家都在分析计算ROI、急着去赶某个时间点,有的时候可能确实会弱化了测试,这并不是我们希望看到的。
开发和测试在融合,我们也希望业务、产品经理、开发、测试能够在一起把需求实例化,然后通过ATDD在整个过程中保证质量。质量不是测出来的,而是在需求产生的时候、代码构建的时候就需要保证的。
Q:理论和实践有距离,现实也会有偏差,很多团队中专职测试人员或多或少都有在减少。现在平安开发人员必须做单元测试吧?还有专门的系统功能测试团队吗?
A:我们会有一些专职的测试,但不是说越多越好,有的时候专职测试多了我们反而容易产生依赖。我们更倾向于让开发团队做好自测,做好自动化接口测试,就是说必要的测试都是由开发这边保证、质量也是由开发这边保证,我们逐步希望培养每个人都能是多面手。
单元测试是肯定要的。专门的团队负责系统功能测试比较少,多数是和开发在一起的,非功能性测试会有一些,比如压力测试、安全测试会有专门的人来负责。
Q:如何转型成为一个敏捷教练?
A:首先,要看一下自己是不是一个愿意持续学习的人,是不是一个有开放心态的人,是不是一个愿意去帮助别人的人。这是一个很好的基础,如果具备这个基础就可以逐步地去学习一些敏捷的实践。
其次,我觉得有一些好的团队能够让你体会到敏捷的好处,比如我曾经在Autodesk的时候就很幸运地带一个特别优秀的团队,大家很乐意去尝试各种实践并承担各种工作,包括我们也做了ATDD、以及一些看板的实践,大家都能够感受到它的好处,包括我自己。
第三,做一个敏捷教练我对这些实践是深信不疑的,我相信它们能给团队给大家带来好处,然后我会去读很多的书、和社区里的小伙伴交流、参加一些大会听听其他公司是怎么用敏捷来做各种实践的。
最后有当敏捷教练的机会一定要尝试,如果发现还有些技能不足,再想办法弥补。