我曾经一个项目从零开始,一直做了9个多月。deadline是10个月,但好歹是做出来了。
前两个月哗哗哗写了很多code,第三个月发现对产品的最终形态没有思考完全,在design上出现了一些conflict,不得不又花了很多时间改了很多code。第五个月发现用的一个控件对一个核心功能的支持有问题,不得不又花了很多时间debug那个控件然后用了一些tricky的方法去绕过问题。
整个项目除了第八个月有一次demo以外,其他时间大都处于无法demo的状态,因为即便是10个月的deadline,对我这个项目来说也是太紧了,到处都是细枝末节的问题要解决。
因为有一个hard deadline,所以整个过程是让人十分焦虑的,当你不知道能不能成的时候,不知道自己走的路对不对的时候,就失去了信心,失去信心导致了焦虑。
有了这样的经验,我就总结了一下,发现焦虑是感性的东西,但我们可以用理性去逻辑推理这个焦虑到底是不是合理的,进而克服焦虑。
导致焦虑的最大问题是不知道能不能成,不知道走的路对不对。这个其实是技术上的问题。我后来做新项目的时候,都是仔细的去想产品的最终形态应该是怎么样,产品的形态,你想把这个产品做成什么样子,决定了你走路的方向,而且我不能只是指个大方向泛泛而谈,必须深入去研究detail,因为万一有一个detail现有技术不支持怎么办呢?所以大方向之类的其实是没什么用的,必须把别人怎么用你的产品才合理的每一个细微的操作步骤都搞清楚,你产品运行的每一步的逻辑什么样是最合理的。这些想的越多,你对产品的nature就会越有sense,你就越知道该往哪里走,你的焦虑就越少。
因为焦虑,就会不断的想要很快的就做出来,然而要把一个产品想清楚,刚开始的时候肯定是慢的,肯定需要不断的试错和踩坑。慢其实并不是什么坏事,因为它可以换来把事情想清楚,不焦虑。就像我health check的第一版几乎是踩着deadline出来的,按理说第一版是最简单的应该最快,但我不但考虑怎么把功能实现,我还得去考虑接下来这个产品会怎么变化,去预判变化的方向是什么,如何打造架构才能轻松应对未来的版本。所以你会看到,接下来的health check版本开发速度越来越快,即便新功能越来越多。
就我而言,如果我把一个产品想清楚了,这个产品最合理的具体是什么样子,里面有哪些技术难点,这些难点要花多久才能解决还是现有技术根本没法解决,我就能下判断这个东西合不合理,能不能做,风险在哪儿,大概要多久。当我下完判断如果能做,即便我判断它要个三五年,我也不会焦虑了,因为接下来就是一步一步的按部就班的progress了,所有的大方向,决策其实在想通的时候已经做完了。按部就班的做,更多的只是执行计划而已,而不是定计划。
马云说的因为相信所以看见,这里相信其实是指的你已经基本想明白了一切,定好了计划,想明白指的是从逻辑推理上已经确保了你能看见result,剩下来的只是时间问题了,不管这时间再长,看见result其实也就是水到渠成的执行的事情了,此时只剩下了按部就班的执行,静静等待好事发生。
所以一个真正想明白了而believe的人,是不会有什么焦虑的。有焦虑就是你还没有想明白。与其把时间花在焦虑上,不如先回头去仔细再把产品的细节想想明白。
这事情急不得。
网友评论