为什么说在当下快速迭代是伪命题?

在这个“万众创新,全民创业”的时代,一种大跃进的情绪充斥在投资者和创业者中间,进而传递到技术部门。我听到最多的一句话就是,‘你赶紧开发出来吧,否则这个点子就被别人做出来了’。无论是我们自己的项目还是客户的项目,可能都有这个问题。当有声音说‘我们还是设计好再开发吧’的时候,我们马上就会听到另外一个声音‘哎呀,先做好,然后再迭代呗’。迭代,多高大上的词啊,高大上怎么会错呢。

但实践下来,我看到程序员们不是在迭代,而是在天天救火(debug),当然有人会称这种工作叫“迭代”,因为功能还是天天在修改的啊。但有经验的工程师或项目经理也或者是产品经理请回忆一下,一个本来计划3个月的项目,最后是如何做了一年的呢?这一年的时间里面,是不是在粗糙的漏洞百出的产品或网站出来之后才真正进行思考的呢?如果一开始就说你的项目需要一年,对方能接受吗?有了这样的糟糕的经验,投资者还敢去做下一个IT项目了吗?

以“迭代”为借口,省去了设计与架构的做法是非常可怕的。会浪费投资者的钱和机会成本,浪费开发人员的时间,损伤整个项目团队的士气,如果是一个项目公司,还会大大伤害公司的口碑,甚至造成人才的流失。

如果开始的时候我们没有设计,或过于粗糙的设计,程序员做了一把椅子出来,但实际上你要的是一个长凳,然后怎样呢?迭代?!Come on,一把椅子变成一个长凳,就算成功了,我想还不如直接做一把椅子。我也见到过有一个客户,为了节约成本,找了两次soho,做出来了2个产品,外表看起来像那么回事,但他承认都有致命的bug,而程序员已经放弃了。我对他说,你这个预算没有考虑到架构和设计的成本,我也放弃,我不想浪费我们彼此的生命,活着是为了做出一些能够用的东西,我的精力和时间不是用来浪费的,哪怕你付钱给我,我也不会接受这种浪费。

一个做了一年的痛苦的项目,实际是因为要把一把椅子迭代成一个长凳的痛苦过程,但如果一开始设计好了长凳,可能只要3个月,一切都妥妥的。省下来的时间价值多少钱呢?