完成一个目标可能需要做很多的事情,而每一件事情都可能有很多有趣的或值得深入的细节,太过深入细节可能会导致对整体目标的迷茫,可能会导致做的事情的走向的偏差,所以,做事情之前应该先明确目标,可能是一个也可能是多个,然后确定每一步大致都应要做什么,然后再去深入每一步的细节,或者去做一些发散。当前处在哪一步的哪一个细节点或者从什么地方发散出来的,只靠记忆很难特别的清晰,最好通过一个路径图、架构图、流程图之类的来达到全局统筹的目的,通过更高层次的俯瞰能够更清晰的知道自己在做的事情对整体目标有深入意义,也就不会出现太深入细节而失去方向感的现象。
我最近对代码的感觉就是这样的,架构的代码有很多的模块,我开始并没有全局的去想架构代码有哪些目标,需要做哪些事情,只是一个模块一个模块的去读,而每个模块用到的一些第三方模块又会去深入的研究,导致看了很久代码对整体的架构还是很迷茫。最近通过一些文档以及和同事的交流,我才意识到进度缓慢的原因。应该先对代码的目标有个清晰明确的认识,然后再考虑完成这个目标需要做哪些事情,再去深入每一步的细节,熟悉目标和步骤的过程可以通过画一些架构图和流程图来辅助理清思路。明确了目标和方向,对细节代码也会有更深的认识。
不止读代码是这样,管理和会议也是这样,管理要确定整体的方向和每一步骤大致要做的事情,然后再去深入细节,okr的意义就在于这里。会议也是要明确方向,确保内容不会太过发散。此外,人生不也是这样么,我们每个人都有若干个想做的事,比如从小我们可能就想成为一个科学家,而这个过程中需要经历小学、中学、大学、工作等各个大阶段以及每一个细小的步骤,这个过程中会遇到太多的诱惑和可以发散和值得深入的方向,如果对整体目标和每一步做的事情没有清晰的认识,或者意志不够坚定,很容易迷茫和偏离方向。这也是为什么能守住初心,完成人生目标而不发生偏离的是非常少的。
总结
读代码、会议、组织管理甚至人生目标的达成,都要首先有对目标的清晰的认识,想清楚每一步大只要做的事情,然后再去做细节的步骤或者做一些适度的发散,一上来就深入细节,会导致迷茫、发散过度,会做很多对整体目标的达成没有多大的意义的事情。具体到读代码方面,对于架构和流程的把控,通过图表来辅助是很有必要的。而宏观的人生目标的达成,也是这样。