开门见山。
提高执行力的终极武器就是——画流程图。
关于拖延
很多人,可能都会有一些想法,有时想做很多事,但却无从下手,于是就一直搁置着, 应该很多人经常都有这种感受。
有人就把它叫做“拖延症”, 也有人说自己得了“懒癌”。
拖延症基本上很难解决,因为要让自己去做不喜欢的事情,那是很难很难的,比如健身或者减肥,一个人身体好好的,没什么大毛病,干嘛就得立即去运动,身体不出点问题,就不太可能立即行动。
就像这篇文章一样,我也拖了一个多星期才写,自从开公众号后,有很多人说我怎么这么喜欢写文章... 其实还真不是,写文章是很耗时间的事情,这从来就是件很累的事情,干嘛让自己受累呢,还尤其是写一些自己不那么想写的内容。但是现在,写文章一方面为了“交作业”,也是给自己一个交代,一方面确实可以把思路理清楚,于是就不得不这么做了。
拖延不是病,拖起来也不会要人命,那就live with it吧。
关于任务拆解
过去一个多月一直在学Ruby on Rails, 学习编程,语法是次要的,重要的是关于编程的思想,就像武侠电视里练功一样,心法才是核心,无招胜有招...
这段时间,让我学到对编程最深刻的一个认识就是——任务拆解。即将一个项目的大任务拆分成一个一个独立的小任务。
我们学习编程,不仅仅是为了多一项技能,只是当我们有个人需求时,可以自己整合资源,并用程序去实现它。编程的本质就是:设计一个逻辑流程来实现制定的需求,使调用者无需了解实现细节即可达到目的。
我们写的程序,就是为了实现一个需求而设计的逻辑流程。
用户的需求可能很复杂,如果没能把需要实现的项目功能表述清楚,再好的编程技术到头来也是白搭。
任务拆解则是可以把一个实际的需求功能给拆解成一个一个可实现、可执行的小任务。任务拆解是写User Story(用户需求分析)的绝对必要步骤。
编程课有一个作业,就是让我们写:从起床到公司,你会做的 10-15 件事,并将这些事情按目的分类,再按权重排列,如下是个范例。
一张图就很明了地展示了从早起到上班的步骤,有哪些是必须的,哪些是不必须的。
画这样一张图,尽管不可能让我养成早起习惯,但就是因为这张图,让我开始理解拆分任务是怎样一件有意思的一件事情。
前几天看到张砷镓的一篇文章《为什么你应该学习编程了》,印象很深。大概说的是,编程是如何如何可以提高效率,编程又是如何如何可以解放一个人的时间和注意力。
人工智能所擅长的事情恰恰就是这个,所有可以程序化的事情都可以交给人工智能。
一个工作岗位,只要能一定程度上被流程化,被量化,就迟早会被人工智能取代,哪怕这个岗位是厨师,甚至是写作、写诗...
而人与机器不同的是,人可以不断创造新的需求,并通过程序再实现它。人的欲望是无上限的嘛。
不管是编程,还是人工智能,其意义用一句话就可以说清楚:
复杂的东西简单化,简单的东西标准化,标准的东西流程化,流程化的东西自动化。
有事没事就画画流程图
拖延症换一种说法就是执行力不够。
提高执行力的本质就是流程管理。
前几天,陪着家人去了一趟,做入职体检,一到医院的前台,就看到这么一张图。
如果没有这张图,恐怕每个来体检的人,都一脸茫然,得使劲找工作人员询问怎么做,这种用户体验会很糟吧。
流程图就是告诉你要怎么一步步做事情。
而所谓流程管理,就是懂得如何一步一步完成任务,什么事情先做,什么事情后做,什么事情又可以同时做,每一步又如何可以检查正确性。
流程图,是很多年前在大学期间,偶然学C语言时就接触到的东西,可从来没有在意过这个概念。
当时书上有提到,一切的流程都可以用顺序、分支、循环三个要素描述清楚,没有学过编程的人也许会很意外,怎么会可以用三个要素就描述清楚世界上的一切流程呢?很神奇,但确实是这样。
早期的计算机科学家认为流程需要四个要素,顺序、分支、循环和跳转。这个话题争论了很长的时间,从1959年直至今天,还是多多少少有一点点的争论,但普遍的共识是前三个要素足矣。舍去了跳转这一个要素,也就是go to语句,这也让编程语言的进化历史有了重大的影响...(具体啥影响我也说不来)
梳理流程,就是你启动执行力的过程,因为你知道每一步是什么了,你就可以逐步去完成它。
而优化流程,就是提高执行力的过程,优化流程的目的,就是提高效率。
优化流程,并没有大家想象的那么复杂,我们只需要两个要素就可以了。
- 并联
- 串联
所有的任务之间,他们要么是串联关系,要么是并联关系,并联关系也就是所谓的同时进行。
优化流程,无非就是干两件事情,
- 相互串联的子任务之间调整顺序,顺序很重要,有的时候改变顺序,就改变了效率。
- 把一切可以并联的子任务挑出来,让他们同时进行。
至于如何检验每个环节做得对不对,好不好,如果出现意外怎么办?都需要有应对措施和弥补方法。
- 每个环节都应有检验机制。
- 每个环节都应有意外处理机制。
把这些表述清楚了,即画出了一张完整的流程图。
实际上,流程图不仅仅是可以应用到编程,项目设计,开发互联网产品,甚至可以应用到生活中的任何事情上,就比如到医院后如何体检,去补办身份证需要哪些步骤...
要做一件事,你要了解这件事的流程。你对流程了解得越清晰,事情便更有可能做好,画流程图的目的就是为了把这件事的始终表述清楚。
只要流程清楚了,照着做就可以了,如果做不到,那肯定是自己的问题,别人也帮不上你。
生活中的一切任务都是可以用流程图画出来的,不用多久,你对周遭事物的认知就不一样了,因为在不断梳理流程的过程当中,你会感觉这个世界越来越清晰...
一件事,你以为在脑子里想想,就可以想明白它的来龙去脉,光想不做也可能是拖延症的一种表现吧。实际上,光想不记录,你总会忽略掉一些东西,用笔画下来就是对这件事的深入思考...
学习画正经的流程图,其实很简单,你只需要上网搜一搜flow chart, 就知道应该用什么形状的符号来表述,画流程图的软件也很多,而大部分情况,你只需要一只纸和笔,没事瞎画画就好了。
随时准备纸和笔在电脑旁边,有时确实比单纯使用电脑更有效率...
之所以一直写这种鸡汤/打鸡血的文章,也是以为自己也是懒癌晚期,就通过这种分享方式,在进步的路上自我救赎吧...