标题原来意指 TDD,即 Test Driven Development,用 TDD 来进行碎片化时间的粘合。只是呢,Tasking 才是 TDD 的核心,于是在新的思考之下,我重构了本文的大纲。这篇文章的构成也非常有意思 —— 以致于我都没想清楚,为什么会写成这样。它只是由一个个的思考,所构成的文章,有些杂乱。

引子 0:长长的 To Do

昨天打开我的 To Do 时,发现待写的“文章 idea”有近一百篇,大概率是写不完了。所以需要清理一下 Todo 了,本文也是其中的项。在日常工作中,总会突然领悟到一些东西(aha 时刻),便会简单地写个标题或者一句话记录一下。在周末的时候,寻找相关的资料,编写文章,以深入相关领域的思考。

在这里,我们的第一个关键点便是:随时可记录 idea。其次,便是寻找时间完善它。只要时间不长,就不会像我一样,有一个长长的 todo —— 够我再写一年了。

引子 1:成就感 ox Game

文章的另外一个起源非常有意思。源于如何在非工作时间摸鱼,如早、中、晚过度碎片的时候,如何有效地组织起来,~~以更好地玩游戏~~。我的意思是:写会代码,看点资料,补充技术。

当你的时间被切割得支离破碎,比如参加各种会议时,要再挤出时间来写点代码,并不是一件容易的事。想法被打断了,在刚找到感觉的时候,可能又一个新的会议,又或者是讨论。这大抵就是作为一个技术负责人的生活,能寻找稳定的编码时间非常不易。

接着,离开这个悲伤的故事。回想一下,每天茶余饭后,总会拿起手机,玩会游戏。游戏里有每日任务、每周任务、每月任务,休息的时候拣起来,在领导来的时候关上。

除了游戏会带来一系列的成就感之后,它还有一个明确地任务,让你知道你完成了没有,你可以看到与目标的差距。比如,你有一个 51 级的英雄,而这个游戏的上限是 60,所以很进步一点,就能看到明显地成长。也因此,与花时间成长来说,花时间玩游戏更有成就感。

引子 2:从 Test Driven 向上到 Tasking Driven

多年过去,我一直在努力地保持着早上、中午、下午编写代码。为了保证细粒度(10 ~ 20 分钟内)时间下,能提交一次代码。需要有更细粒度的需求/任务,才能达成这样的目标。

从实践的模式来看,TDD(Test Driven Development)是最适合于业余开源项目的实践 —— “随时”可以中断手头的工作,一旦另外的再优先级的任务完成之后,可以继续找到当前的任务(即测试),完成这部分的工作。尽管,依然会存在一定的状态丢失,但是都能尽量地回到上下文中。

在缺乏“周期性练习” + “刻意训练”的情况下,TDD 便是一件相当难的事情。它的难点不在于,是否先写测试,而在于 Tasking。你并不一定需要 Test First,而是需要 Tasking First(即先进行任务拆解)。依此往下类推,用于支撑我们改善碎片时间的一个关键是:Tasking Driven。

粘合碎片时间:动机 + 举措 + 拆解

从理论上,粘合起碎片时间,并不是一件复杂的事情。诸如于,日常工作时,通常在显示器前、电脑上粘贴各种便利贴,来提醒我们:今天需要做哪些事情?在解决了一个个的问题之后,便会干掉一个个的便利贴。与编码相比,这种粒度会更为相比。不过呢,它没有突然任务拆解的重要性。

所以,对于我们来说,会粘合起碎片化的时间,需要:

  • 动机。强烈的动机,以实现某一愿景。

  • 举措。实现愿景所需要做的举措

  • 拆解。拆解完的任务的子任务

我们可以将它对比到软件开发中的看板与故事卡的故事,又或者是更高维度的精益价值树(LVT)。只是呢,上述的三者都具备一点的难度。

  1. 如何有强烈的动机?假设我们想保护改善颈椎、腰椎的情况,那么正确的方式,应该是在工作的时候,多次起身做做动作。但是,什么时候才会让你有强烈的去攺它的欲望呢,当你的腰开始疼的时候……。

  2. 怎样的举措才是合适的?再回到程序员健康这个问题,我怎么知道这个举措真的是有效的?我又从哪里获取对应的尝试性方案呢?来自社区网站(如知乎),又或者是朋友的建议?

  3. 如何有效地拆解任务?采用 SMART 原则?我怎么验证拆解确实是有效的?

这部分的坑就暂时挖到了这里,等我回头再想想。而粘合起碎片时间,我觉得它的一个核心要素在于:状态回溯。

核心原则:状态回溯的机制

再回过来看,从 TDD 的例子里,我们有一个非常好的原则:IDE + Git 可以为我们提供一个非常好的状态记录。在我们离开 IDE 的时候,它记录下了当时的状态。只要你们的猫不会同时按下 Ctrl/Command + Z,再按一下其它的按钮,那么我们就可以回放到当时的状态。这一点点小的 IDE 功能,是人类的大脑无法提供的,它可以帮我们回溯时间线上记忆的瞬间。

所以,在我继续填碎片化时间的这个坑时,应该思考是否要做的其它事情,都有相应的回溯机制?

一个没有把握的例子,我们在读书的时候,往往是需要由几个连续的时间段组合而成。所以,每当我们再次拿起书本的时候,需要往前看看,以回到当时的状态。而如果我们在今天看完书里,能记录一下书上的内容,就能 GET 到当时的状态,它相当于是我们对于书的一种快照。这种快照的形态是多种多样的,如书的脑图,又或者是书的书评。

