守破离

在敏捷管理中,经常会借鉴日本剑道中的思想,那就是“守破离”,大概意思就和中国的武侠小说里面练剑的境界类似,守,就是要遵循既有的招式,一丝不苟地练习,“心中无剑,手中有剑”;破,就是要根据自己的情况,对招式中不合适的地方做局部的改善,做到“心中有剑,手中有剑”;离,当然就是最高的境界,不需要想招式,只需要根据实际的情况,采取最合适的措施,做出最合适的应对,克敌制胜,那就是“心中无剑,手中无剑”。

其实这个道理不仅仅是用在武术上面,在现今世界中,很多东西都符合“守破离”的规律,大家都是遵循着这样三个境界来提升自己的。

比方说体育运动中的羽毛球,最早都是学习基本的动作和步伐,教练会一个动作一个动作地告诉我们,什么样的动作是正确的,什么样的动作是错误的,因为多少年的经验积累下来,已经有人总结出那些正确的动作才会非常有效地让我们获得胜利,我们要做的是让肌肉也拥有那些记忆;但人毕竟是有差距的,在进行一段时间之后,就会有更加专业的教练根据个人的特点做一些调整,从而发挥出长处,避免劣势,这个阶段需要不断地尝试,也就是试错,一定要在付出一些代价之后才能够取得很好的效果;到了林丹的那个境界,我猜应该就是根据具体的情况来调整就好,不过那种境界对于我们普通的人来说是可望而不可即的,哈哈。

写文章也是一样,最初我们作文的时候,先是会背诵一些非常不错的文章,分析它的结构,遣词造句的方法,描写的技巧等等,然后在写作的时候也模仿着来写;这样的方式毕竟非常制式化,长此以往,就会形成新时代的“八股文”,这可不是我们想要的,那只是我们不得不采用,来应付各种各样考试的手段罢了,所以我们要“破”,避免一味地遵循那些方式,把心中所想,所积累的知识和经验用自己的笔(现在可能是键盘)表达出来;到了作家的阶段,就会让文字成为自己的一种工具,形成自己的风格。

想一下各种各样学习知识的过程,都是一样,音乐、绘画,不管是哪位大师,最早的时候都会向其他前辈学习,掌握已有的知识,然后慢慢地形成自己的风格,最终才能够经过不谢的努力,成为一代宗师巨匠。

作为程序员,不得不说与我们的本行相关的内容。最初我们写程序,会跟着课本的内容走,或者是在自学的时候,不管是学习一种软件的使用,还是一种语言的编程,我们都会看一些教程(Tutorial),跟着一步一步地做下来,掌握最基本的一些知识;在掌握了各种各样的知识之后,我们可以开始使用它们来编写自己的程序,那时候可以根据具体系统的要求,(比方说规模、应用范围、用户特征等等),选择合适的语言和框架,尽可能高效、高质量地完成;当掌握了更多语言、框架、工具之后,我们经过各种各样的项目,了解了它们的特点,熟悉它们的优势和劣势,那么就可以在做项目的时候信手拈来,根据自己的想法来构建系统了。

在一个团队实施敏捷的过程中,最初很可能都会采用Scrum的方法。Scrum就是敏捷的一个框架,其中定义了三种角色:PO、SM、Team,几种产出物:User Story、Product Backlog、Scrum Backlog,以及几种会议:计划会议、每日站会、评审会议、回顾会议等等,这样对于一个刚刚想要采用敏捷的团队来说,就可以做到有章可循,否则”敏捷“这个非常灵活甚至有些模糊地东西,实践起来还真的是让人觉得不知所措啊。这同样是一个“守”的阶段,没有这个阶段的积累,就比较难以让团队对敏捷有更好的理解,更谈不上如何根据实际情况改善了。

现在很多大师级的人物,或者比较厉害的公司,像Google,FB什么的,他们不会谈论敏捷,因为“当我们谈敏捷的时候,实际上已经不敏捷了”,这种说法没有错误,但这样的做法需要达到一定的境界才可以。之前和一位朋友讨论,说“敏捷只适合与高素养的人”,也是基于这样的认识。他们已经在早期就采纳了极限编程等敏捷方法的实践,在积累了多年经验之后,已经早已突破了“守”的阶段,所以才会认为Scrum并不是敏捷,但并没有意识到,最初的时候,也是通过各种制式化的实践经过了“守”的阶段,呵呵。

所以说,想要达到“破”甚至“离”的阶段,“守”是一个必须的阶段,现在很多程序员或者团队的问题就是,还没有把“守”做好,就开始想着“离”了,什么规则都不想遵守,凭借自己还不够充分的知识储备,就要解决眼前非常困难的问题,那样只能说事倍功半,而且成功地几率会非常小。更好的作法应该是珍惜前辈们总结下来的知识和经验,利用那些既有的内容来帮助自己搞定问题。

我们要做的是,不如静下心来,打好基础,或者套用一句比较官方的话叫做“夯实基础”,为以后的提升做好准备,有了足够的积累之后,“量变才能够引起质变”,那样才会突破自己,达到自己心目中的“高手”目标,进入到“离”的境界。

 

---------------分割线------------下面的内容同样重要,:D----------------------
如果您想要更方便地阅读我的随想,请在微信订阅号中直接搜索“happyprogrammer”或者“快乐的程序员”,关注我的微信公众账号。
我会在其中分享自己各个方面的想法,编程、架构、敏捷、演说、育儿等等,目前正在写几个系列的文章,把自己在各个方面积累的一些经验更加系统地分享给大家,:) 

posted @ 2013-11-17 16:02 侯伯薇 阅读(...) 评论(...) 编辑 收藏