您如何确定哪些功能足以启动?我们应该在没有好东西的情况下使用“裸功能”启动吗?还是我们应该添加“花里胡哨”?
你如何决定?我们真的会被突然暴露“灼伤”,还是突然暴露更像是一个神话,暴露是缓慢而渐进的。
欢迎您提出建议。
您如何确定哪些功能足以启动?我们应该在没有好东西的情况下使用“裸功能”启动吗?还是我们应该添加“花里胡哨”?
你如何决定?我们真的会被突然暴露“灼伤”,还是突然暴露更像是一个神话,暴露是缓慢而渐进的。
欢迎您提出建议。
有两个教条要避开:
在完成之前不要释放。
和
一有任何东西就释放,无论多小。
我喜欢后一种方法,但需要有一定的常识。任何版本都有开销,具体取决于您的组织和产品。
不要误解我的意思:尽早发布通常具有很大的优势,特别是因为我们从来没有完全正确地获得业务需求,但是您需要权衡这些好处与发布的实际成本。这是我喜欢在“真实”版本中穿插内部版本的原因之一:它们的成本较低(如果非零),但可以让您的开发过程诚实地进行。
最后,我想我最终得到了经典顾问的回答:“这取决于”!
我同意,只要确保你已经过测试!小的承诺比大的有错误更好,而且不履行你的交易。
将 BETA 添加到您的徽标不会使错误更容易接受。
如果您有幸有选择,请在您拥有安装例程和一个有用的功能后立即发布。
早发,常发,让你的用户告诉你他们喜欢什么,看看37Signals的小海报男孩是不是很漂亮。
根据我的经验,通常最好在完善核心功能后立即发布。如果某项功能对客户或目标受众非常重要,那么它就不再属于花里胡哨的功能,而应该被视为核心功能,无论它实施起来多么容易,或者它对产品的影响有多大。
像大多数事情一样,我的回答是'这取决于'......
你的软件的目的是什么?如果它是针对具有特定需求的特定用户集的应用程序,那么您需要确保满足足够的这些需求,以使人们值得使用您的系统(请记住,大多数人相信一次被咬,两次害羞 - 你不会有第二次机会)。你会买一辆不左转的车吗?
如果您的应用程序更通用,并且您的目标是来自更广泛基础的特定用户群(通常是技术用户),以帮助您沿着敏捷路线发展您的应用程序,那么请尽早并经常发布。许多这些类型的系统不会根据时间计划发布,而是根据功能计划发布,即当分配给 2.1 的所有票证都标记为完成或丢弃时,将发布 2.1 版。
我还要说这取决于市场。如果没有一个(甚至是简单的)杀手级功能,我不会发布产品。即使在早期版本中,您也必须建立一些声誉。
我们真的会被突然暴露“灼伤”,还是突然暴露只是一个神话?
您是否在媒体上看到有关Cuil.com推出的新闻?他们的新闻稿吹捧它是一个会杀死谷歌的搜索引擎,但简单的搜索却产生了惊人的糟糕结果。(例如,搜索“COBOL”告诉您没有 COBOL 的结果。)公告中突然爆发的流量也使他们的服务器不堪重负。我会说他们在发射时经历的突然暴露被烧毁了。
有人称其为“好莱坞式”发布,因为它类似于电影的发布方式。这种发布方式有一些好处,你并不总是从逐渐积累的用户中获得。然而,这些好处中的大多数都被第一印象非常重要的事实所抵消,并且产品通常的复杂性使得很容易出现错误并给大多数潜在用户留下糟糕的第一印象。
问题是,发射什么?
如果你在做内部软件,你希望尽早让用户参与进来,所以给他们一些快速的东西是个好主意。
如果您正在做开源,请尽早并经常发布,并为未来的开发制定路线图。
如果你在做收缩包装软件,你需要给用户一些物有所值的东西。不要指望向他们收取实际上使软件有用的升级费用,除非您是一家已经这样做的大型成熟公司。除非您被称为此类软件的主要来源,否则没有人会在被烧毁一次后为您支付两次费用。
如果你在做 Web 服务,你需要在发布时提供一些有用的东西。它可以很小,但它应该给用户一个回来的理由。否则,即使您已经实现了跳舞的大象或其他什么,它也是“Foo.com 没有任何好东西,不要去那里”。您需要让用户对您的网站感觉良好,并且最好对您接下来要做什么感到好奇。如果你要发布一个飞溅,请确保很多事情都在工作。
如果你在做嵌入式,你会在软件足够接近完美并且每个人都同意的时候发布,而不是更早。