User driven development
An incredibly common problem that causes software products to fail is a weak of confusing on reaching user expectations. Your “user” can an external paying customer or an employee in your own company who has to handle your software. Having happy users should be your highest goal and to be solved first while development. We tend to focus too much on things like strategy, quality, processes, business model, KPIs or overall the initial idea.
The problem is about that you take care about “your” idea and how “your” plan to solve it. All your ideas or the ideas from people you work with should be considered as wrong by default. It’s all about finding out what your customer (your user) really takes care about and how they want to have it.
The true and common stories behind great products are always the same. The companies behind them expected to be wrong (with their assumptions) and focused on testing their value proposition and validating their value hypothesis. They focused on founding their product market fit.
I’ll introduce you several methods to get closer to your users while development takes progress. It’ll help you focus on the right features while preventing moving the wrong way. Because knowing your users well is all about decision making.
- Build your MVPs as paper-prototypes and graphical mockups instead of using real programming. Just reach the minimum level of features and invite random people or meet them on the street or on events to interact with your mockups while watching them. Let them ask questions and let them speak out their thoughts loud. This should give you an impression about not yet well performing features and where to focus.
- Organize user-acceptance tests as on-side and personal interviews (in a Usability lab) by providing an environment where users are studied interacting with a system for the sake of evaluating the system’s usability. Invite random people who never used your software after each (bigger) milestone and make brainstorming sessions with your team after each session is finished.
- Surveys: Use online-serveys for all kinds of graphical and marketing material as well as screenshots about app-usability. Survey-platforms allow you to scale and reach specific target audiences very easily.
- Softlaunch your app or website in specific testmarkets early in development progress without a finished and well-polished product, but let real customers interact and use it.
- Use analytics software and take time to define and implement custom events in your software to facilitate easy evaluation with the goals to identify bottlenecks and to monitor your sales funnel.
- Use A/B testing integrated in app-stores or with the help of platforms for your website. Don’t only test different images or text, but entire features and how they influence user engagement.
- App store feedback: Listen to your ratings and comments.
- Provide easy one-click in-app feedback possibilities like a formular or stars-rating and give incentives to send feedback. Reward users and letting them know, you take their opinions honest by showing them progress.
- Let your early adopter users become a part of your team. Invite them to your slack and give direct contact to you while letting them know the progress and prioritization all the time. Don’t hide communication to them, but integrate them in your processes to maximize their motivation. Although it may seem a lot of effort in the first place, their long-term feedback could result in a much better product.
- Provide community channels (like ticket-system, support-email, forum, blog or slack) and pitch your ideas for upcoming features to ask for feedback early on in stage of progress.
- Create personas and check regularly if real engagement they still match you persona-expectations. If your target audience unconsciously changes, so maybe your product has to do, too.
- Make your software Open Source for more technical products and target audiences to let your users participate directly and immediately
- Provide APIs for your Software to let other companies extend your ecosystem with their own ideas (like facebook’s developers API, or APIs for various big platforms like Google Suite, Github or Slack)
- If your product is a game, allow modding and mods to extend your ecosystem and support them by providing tools, level editors and documentations.
- If you build a game, build around a sandbox with specific rules and let your users use their creativity (e.g. Garry’s Mod or Minecraft)
Hope, this post could give you some inspirations and let me them, if you know more methods to improve decision-making.
Inspired to write about this topic by Kevin Lücke