Every software product starts from an idea. A conceptualization of a solution to a defined problem. Brainstorming and ambitiously aiming for the top with your software project can be very exhilarating, but it is important to remember that in the end, you want to land with a working product.
So, how do you go from “I have a great idea for an app” to the actual software development phase in a smart way? Proof of concept might be just the right answer.
What is a proof of concept?
In short, a proof of concept (PoC) is evidence of the feasibility of a software product idea. It helps you document the idea in detail by, for example, explaining how should the idea be transferred into a software product to become marketable, what will be the target audience and market for your product, or what particular business problem will it solve. Although proof of concept is a method widely applicable across different fields, from marketing to healthcare, the use of proof of concept in software development can help in various aspects of the development process.
A good proof of concept should identify what the development process will include, which are the core functionalities that the MVP entails, what resources (including human resources) you will need and what are the potential risks that can make your product fail.
Proof of concept should also include a proposed tech stack that will ensure the technical viability of your software idea including further development and software maintenance.
Why do you need proof of concept?
To create a proof of concept you have to essentially put out on paper why your idea would be successful in the market. You can compare it to a sort of business plan for a software idea. For example, you surely can tell what type of users are the target market from the get-go but the act of creating the proof of concept will help you define and flesh out your idea with important details that can make or break your software product.
First of all, you have to be as sure as possible that your idea is as feasible as you think it is. Is your budget big enough? Is there a demand for your final product? Is the demand high among the potential users and are there any other potential solutions and competitors that will fight for the same user base as you? Where and how exactly will your product generate income and what will be the projected costs of the software development and deployment of the fully functional solution?
This last part is crucial if you want to attract investors to your project. Of course, it is very hard to give accurate data on a not-yet-existing software product, but creating an essential roadmap, market predictions, and monetization schemas will provide meaning that you have indeed thought your idea through.
Moreover, a very important aspect of the PoC is that it should enable early-stage focus group testing. A lot of companies, especially startups, fail to see what their potential users really want and fixate on what they think they want.
Taking your proof of concept and showing it to the intended users might give you some very valuable feedback right at the beginning of the software development and allow you to avoid unnecessary pivoting and costly backtracking in the later stages.
How do I write a proof of concept?
Although there is not one simple procedure for creating proof of concepts and there are no strict rules regarding the contents and structure, your end goal is to have very robust and detailed documentation for your software development.
A “successful” proof of concept will guide you from the first business idea up to the prototyping and MVP or even up to the deployment of the early version of the final product. To this end, there are some general structure elements you can implement in your proof of concept to make it as valuable and specific as possible.
Start with validation
More often than not an initial idea for new software is founded on assumptions. The key is to find evidence that these assumptions are warranted and your proposed solution will address real-life problems. This is crucial, as missing this part in your proof of concept might lead to an overly costly development process that may well land you with a tool that serves no purpose and has little to no actual value.
To escape that grim scenario try to answer the following question with your proof of concept: What is the added value? What are the success criteria for your software product? How big is the target market? Do you know what are the real market needs? Is your idea practical? Are there any comparable solutions or software systems that address the same concerns? Have you identified the resources you’ll need and do you have access to them?
Moreover, try to identify and address as many pain points as you can. Every bit counts, as long as it is founded on actual data and valuable feedback.
Collect feedback on technical feasibility and development process
If you already identified the pain points you might want to work on the potential solutions with your software developers. Including a technical expert from the very beginning of your ideation process may be a good idea, as they often might tell you right away if something is possible or not.
Moreover, don’t disregard your development team’s opinions. There is a good chance your new software system is similar to some older project or that one of your experienced developers already worked on a similar software solution in the past.
Product ideation and brainstorming
It is generally a good idea to brainstorm and ideate on your idea at an early stage of the software development process with your development team. The ideation process may sometimes result in some surprising conclusions and bold ideas – the goal is to clarify your assumptions and crystalize the initial idea as much as possible even if some parts may change in the process.
Assess the competition
Don’t forget to analyze the competition. You can sometimes find what all of the other software products currently lack and get your killer feature idea. However, please mind that there might be a valid reason why all those products are missing those features other than the lack of proper resources like development cost, product design, or low actual demand.
Proof of concept vs. prototype
Although proof of concept and prototypes fulfill a similar purpose – gathering valuable feedback on your software product idea the methods are quite different. As said before, proof of concept is a thought experiment trying to prove an idea’s feasibility in real life.
Prototypes naturally come after the proof of concept and are a preliminary version of the product that aims at testing the solution’s ideas further before going for full-fledged product development. Prototypes are often rudimentary versions of the products that have all the main UX/UI elements in place while marking or simply omitting some of the more deliberate and complex elements on the software side.
It is also worthwhile to involve the same focus target group that gave you the feedback on your proof of concept in the testing process of your product prototype.
Proof of concept, prototype, and MVP
The core difference between an MVP (Minimum viable product) and a prototype is that an MVP is a fully-functional software solution that, from the development perspective, has finished core functionality and addresses the main pain points identified during prototype testing. It can be a simple web application or a mobile app, it might be lacking in some fields and optional features but it’s ready to be released to the wide world and tried by the target audience.
The MVP allows you to test your product on a bigger set of users, including those that haven’t had any previous encounter with your software, and will be more representative of your market audience as well as market demand.
More opportunities to gather feedback and the ability to test every new idea while simultaneously earning advertising your web application or platform to the intended audience and potential investors are the dream of all agile project managers. The iterative process of introducing new changes often and in small batches helps in delivering a successful product while earning.
Pitfalls of proof of concept, prototype, and MVP
With all the positives, there are certain dangers to the use of proof of concept, prototypes, and MVPs.
First of all, the natural path of Proof of concept -> prototype -> MVP shouldn’t be changed. It might be very enticing to jump from the proof of concept phase straight to the MVP, but it is often very expensive in the long run, as the amount of feedback data you can gain from prototyping can save you a lot of time and money while building the MVP. Similarly, a poorly tested software proof of concept and prototype will, more often than not, lead to a faulty MVP.
MVPs themselves have a lot of problems, especially in the fast-paced world of startups. In theory, MVP is the smallest amount of work you can do to confirm your hypothesis. In practice, the minimum viable product should be a bare-bones version of your final product idea that needs minimal software development. However, the important distinction is that it should really be viable – that it is adding value for the users. In that context, it has to be an actual product, not a concept of a product or a functional prototype.
What comes after the proof of concept development process
As mentioned before, proof of concept is the first phase. In case your software idea was tested and the proof part of the proof of concept is there, you can go to prototyping. Create a functional prototype, that is, one which can test the designed flow and that can give you useful user feedback about communication, UX, and UI aspects.
Please mind that if you don’t have designing or coding experience this phase of software development might be the best time to hire an agency well-versed in software development services. Although you might be wary that your idea will be stolen or too expensive in reality you have little to worry about.
First of all, any leading software development company will secure your rights to your product with a contract. Moreover, if they find your software idea very enticing they might want to become your partners which in turn will massively lower your personal costs.
Subsequently, while software development projects are generally costly, making a prototype with an outside company will be still much less of a cost than recruiting and running your own design and development team.
When your prototype is ready and tested, you have some solid ground to work on your MVP. While PoC scope should already highlight the core features that “add value” and legitimize the development in the first place, and prototype tests the concept in “flesh”, MVP is the embodiment of the core concept that has a real business impact. Nonetheless, MVP is still a part of proving your hypothesis, even if some actual software development and coding are involved.
Gathering the feedback data from your MVP naturally leads to building a roadmap for your product development. It is a very specific process, especially in mostly iterative development. Even though some of the proposed solutions might change with time (and more feedback) a good roadmap built on solid feedback will allow you to plan and visualize your long-term goals.
Proof of concept in software development – the main takeaways
Proof of concept is a very valuable tool in the modern software development process that allows you to conceptualize, flash out, validate, and test your business idea before writing even a single line of code. You may treat it as a solid foundation for your product.
However, many startups skip the proof of concept phase and go straight to prototyping or even MVP. This often leads to costly redevelopment or a need to pivot mid-way – both things that could be omitted with the use of a good PoC.