Designing software can be very expensive. Programmers can cost hundreds of dollars an hour and those hours will add up. This is a difficult cost to absorb for many companies’ research and development budgets. To make matters even worse it is hard to predict the success of a new software package. Lots of times it just flat out does not work, no matter how many man hours are put into it. Other times the market does not accept it and it fails to gain the popularity necessary for profitability. There is no way to predict what products are going to be successful no matter what resources are poured into them and no matter how good they look on paper.
That is why it is often times a good idea to first develop a Minimum Viable Product or MVP. This is a product that is essential test pigeon for the full product or prototype if you will. It is a basic version of the end product with its basic functionality. This can test two things; first to find out if the product works in reality and second to see if the market will accept this product. This approach will also provide real world data that can help guide the future development of products.
Developing an MVP is by no means a walk in the park. Difficult decisions have to be made about the strategy and approach companies want to take. They need to make sure that it both works and is a good test for what they have in mind as their end goal. Below we have made a list of ten things that serve as best practices in MVP development.
1. A Clear Goal
You need to know what this product is supposed to do, how it is supposed to do it, and who you are targeting as the customer base or audience for this product. This will give you a clear focus going forward. Knowing the customers’ needs and knowing how to meet them is the basis for any successful product line. Having this step down will give you a clear azimuth going forward.
2. Know Your Functional Requirements
Since the purpose of an MVP is to be kept to a minimum it is important for you to know exactly what is needed to meet the customer’s needs. This will allow you to accurately budget and schedule going forward. It will also be an early tea leaf if the plan is viable and, if not, can be a good stop loss point.
3. Don’t Put All Your Eggs in One Basket
As stated earlier many product ideas go into the dust bin during development. If you are only developing one MVP or prototype for a given project this can quickly send you back to the drawing board. That is why it is a good idea to develop multiple prototypes concurrently. That way if one fails you have other options and increase your chances of midwiving an idea all the way from conception to deployment.
Have Your Business Plan in Mind from the Start
4. Have Your Business Plan in Mind from the Start
A lot of times developers underestimate the gravity created by the first version of a product. They think they can just put a model up that is not addressing revenue and add the revenue generation later. While this sounds ok in theory, in reality, it is hard to take something that you were giving away for free one day and get people to pay for it the next. That is why it is advisable to make sure your product makes business sense from the start.
5. Have a Long to Medium Term Market Perspective
It is important to know that markets evolve. Keep in mind that it is a living breathing thing. Do not get caught up in current market conditions so much as looking at the longer term trends. This will allow you to be ahead of the curve and on the cutting edge in your development. Instead of developing products that would have been great yesterday.
6. Communicate and Share the Plan from the Start
It is a good idea to gather all the stake holders together from the start and communicate the plan and lay out of who is going to be in charge of what. This will allow people to understand how their individual task fit into the larger picture and plan. It also sets the tone that will allow for a creative collaborative environment that will be needed for the project’s eventual success.
7. Stay Motivated
The development process can seem one step forward and two steps back. It is a long road taking an idea from conception to execution. That is why it is important to keep in mind the elements of the project that you and your team have a passion for and why you wanted to create the program to start with.
8. Set Priorities
In the heat of development, you can feel that you are being pulled in a dozen different direction and it can feel this same way for everyone on your team. That is why it is important to have a clear set of priorities and essential task. This will act as a guide for you and your team as you make decisions on how to spend time and resources along the way.
9. Go Live
A famous military saying goes that every plan seems great until the first contact with the enemy. Software programs especially those for the general public or outside customer base are the same way. Programs can seem great to all the inside parties but it is only when the general public or end users are exposed to a plan that leaks starting showing from the holes in your plan.
10. Make Adjustments
Once you go live it is important to have a process to quickly identify glitches and fix them. This agility is vital in retaining the momentum with a new product. If people start to think something just does not work they may leave it never to come back. However, people, for the most part, understand that there will be hick-ups with a new program but that graciousness will quickly run out.