乐观的估计工作量
乐乎4月初上线的一个重构项目由于过于乐观的估计了工作量,导致项目节奏阻塞在了我这边, 最后临到上线了还有一坨边边角角的 TODO ,靠同事帮忙分担了一下才得以顺利上线。
最近又来了一个对接广告系统的活,只对接一个接口,上线时间比较宽裕。这之前看了一些单元测试的书,书中提到了一种测试驱动开发的方式。打算借着这个机会实践一下。
当时主要的想法是:
准备单元测试需要的程序骨架(没有具体的逻辑)
写单元测试,使得测试报错
写代码,使的单元测试通过
不断的重复上述过程,最终完成开发。通过 git 提交,或者文本记录的方式记录这个过程, 最后总结下实践经验。原计划 5.1 加班两天搞完了,实际上耗费工时 2(加班)+3(节后回来)+1(新的一周 两个半天) 才把代码逻辑完成了 90% 的逻辑,想写的文章散落在 git 提交记录,与 md 文档中。预计完全把 mr 提出来 , 文章准备好,要这周五结束了。 总耗时在加 3 天。预计工时 2,实际工时 9。 4.5 倍的差距。
晚上和老婆聊天,说到了这个事,我也意识到自己的工作量评估的方式确实有问题。老婆也是做研发的,她的工作量评估基本都很准确。她说在评估工作量的时候,她都会很仔细的看下代码,这个功能需要改动哪些地方,然后预计自己1天完成的报一个2天左右的时间,因为要给自己留下容错的空间,除了 coding 还有其他的会议,处理工单之类的问题。这听起来是很普遍的做法,但我发现自己从未这样思考过问题。
我是一个爱抢活的人,这种性格让我想起了印象里比较深刻的三段经历:
高中时期的网游代练
大约是高二的时候开始迷恋网游,去网吧需要钱的,看到别人跑商代练可以挣钱。大概的模式是这样的,跑一票大概需要10~20分钟,可以获得游戏里的一些帮贡和经验。很多玩家没有时间来玩这个,就会花钱请代练,100票大概100元左右,一个账号非常理想的情况下三个晚上可以挣100元,当时对于我还是很心动的。一开始被骗的多,干完活了没给钱。后来需求比较多了,就研究了一下如何跑的更快,多开账号,刷夜。在网吧耗费了宝贵的时光。能挣钱给我培养了很大的虚荣心,好胜心。记得自己那时候非常愿意和别人比,别人双卡,我练4开。甚至有点 BT 到要去跟开挂的比速度。这种急迫想证明自己的心态实在是不可取。
大学时期的实习经历
上大专了以后有点浪子回头的感觉,每年学费近 8k 想着暑假里打工挣点钱。学校里介绍了一份在勘测院外业实习,主要是拿着相机去外面拍摄建筑表面,回来后录在系统里做建模。具体的加个忘了,薪资是按照跑一个平方计算的。我记得当时一个暑假赚了一万多,每天最早一班车出去,最晚一班车回来,规划第二天的路线。30多度的夏天,那时我身上也没有什么钱,有的时候还要饿肚子。为了想把学费赚够,对自己还是挺狠的,脚受伤了也坚持下来了,那时候不知道自己能赚多少,只是凭着一个感觉坚持。那件每天回来会有盐粒子的短袖到现在我还能记得它的样子。最后的结果也很不错,勘测院的领导还想毕业后让我留在这工作。
能吃苦是很好的品质, 但是现在想来这种不健康的发展模式继续膨胀了我的自信。让我觉得自己能力很强, 当你觉得自己很强的时候,不太会善于虚心的向别人学习。实际上自己离优秀还是有很多差距的,这是在最近几年才发现的。
和父亲一起工作的经历
大学毕业后没有直接工作,当时想当兵没有通过体检。在家里和父亲做了半年零工。父亲是一个水暖工,东北家里装修前都要做水暖。父亲是个手艺,力气都很列害的人。200多斤的暖气片自己能挂上去,做的活也很好。很多人找张师傅修暖气。我给我爸当小工,帮他拿拿东西,跑跑腿,不方便操作的地方把一下等等。那时候一个中等户型一套下来可以挣 800,我和我爸两天拿下。那时候自己脑子里想的都是怎么快点整完这个活,一家 800,十家 8000 。一个月小万元了。。。
父亲也是一个急脾气,经常为了贪活中午不吃饭或者搞到晚上很晚。那时他得了糖尿病,要打胰岛素和注意饮食,除了当小工。我负责让他早点回家。
记得当时也和老爸干了一个大工程,承包了林场的二层小楼的暖气,没有集中供暖要自己建锅炉的项目,我爸带着我和另外两个叔叔,打孔,套丝机,安装暖气,连接管道,安装锅炉,架烟筒这一套下来。15天跟我爸搞了1w多,那是一笔当时我觉得很多的钱。那时的老爸是我很崇拜的人,很后悔自己没有多和父亲学习他是如何把事情做的那么好的 ,太把钱当回事也会限制自己的眼界。
我总是在以一种很急迫的心态,希望尽快把这个事情搞完,拿到奖励(像他人证明自己的能力)。然而这种方式是不可持续的发展的,现在社会的合作模式也并不是计件模式,需要你不断的积累经验,能够解决更复杂的问题。
当做一些耗时比较长的工作时,这种心态会导致我脑子里一直想的是这个工作中主要的事情,忽略了很多细节问题,我认为这些细节问题是很容易的,但恰恰相反,这些细节问题耗时也是很长的。我的工作量估计大约只覆盖到了我脑子里主要工作的70%,这也许是我经常乐观估计的原因。而这种习惯下,更大的威胁是,自己变得更粗心了,更浮躁了,把一个工作想的很简单,把简单的事情想的更简单。
公司旁边有很多工地在盖楼,看着外面工地上高楼大厦的拔地而起,国家的基建真的很强,盖几十层的楼,就像搭积木一样的,钢架,基础模块一点点拼接起来。很羞愧于自己工作这十年就没做过什么严丝合缝的事情,如果这楼让我来盖,用现在的工作模式,我一定会冲在最前搞最难的,熬夜加班焊骨架,最后发现这合不上,那对不上。变成一个烂尾楼。
如何改变这种问题呢?
工作量估计的时候给自己一个容错的时间
每次项目记录下自己的预计工时,实际工时,不断的总结和训练自己
以后每次的总结都会记录在下面,看看自己能不能变得好一点。