当开始研发一个新的产品,我们就很容易忽略一个很重要的东西:时间。这个时间并不是指产品开发的进度,而是指:产品开发总的时间。一个产品并不是一朝一夕就能开发完的,往往要经过好几个版本,甚至说经过好几拨开发人员,而产品能否成功,这个因素必须要考虑进去。在这漫漫的时间中,我总结了一些我认为很重要的经验,分享一下:
1.不能拿开发项目的心态开发产品:
很多产品之所以越走越难,往往是先期开发太草率。对此,我认为在先期,应该采用拿来主义,能够拿来所用的,我都可以一试,失败了也无所谓,因为刚开始,重工的损失不是特别大,所以我建议,先期可以头脑风暴,多拿多用,然后在一段时间之内,激活自己的代码风格,提高团队的能力。这里可能和产品还是比较远的,因为我们只是做了些和产品看似无关的事情。
2.基础工作一定要稳步推进:
很多人对个别知识往往都是认知很片面的,这源于我们的精力是有限的,不太可能对所要用的知识进行一个系统的了解。这就导致了我们工作进展总是进入一个泥潭,看似一个简单的事情,总是会被一堆问题所包围,这些问题就像一个泥浆,我们越挣扎,就会陷得越深。而这些问题的出现,一般是来源于一个不切实际的时候,去做了一个不切实际的事情。可能也就一时头脑发热,我们就开始对一个庞然大物进行突破,可能这个庞然大物会带给我们很多好处,比如技术、比如项目风格,但是因为认知的错误,整个项目停滞不前。所以一个产品团队中必须要有一个头脑清醒的人,及时地给大家喊停,一切以基础工作做好为前提。好像多线程一样,将基础工作和技术突破合理安排,有时候技术突破会推进基础工作,而有的时候,也会造成基础工作没有精力去做。
建议:在自己的开发电脑上做个版本库,将一个产品分成几个版本:基础版本、核心竞争力版本、其他版本。
1) 基础版本:将自己要做的基本功能做好,步步为营,朝着产品目标前进。
2) 核心竞争力:这个是产品未来的生存之本,现在这个社会,一个只有基本功能实现的产品,很容易被淘汰,这时候我们需要让产品有核心竞争力,这个核心竞争力就是头脑一热,忽然想到的一个技术点,可能他会花我们一些时间,可以让自己的计划停滞一下,或者让组员一起停滞一下,在认为合理的时间内,将那个技术点突破掉,增加产品的核心竞争力。
3) 其他版本:这个就是一点中提到的,拿来主义,而拿来主义往往面向的是框架、是庞然大物,所以可以将这个归属为其他版本,让这个其他版本占用自己少许时间,等大家都有时间的时候,可以拿来研究一下,如果可以,拿来一用。
3.抱团取暖:
在一个小组中,每个人都是团队力量的贡献者,不能轻视任何一个人,更不可盲目崇拜任何一个人,因为任何一个人的力量都是有限的,我们需要做的,只是抱团取暖,发挥小组的优势。比如干完我们基础工作的前提下,可以和别的组员一起进行讨论问题,让组员的进度更快、让问题解决的更快、让自己学到更多。
4.看清问题本质:
我们解决问题经常解决不了或者解决周期长的原因,是我们没有看到问题的本质,只是一味地利用我们的方式去消灭它,而忘却了每个问题都应该有每个问题自己的解决方式,而不是说回回都用debug、回回都用log,也许你的问题,已经有很多的资料,或者你的问题,你身边的人就有很适合的人,如果这些都没有,也请你在使用自己的工具之前,先想好要避免的东西。
最后,应该是自己的一点小建议:如果你工作年限已经很长了 ,请不要自卑自己每天和90后一起工作,也不要小瞧这些年轻人,因为你也是年轻人,而你比他们多的往往不是技术,而是面对问题的心态。