软件需求:如何找出用户想要什么

一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / Java 学习路线 / 一对一提问 / 学习打卡/ 赠书活动

目前,正在 星球 内带小伙伴们做第一个项目:全栈前后端分离博客项目,采用技术栈 Spring Boot + Mybatis Plus + Vue 3.x + Vite 4手把手,前端 + 后端全栈开发,从 0 到 1 讲解每个功能点开发步骤,1v1 答疑,陪伴式直到项目上线,目前已更新了 204 小节,累计 32w+ 字,讲解图:1416 张,还在持续爆肝中,后续还会上新更多项目,目标是将 Java 领域典型的项目都整上,如秒杀系统、在线商城、IM 即时通讯、权限管理等等,已有 870+ 小伙伴加入,欢迎点击围观

在我的上一篇博文中, 我们讨论了不同类型的软件需求。但是首先你是如何 生成 它们的呢?实用策略呢?你怎么知道你是幻觉还是真的偶然发现了大众可能想要的东西?您如何了解这些隐藏的要求?

来吧!

虚心询问

这听起来可能太简单了。找出用户想要什么的最佳策略之一是实际询问他们,然后仔细聆听。如果您有现有客户并经营一家在线公司,您肯定已经通过电子邮件、论坛或其他社交媒体渠道获得反馈。所以剩下要做的就是倾听。

有一个非常有趣的观点需要考虑人们为什么不问(未来的)客户问题:因为他们害怕第一次没有提供完美的解决方案。害怕这会让他们处于不利的聚光灯下,因为他们应该是无所不知的专家——但突然之间他们不得不征求反馈/信息/建议!

不要犯那个错误。如果您征求他们的反馈意见并让他们的生活更美好,您的用户会很感激。这不是关于您一直神奇地知道一切。

那么哪种类型的要求最适合谦虚的询问:是的,自然的。

与用户坐在一起

隐藏的要求呢?如果用户并不真正知道他想要什么怎么办?

很简单:你需要一个技术局外人与用户坐在一起一段时间,观察他,了解现有的工作流程,然后尝试改进该工作流程。这需要被观察者有一定程度的信任,并愿意在一天中的大部分时间里有一个“追随者”并向他们解释事情。

此外,您需要一名技术人员,他不仅愿意谈论“技术”,而且愿意谈论领域和用户体验,并且足够敏锐地看到现有工作流程中的这些改进并将其转化为软件需求。

您会惊讶地发现,您可以通过观察某人学到多少知识,以及可以对日常业务工作流程做出多少改进。

精益创业

但是,如果没有现有用户,没有现有工作流程并且您正在从头开始构建东西怎么办?

实际上,您可以而且应该始终了解您的用户,因为他们可能会在论坛或社交媒体上发布有关他们的软件体验和痛苦的信息。但如果你真的在谈论全新的创新,那么确定用户是否需要你的软件的唯一合理方法是构建它(或者更确切地说是它的最小可行版本),给它定价然后出售。

销售将成为您的用户反馈。为了解决这个问题,您需要构建软件的小部分和片段,迭代周期短,经常上线而不是尝试为每种类型的软件构建神奇的,可以做的一切。

软件开发人员通常处于功能狂热模式,因为那是他们习惯做的事情:构建东西。越多越好。但是,与其对每个功能都说“是”并尽可能多地构建,您应该默认对每个功能说“不”,并且只承诺那些对您的用户有直接影响的功能。 (然而,这是一个很大的话题,我无法用一段话来表达它。如果您有任何想法或问题,请给我发电子邮件)。

下一步

如果您喜欢这篇文章,请注册 我们的时事通讯 或在 Twitter 上关注 @MarcoBehler 。一如既往,敬请期待本系列的下一篇文章!