8 发布迟缓 (Slowness in Launching)
所有的公司,不论大小,在完成软件之前都会有一段困难时期。从某种意义上说,这是一种固有的特性;软件的完成度永远都是在 85% 左右。你需要有极大的毅力来推动软件的完成并向用户发布。[3]
初创公司总是用各种各样的借口来为推迟发布辩解。这些借口跟人们在日常生活中为自己的迟到所找的理由大同小异:总是有一些事儿要在这之前办好。也许吧。不过假如你的软件已经全部完成,按个按钮就可以发布的话,你还会等吗?
尽快发布的一个目的就是迫使你完成应该完成的工作。一个软件,只要还没有发布,就不算真正完成。不管你认为这个软件已经如何完善了,在临发布之即,总还是有一大堆的事儿要做;这种情形已经司空见惯了。发布的另一个目的就是,只有通过用户反馈,你才能真正明白要做什么。
有一些问题,同发布延迟是有联系的:工作节奏太慢,没有真正搞清楚问题,惧怕同用户打交道,害怕别人的评论,分心过多,过于完美,等等。解决这些问题,只需要推动自己尽快发布一些东西就可以了。
9 发布过早 (Launching Too Early)
发布过早的情况比发布迟缓要少见得多,不过并不是没有。发布过早的危险是有可能毁掉了你的名誉。早期的使用者在试用了你发布的东西后,如果发现什么不满意的地方,他们可能就不会再来了。
如果你想发布一样产品的话,最低要求是什么呢?我们建议初创公司认真考虑自己想要做的是什么,确定其核心内容;这些核心内容既要本身就能够有用处,又要能够作为基础,在此之上逐渐地拓展成一个完整的项目。一旦确定了这些,就应该尽可能快地完成它们。
我和很多其他的程序员就是按照这一办法来编写软件的。思考一下总的目标,然后动手编写一些有用的最小模块。这些模块早晚是要写的,所以不用担心作无用功。在大多数情况下你会发现,实现这些模块既能够在精神上获得鼓舞,又能够帮助你对余下的部分看得更清楚。
其实,你需要打动的那些早期的试用者们是很宽容的。他们并不期待一个新发布的产品无所不能;但是,多少它应该有点儿用处。
10 没有明确的目标用户 (Having No Specific User in Mind)
如果你不了解用户,就不可能作出他们喜欢的东西。在前面我曾经提到过,大多数成功的初创公司,都是从解决创始人遇到的问题开始的。这里面有这样一条规则:你所创造的财富是跟你对问题的理解程度成正比的;而你最了解的就是你自己的问题。
这条理论反过来说就是:如果你试图解决一个你不懂的问题,那无异于往自己的脖子上套绞索。
但是还是有很多创始人,喜欢假定存在某些用户愿意用他们的产品,至于这些用户会是谁,他们也不很清楚。那些创始人需要这些产品吗?不,他们不能算是目标市场。那么会是谁呢?年轻人?对本地活动感兴趣的人?还是商业领域的用户?什么样的商业领域?加油站?电影制片厂?还是军工采购商?
你当然可以为与你不同类型的用户打造产品。我们就曾这么做过。问题是,你必须认识到你踏入了一个危险地带。这就好比你在借助仪表在飞行:你自己的直觉将帮不上任何忙。因此你的每一步操作都必须小心谨慎,并且要经常查看你的仪表。
这种情况下,用户就是你的仪表。你必须遵循“从实践中来”的原则。任何主观猜测都是不允许的;你必须接触用户并考察他们的反应。所以,当你为别人而不是你自己设计产品的时候,你必须去说服一些特定的用户来使用你的产品;如果你做不到这一点的话,那么失败是必然的。