He's Pirate.
time management
注重点实效能死么- GTD中的’背包’理论
五 14th
前阵子看了电影《Up in the Air》,中文名是《在云端》。里面George Cloony有个著名的背包理论。用来安抚被裁的员工。其实这个理论用在GTD中也很有效果的。
上篇文章,说了GTD中最重要的两点的第二点。这次想说的是第一点收集。
执行GTD的开端就是收集,把你脑子里存在的任何事情都记录下载,存在一份叫做‘材料(Stuff)’的List里面。然后从中摘出来打算要做的,放入‘工作篮’中。
这一步其实也符合‘背包理论’,在这里你的大脑就相当于背包,如果你脑子里存在的事情太多了,导致背包超重,那么就没办法轻装上阵,被背包所束服,导致效率低下等等不良影响与情绪。写下来,无论是写到一张白纸还是电脑的Excel文档亦或是什么GTD软件,只要你把脑海中的一切写下来了。那么就相当于有个地方可以随时查阅到你原来存储在脑海里的事情,而你的大脑自然也就放心了,可以专心的一件事情一件事情的处理,而不必总在惶惶中度日。
而我想说的是,清空大脑是重要的第一步,接下来,还要想办法清空‘材料’和‘工作蓝’这两个list。你可以通过全部解决掉事情来清空,也可以通过别的方式。第一种方案,把所有事情做完,这在一定意义上是可行的,但现实中,一旦你的工作或生活到了一个量级,你就发现你真的是没办法做完所有的事情的,所以,更多时刻,我们可以考虑用别的办法清空或者尽量减少这两个list中item的数量。
保持‘材料’和‘工作蓝’中事项数量在一个尽可能小的范围是有好处的,因为人(特别是强迫症患者)总是会对数量敏感的,如果看到‘工作蓝’有上百个待做事项,肯定会对你情绪或多或少产生慌张或什么别的负面情绪。而如果‘材料’list中有着五页或者更多事项,那么你每天从中选取事项到‘工作蓝’本身都会成为一项很痛苦的事情。
所以,我们应该精简‘材料’、‘工作蓝’list。在清空大脑,把所有东西都放到‘材料’list之后,就应该review一边,把完全没用的,不重要的,不是事情的事情给删掉。如果这招会让你大脑又感到不安了,那就丢到一个叫做‘垃圾站’的list去,而且这个list应该是不需要关心的。这样子经常要看到的‘材料’list就一下子少很多事项了。每天晚上从里面挑选事项放入‘工作蓝’这个过程也就容易多了。
每天早上检查‘工作蓝’的时候,也要先快速review一遍,分类整理。按照自己做的/支配别人做的/需要别人配合的分成三类。先把后两项处理了。然后专心的再做自己应该做的。
这一步看起来简单,其实实施之后真的有很大的效果。举个例子:收到一封系统错误的邮件,流程是开发人员总是需要回复解释。这时候并不一定你直接回复了就好,根据错误的情况,你可能需要和小组成员协商,达成一致意见,有了详尽的描述和解决方案了再发,或者是应该直接交由你的上级或者以前约定好的外部接口发言人来处理。
总之,就是你只做你最应该做的并且能产生最大收益的事情,在一个完备的团队,程序员最重要的是写代码来正确的描述业务的需求,而测试的思路方法则是你的QA同事的工作重点,而线上的维护与更新则是运维团队的同事的工作重点。如果你在时间资源有限的情况下,过多的参与或者操额外的心在QA同事或者运维同事应该操心的地方,那么你自己的本质工作,写的代码自然就容易质量下降导致测试与部署更加费时费力。这就是越帮越忙的道理,团队就是为了每个人有明确的分工,才使得生产率提升的。如果你本末倒置,耽误了本行,程序写的不易测试,难以部署维护。哪怕你花再多的心思帮QA去测试,帮运维去升级,也是费力不讨好的。
你如果去登山,可能你的背包需要带上创可贴,可如果你就是下楼买包烟,还有必要带创可贴么,别开玩笑了,连背包都不需要拿着,光拿点零钱就够了。
所以,别着急塞满你的背包,让它里面尽量放的东西少一些,只有这样,当出现更重要的事情的时候,你才能轻易的放进来。而不至于超负荷运转。
程序员也是如此,你最重要的事情永远是写程序,不寻思着先把程序写到足够好,就花费精力在别的方面始终是不明知的。
程序正确,自然QA测试就轻松了。
程序扩展性好,自然你自己回头改起来就容易了。
程序容易部署,自然运维人员部署升级维护起来就简单了。
所以与其花费很多时间在教QA和运维怎么测试与部署你的程序,不如你先把程序写的足够容易的测试与部署更具性价比。
在我看来,重要的事情就是可以潜移默化的让你减少很多额外的大小事情大小麻烦的事情。
通过收集、整理、拚弃,不断的思考,最终使得to do list上存活的都是重要的事情。那么,就会形成一个良性循环,使得你的‘背包’越来越轻,从而跑的越来越快。
注重点实效能死么- 时间管理中的GTD
五 11th
对于GTD,听说很久,接触确很晚。直到去年苦于项目折磨,然后抱着病急乱投医的心理读完了《Get Thing Done》,没想到效果奇佳。从此真的是腿不酸了,腰不痛了,头也不抽筋了。
我觉得GTD最重要的是两点。
- 收集(Collection)
- 2分钟能搞定的就立刻去做。
收集的目的自然是为了清空大脑,腾出更多杂念,使得大脑更加清醒,从而提高效率。
而2分钟能搞定就立刻去搞的原则其实就是我这次想多说一点的部分。
上一篇文章说了为何要避免把第二优先级全部让给‘重要不紧急’的事情,而忽略掉未来可能变得‘重要且紧急’的‘紧急不重要’事情。(好饶舌,ft)
而显然我们不能非黑即白简单调换,所以要找一个平衡度。使得‘紧急不重要’的事情得到一定的时间处理,避免未来蜕变成大多‘紧急且重要’事情的几率。
这点上,我的经验是如果碰到‘紧急不重要’的事情,但10分钟内能搞定的那就立刻去做。至于为什么是10分钟不是书中说的2分钟,是我觉得10分钟这个量是比较适合软件开发中程序员的角色。因为在软件开发中,你很大可能不会把任何遇到事情的时间估算在2分钟以内。而以10分钟划分的话,就能包括很多事情了,比如改一个页面上的typo,帮QA看一眼他的测试环境,给某人发邮件阐述下某个小模块的运行流程,更新jira上ticket的描述以及状态。对,这些诸如此类的,一般都会认为10分钟一下能处理完毕。而程序员行当与生俱来的盲目乐观天性以及不靠谱传统导致的事实是,说10分钟可以搞定的事情,一般都要半小时到一个小时才能真正的完成。对,其实我们要过滤的真正条件就是,如果一个‘紧急不重要’的事情真的能在半小时以内最长不超过一个小时完成,那么就立刻去做。但是我们执行这个的标准时候,如果不是把预估时间定为10分钟,而是一小时的话,相信我,即便你当时评估的时候,想的条件是“真正一定要完成的时间在一小时”才可以做,那么最终你还是会发现你把很多真实时间花费在2小时,一天,一周的任务当初错误的归类到了一小时以内。所以,10分钟是一个限制。
也许有会说,如果每天花费很多半小时一小时在‘紧急不重要’的事情,那么‘重要不紧急’的不就没时间了。其实实话的是对于程序员来说,我不认为每天都会有大量‘紧急不重要’的事情要你处理,偶尔有一二个,并且能在半个小时做完,并不会影响你做‘重要不紧急’的时间。对你的损失只是中午少看一会视频网站的搞笑视频,少看点新闻,少灌几篇帖子而已。但好处确是‘紧急不重要’的事情变的少的,从而降低未来‘紧急且重要’事情出现的几率。使你有更多的上班时间偷偷看小电影,花边新闻,调戏小MM。并且以一种轻松的状态偷懒。因为你有效的把一部分风险的几率降低了。
嗯,其实这么多字,中心很简单,用GTD管理你自己时间,并且把立刻去做的事情的时间范围调整为10分钟以内。
这篇说的是简单的10分钟法则来使得一部分‘紧急不重要’的事情得到有效处理。从而在概率上避免‘紧急不重要’变为‘紧急且重要’事情的数量。下一篇,我想聊的是如何提高你的判断力,使得你的时间花费都在重要(包括重要且紧急,重要不紧急,未来会变得重要且紧急)的事情上。
注重点实效能死么- 时间管理中的四象限
五 11th
Urgent and Important | Important but Not Urgent
———————————————————————————–
Urgent but Not Important | Neither Urgent nor Not Important
上面这张表格应该绝大多数接触过时间管理的人都应该听说过的时间四象限。
象限1-“重要且紧急”的优先级最高这是毫无疑问的。争议出现在第二优先级究竟应该是什么。
紧急不重要 or 重要不紧急,这是个问题。大部分人默认思维都会选择‘紧急不重要’,而这时你的讲师就会得意的一笑,告诉你你的思维是错误的。‘重要不紧急’才是第二优先级。并且举出两个非常牛逼的佐例。
- 紧急不重要的事情就像杂草一样,你割掉一波又会立刻长出一波,这样子的事情是处理不完的。
- 根据#1可以得出你将不再会有时间处理“重要不紧急”的事情。而重要的事情永远得不到时间去处理,无疑是非常糟糕的。
听到这,绝大多数的人都会觉得讲师说的太有道理了,所以往后的日子第二优先级都变为了“重要不紧急”。而其实这样子就很完美了么?其实不然。我最近的思考和经验让我有了一些新的发现。
人类对事物属性的判断总会产生误差,对事物在未来属性的判断上更加容易加大误差。
并且在重要与紧急这两个维度上面,人们一般对紧急程度的误差相比于估计重要程序的误差来说,要多许多。
这个结果造成的上述四象限的变化就是:
- 紧急不重要更可能在某一时刻变成紧急切重要的事情。
- 重要不紧急的事情变成重要且紧急的事情的几率相比上述是比较小的。
举例:客户要求你的软件下个版本添加某个功能。这里,你对时间的判断就是下个版本的发布日期,这一般都是有根据的有计划的,正常情况不会有太大偏差。而这个功能的重要性,可能你和客户就容易产生不同的理解。
所以在我看来,第二优先级如果一味选取‘重要不紧急’,那么其实并不是最优的办法。
那么到底如何才能排出正确的优先级呢。我下篇文章想介绍一种思路,把GTD也结合进来。也许是种不错的选择哦。
————————————
周末看了下老罗新书《我的奋斗》,联想起自己博客上以前的文章,貌似大部分都是攻击、挑刺。实际的思考寥寥无几。而发现问题是第一步,发现问题后解决问题才是重要的事情。所以我决定以后少写嘲讽性文章,做点真正有意义的事情,也就是把我认为是对软件开发有帮助的办法以及真正的思考写下来。因为敏捷已经被用烂了,所以我决定把我这个系列命名为《注重点实效能死么》,源自于我心中的神书《Pragmatic Programmer》。软件开发这个小破圈子的浮夸做作互相吹捧的风气已经盛行很久了。而默默忍受不如主动反击。我要主动出击,分享一些切实可行的办法,干掉那些个虚头吧脑的概念。最终将所有的不学无术纸上谈兵的东郭先生通通赶出贵圈。 好吧,抱负有点太大了,慢慢来吧。罗胖子说很对,即便这个世界很垃圾并且正在变得更加垃圾,但如果你也不想着改变,那么就跟其他沉默的大多数一样,默认了各种肮脏与猥琐。程序员这小圈子也大抵如此吧。
近期评论