其它

我一直在佛性管理时间,从来没有好好计划过,什么时间做什么。只在状态的时候干活,不想干的时候就不干,或者瞎干。

所以,这里这是一点儿思考 —— 为了记录那些高优先级的思考,以及便于未来再拾起来看看。

碎片粘合:Tasking DD 启发的思考相关推荐

  1. (转载)小米手机给我的启发和思考

    人活着,必定为自己的理想背水一战. 不是为了利益,为了赌口气,为了心中的那个梦-- 商业出身的人往往带有一种执着,雷军就是属于这样的一个. 小米手机从开始的宣传到最后的落地开花,让我开始由衷的对一个时 ...

  2. 人文思考与科研探索之管锥篇

    作者系华中科技大学智能与分布计算(IDC)实验室优秀硕士生代表李成洲硕士,他给实验室全体师生所做的一场报告,真诚的睿智语言和深思熟虑的思考方式给我们留下了深刻的印象,同时在很多方方面面都值得我们学习和 ...

  3. 人文思考与科研探索之管锥篇【转】

    作者系华中科技大学智能与分布计算(IDC) 实验室优秀硕士生代表李成洲硕士,他给实验室全体师生所做的一场报告,真诚的睿智语言和深思熟虑的思考方式给我们留下了深刻的印象,同时在很多方方面面都 值得我们学 ...

  4. 生命周期共有那几个阶段_用产品生命周期 6 个阶段来思考

    最近朋友在推款游戏,了解到数据,的确不错,但现阶段是否真的能够获得很好的表现,还不太好说. 营销推广在当下的确重要,但是当前的整体环境是否适合做类似的游戏产品,以及迭代的速度是否跟得上,是值得考虑的. ...

  5. 吉米小轻杆吸尘器轻巧便利顺手吸尘,利用碎片化时间让家居更洁净

    人生追求的自由无非三种:财务自由,时间自由和心灵自由.其中,时间自由是人们对时间的掌控,时间是平等的,每个人拥有一样多的时间,然而如何在有限的时间,做更多事情,是每个人都要考虑的.当高压状态将时间撕成 ...

  6. 时间都去哪儿了?互联网3.0时代,好多东西都已“碎片化”

    作者:方韵 时间都去哪儿了,你的时间被谁偷走了? 地铁又转公交,经过一个半小时的通勤之后,他回到出租屋时已经九点了."啪"地一声打开白炽灯,他边喘着气边想,"今天一定要看 ...

  7. 《论文写作》思考与总结

    前言 特地感谢[闵帆老师]的<论文写作>课程给予我巨大的启发和思考,在学术论文的学习过程中让我有着众多感悟. 现在,我将自己的笔记和一些思考,写成一篇帖子作为记录,同时以作自己学术论文写作 ...

  8. 浅谈个人对职业发展的一点思考

    一.写在前面 工作多年,岗位职责经历了开发->策略->模型的变化,服务过N多业务方,也在PC互联网黑灰产泛滥的时代,封停过上亿风险账户.人设也逐步从一个青涩年轻的毕业青年,变为一个中年油腻 ...

  9. 如何避免碎片化知识的危害

    长期通过微博.微信.知乎等平台接收碎片化的知识有什么弊端? Lachel,关注思考,生活,方法论 | 转载约稿请私信 你所接受的一切信息,构成了你的思维方式. 所以,长期接受碎片信息的后果,就是让你的 ...

最新文章

  1. 重新定义 AI 服务器架构
  2. 如何手工删除AD RMS SCP?
  3. 基于matlab的pointnet++深度学习网络点云数据分类
  4. es6数组初始化_ES6 迭代器(Iterator)和 for...of循环使用方法
  5. ffmpeg-URL(转)
  6. 昆明学院计算机二级报名时间,2017年3月昆明学院计算机等级考试报名时间(云南)...
  7. 1024对话内核大神谢宝友
  8. 3144: [Hnoi2013]切糕
  9. 【MySQL】MySQL数据库SQL优化工具 SQL Tuning Expert for MySQL(收费)
  10. 最大子段和动态规划_动态规划解决最大正方形问题
  11. C语言下,获取文件信息
  12. IOS--UILabel的使用方法详细
  13. okhttp初识拦截器
  14. OLAP-Kylin-大数据Week13-DAY4-Kylin
  15. 服务器提供各种服务 包括文件服务器,服务器提供各种服务,包括文件服务器、邮件服务器、Web服务器等。...
  16. WSADATA 数据结构
  17. 华为机试HJ55:挑7
  18. C++ 模板类与头文件
  19. 记一次简单的分区加LVM划分练习
  20. 在windows 10上使用qemu安装Windows 10虚拟机

热门文章

  1. 一文详解工业视觉中的光源及应用
  2. android APP自动增量更新
  3. opencv medianBlur均值滤波
  4. windows下安装VIM
  5. 域名过期 脚本_域名宝已过期! …还是垃圾?
  6. 求集合中的非空子集 Java
  7. PPC/SP/PC汉化教程:如何汉化一个软件
  8. 一口气搞懂「文件系统」,就靠这 25 张图了
  9. 小米平板4 android版本,小米平板4-4plus
  10. 华为机试 - 出错的或电路