Chances are, you've heard about agile development and may already be using it. If not, your development cycle probably works something like this (in simplest form):
That model does not work so well anymore. By the time you get to market, customer needs may have changed, and that is assuming you had the design idea right in the first place.
The bottom line is that you are building your product to benefit customers, so you had best gain feedback to know exactly what their wants and needs are. Continuous feedback is even better.
Why it works
Using Agile as your development method in small, frequent iterations getting it to market faster and gaining customer feedback allows you to implement changes in future releases and continuously improve.
Releasing software in small batches reduces risk by limiting financial investment, time needed to test, find, and fix bugs, and getting your product to market faster. Once your product hits the market, you can begin to collect customer feedback and implement suggestions into future iterations. Continuous feedback and continual improvement are crucial components of finding product/market fit.
Small and frequent iterations also allow you the flexibility to learn and change your direction, perhaps even change your target market, if necessary.
You are much more adaptable when using the Agile development approach rather than being committed to a long-term project with objectives and requirements basically set in stone. It is much easier to build a product up than it is to break it down. Adding functionality piece by piece is far more achievable than backtracking without breaking what you've already built as a cohesive whole.
Putting it to work for you
Start with the minimum set of standards your application needs in order to be a viable product before you start building in "features." In this way, you will have a base to work from and not allow "feature creep" to take over.
Once you have your MVP (minimum viable product) you can begin to market it, create demand, and gain customer input. After that, you can begin to improve and scale your product in future iterations.
Do not try to be the "ultimate" solution for every single problem out there. Prioritize and focus on those features that your customer needs and can easily utilize.
Finding your Fit
Challenge your assumptions. You may think you know what your customers want/need, but you may be way off base. If your product does not generate interest and satisfy at least 40% of your customers, you have not achieved product/market fit.
You want customers to feel the value of your product and rave about it. You want great customer and industry reviews in prominent publications. You want your product to sell as quickly as you can release it. If these things are happening, you know you've found your fit.
Sometimes your product just can't find its fit. It just is not what customers are looking for. Dig a little deeper to find out what their specific needs are and decide if you need to dump what you've built and start from scratch. Interview potential customers, again. Find out what their pain points are. Browse online forums. Create a variety of user stories and solutions to solve your customer problems. Show them a prototype. Validate whether these new solutions will solve their problems. Since you've been working in an Agile development scenario, you won't have invested too much money and man hours to ditch what you've got and start over. Ship a Minimum Viable Product, measure the customer reaction, and decide whether to continue to develop the product or change the direction. By this time, you should have nailed your product/market fit and won't need to drop it altogether a second time.
Remember that every problem can have multiple solutions. Your job is to find the most effective solutions and implement them.
So you've shipped your product out to numerous customers who are using it and loving it!
Do not rest on your laurels. Revisit your feature set and determine if it still fits for your customer base. If there are things that aren't being utilized, drop them and focus your attention on improving those that are being used, and adding new features that have been requested.
Evaluate your product using the following questions as a guide:
- How much do your customers like your product? Is there anything they need that your product hasn't addressed?
- How easy is it to use? Is there anything you can do to make it more accessible?
- How many features does it have? Can you add new features that bring extra value to existing customers and attract more?
- How many problems does it solve for your customers? Can you offer further solutions without adding "bloat?"
- How quickly does it work? Can you optimize it for speed without losing any functionality?
- How does it look? Is it polished, or could the user interface be spruced up or cleaned up aesthetically?
- Are there any bugs or simple annoyances that could be eliminated?
- Is the product optimized for mobile applications? With more and more customers accessing applications and information on mobile devices daily, this is crucial.
Do not try to improve everything at once. Tackle bits with each iteration, continually improving your product to satisfy the market.