敏捷-做最好的自己
今天我不说敏捷是什么,怎么做敏捷,只谈一些关于敏捷的个人看法。
自己用四个关键字说下我的看法:
1)持续改进(第一个)
我对敏捷的第一个感受,“持续改进”。
什么是持续改进
比较说典型的瀑布开发模式,问题的反馈链路比较长,一般都要到最后,问题才会集中暴露出来,这个时候谈持续改进就无从谈起。
而这个时候暴露的问题,所付出的代价一般比较高。也就是说问题越早暴露出来,付出的代价会越小,越晚暴露,代价越高。
错误和问题不可怕
为什么会害怕犯错和问题呢?
(1)人的本能
(2)害怕不能解决
(3)害怕上头怪罪
是人就会犯错,就会出现问题
所以不要畏惧问题,害怕问题
那么如何持续改进?
将每次重型发布,改为最小可发布形式。将问题出现的地方的日期分布到每次迭代中,从而持续改进。
2)自动化(第二个)
原先代码编译繁琐,且重复(之前我们每一次代码编译需要4个小时,只要我改了一小点东西就需要编译4个小时,可以想象调试的效率)
然后我们构建了CI、CD,代码库,自动化和集成测试,大大减轻了这些手动操作的地方,把人从这些枯燥无味,低效的情况解放出来。
做到一点,能自动化的就坚决不手动操作,这样大大提高了开发效率。
3)学习型团队(第三个)
无论个人还是团队都需要持续不断的学习,敏捷期间的学习有三个好处:一是新的开发模式,团队成员必定要掌握新的工具和方法论;
二是通过学习,有助团队成员的能力和思想统一,避免各成员之间沟通方式不通顺;三是提升团队成员的能力,对团队也是了一种持续的成长;
除了学习这些工具和方法,还有其它各方面的,如小孩教育,心理学,人物传记。
4)拥抱变化,做最好的自己(第四个)
我在的以前团队,有句口号“拥抱开源,拒绝平庸”(为什么要拥抱开源,做了这么多项目,付出了多少人和资源,
发现绝大部分项目的质量都不如那么好的开源项目。)
为什么要拥抱开源,这个我就不展开去讲,属于另一个范畴。
我借用这个思路,“拥抱变化,做最好的自己”,敏捷每个人的体会都不一样,但我觉得的敏捷的核心,实质上是“拥抱变化”。
变化是一直存在的,我们不可能避免,也无法回避。我们要思考如何将这些变化引入到我们流程中,按照我们的方式进行管控和解决,
变被动为主动。