Done is better than perfect

前些天在微博上看到这么一句话:

@霍泰稳:和同事今天聊到一个很有意思的话题:技术人员通常都会追求完美,然后时间就在追求的过程中蹉跎了,生意人讲究够用就好。所以Facebook的那句Done is better than perfect,应该不是哪个CTO或者架构师想出来的,而是某个投资人或者管理层人员说的。

这个真心赞同,写个程序,写个方案,写个ppt,时间就在追求中蹉跎了。这就和架构设计一样吧。事情不可能做到完美,总是要trade-off。认清关键风险才是真所在。后来昨晚睡得时候还在想这个问题。中午就想明白了,这完全就是瀑布式开发和敏捷开发优劣啊,都想想预先定义所有需求,做好所有准备,后续就可以按照定义好的需求实施。而瀑布式流程开发这早就被证明是不可行了。当然敏捷开发先原型,再快速迭代会成功。程序猿学艺不精毁一生啊!

 

以前沉迷技术的时候总是沉迷于一个误区,看到一个很新,很NB的技术,就恨不得在所有项目里面都用上,当然现在大家知道,基于成本,进度,稳定性,甚至是厂商支持的因素,实际在项目中大家还是相对保守,但是技术从来都是需求驱动的,当旧有系统出现瓶颈,甚至已经到了原有架构无法维续的地步的时候,刚才那些困难马上就都不存在。moore的这个图真挺好,算是第二摩尔定律?

 

一个技术产品的生命周期,作为呃 innovators和early adopters使用一个不成熟的技术需要冒相当的的风险,但是为了解决迫在眉睫的问题两者都必须冒这个风险,没有创新,很可能决定了企业的生死存亡。early majority 对此项技术采用的急迫性相对降低,但是对技术上的采用相对大胆。成熟之后到了main street,变成大路货了,保守派们也终于跟上。

技术的方向在哪里,不是看目前发展到什么阶段,而是读懂它将会往什么方向发展,还是那句老话,技术完全是业务需求驱动的。一些由于当前技术限制现在看来大胆,狂妄,不切实际的想法,只要是人的自然需求,那必然最终会实现。

最近在琢磨云计算和大数据,sharding也好,cluster也是,核心都是‘divide and conquer’ 这个经典理念。’services oriented’ 这个就不用说了,也是很早就在提了。既然大数据发展到今天是互联网,移动通信迅速发展的自然演进。那下一步技术方向?我觉得是目前还不十分成熟的实时流计算。I Want it now! ,这才是人的自然需求,为什么要等,我现在就像看到结果,知道现在正在发生什么。以前看到新技术,但是那时候都是看到别人实现了,开始眼红,就想跟风做,但这种最后只是想想,其实很难落地,最后就变成空谈。但是这次不一样了,先从基础开始,也是是不太先进,但是Done is better than perfect不是吗?小步快跑。。

 

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据