功能蔓延:除了厨房水槽之外的一切。你的软件有问题吗?


功能蔓延是否会让你的产品变得混乱?

为了向用户提供最好的产品,为了成为市场上的新领导者,我们很容易陷入添加越来越多功能的陷阱。

但是等等,更多的功能不可能是一件坏事,不是吗?也许我们应该把厨房水槽也扔进去。

那么,让我们讨论一下为什么功能填充不是提供好产品的途径。


什么是功能蔓延?

功能蠕变始于良好的意图。它的诞生是为了提供有竞争力的产品,甚至让最不起眼的潜在客户满意。

为了改进,功能蔓延是指添加额外的功能来模糊产品的核心目标或功能的现象。这种持续的功能扩展通常会损害您的软件。

“进度”实际上是一堆未使用的功能,使计算机不太稳定。

 -Technopedia.com

这种说法既适用于硬件计算,也适用于软件计算。(想想灾难性的诺基亚N-Gage,它曾试图集手机和游戏机于一身。)最终,大多数多余的、不需要的功能最终不会给你的产品增加长期价值。

对你的客户来说,功能蠕变并不是一种大奖:它是一种潜在的疾病,可能会杀死你的产品。


样样通,样样不精

向软件中填充功能意味着你的产品可能能够执行许多任务,但不会特别擅长做任何事情。

当你的产品甚至不能惊人地实现它的核心功能时,是时候认识到你已经陷入了功能蔓延的困境了。功能可能会吸引客户,但如果他们想让你的产品执行的每项任务都以一种平庸的方式处理,就无法留住他们。

如果你的产品没有基本功能,你就无法留住顾客,所以要保持简单。


用户体验

在追求伟大产品的过程中,你最不希望看到的就是提供给用户糟糕体验的软件。不幸的是,这是功能蔓延的常见症状。

让我们从入职开始。客户找到你的产品是因为他们正在寻找一种工具来实现特定的功能,他们已经在你的网站上点击了相关的登陆页面。太好了。

但是,当用户尝试下载试用版时,由于您开发的所有这些占用内存的特性,安装将永远花费时间。没有人喜欢浪费时间——尤其是那些可以在别处购物的顾客。您需要的是一款消费者可以在入门后立即使用的产品,而不是经过漫长而复杂的安装。

一旦(最终)完成安装,你的客户打开一个充满选项、标签和设置的产品。他们被功能淹没了,却不知道从哪里开始。提示沮丧。UI是如此混乱,以至于你的客户甚至找不到他们想要的关键功能,更不用说享受使用他们发现的酷的新工具了。

所有这些都将创造出消极的用户体验,从而导致留存率下降。你可能会短暂地吸引新客户的眼球,但你也有可能让现有客户感到不安,因为你把产品弄得一团糟,他们无法有效地使用。


选择悖论

还有一种被称为“选择悖论”的现象需要考虑,即人们被给予更多选择时,往往对自己做出的决定不满意。

某些选择是好的,并不一定意味着更多的选择就更好。

巴里·施瓦茨

简单的软件是无痛的软件。你的客户不仅可以真正使用你的简单,纤细的产品,他们可能会更乐意使用它。


成本

因为你的产品变得如此复杂,你会发现客户对客户支持的需求增加了。然后你就需要更多的员工来弥补。

因此,这种资源流失的成本最终会转嫁给客户,这意味着你无法提供有竞争力的价格。

资源消耗也会蔓延到你的开发团队。对于开发者来说,所有这些附加组件和扩展都可能变得过于混乱,难以轻松处理,他们将与客户一起挣扎。

更多的功能意味着更多的潜在漏洞,这意味着需要更多的资源,而另一种成本会推高产品的最终价格。


产品发布延迟

我们很容易被功能蔓延冲昏头脑。添加一个小功能的成本就像看着一座冰山:在表面下有更多的东西,当你发现的时候就太晚了。在你意识到之前,你的时间和资源就已经耗尽了。

想要添加更多功能的欲望会导致你推迟发布“完美”的软件,但它永远不会结束。你可能会无限期地推迟一个软件的开发,因为总有一些你可以添加的东西。但这并不意味着你应该这么做。

对于已经受到功能蔓延影响的产品,坚持最后期限也会对您的软件产生负面影响。紧迫的截止日期可能意味着无法及时完成针对混乱特性的最优雅的组织解决方案。

相反,你的开发人员必须让他们拥有的东西发挥作用,这可能会导致一个混乱的、难以理解的产品。


丧失更新可能性

更新表明你的产品仍然具有竞争力。它们还表明您仍然关心当前的客户,始终努力为他们提供最好的软件。

这些定期更新是改进软件的好方法,不可否认,这可能涉及到添加新功能。但是通过先发布基础产品,您可以给客户时间来学习如何使用您的软件。然后你可以进行用户研究,了解哪些功能可以改善你的客户体验——而不是一开始就把它们都塞进去,然后提供几乎从未使用过的功能。

如果你认为你必须拥有所有这些功能,那就考虑以附加组件的形式提供它们,让你的客户可以使用它们来个性化他们的产品,而不是把每个功能都强加给每个客户。


不要成为受害者

对于软件开发人员来说,功能蔓延是一个容易被发现的问题。毕竟,发布一款新产品却没有比上一款产品做得更好是不合逻辑的。你将如何吸引客户,或说服他们升级?

但是,通过让大多数客户感到困惑来扼杀你的软件,或者试图把太多的功能塞进你的产品,以至于你的产品永远不会准备好发布,这都是不合逻辑的。

所以,让我们把厨房水槽放在那里,回到最基本的问题。始终牢记你的核心产品目标,不要成为功能蔓延的受害者。


有用的链接

构建MVP的三大好处:为什么你需要从最小可行产品开始

软件开发和MOSCOW方法

过度设计的软件和Juicero问题