If you follow the Silicon Valley startups news, you’ve probably heard about the rise and fall of Elizabeth Holmes and her brainchild, Theranos. To cut the long story short, the former Stanford University student came up with an idea of a medical device capable of running a wide range of laboratory tests with the use of no more than a single drop of blood – and that’s within one day only. Sounds exciting, doesn’t it?
It surely did to investors and pharmaceutical companies who noticed Theranos’ potential to solve a number of issues that occur during typical testing blood samples, such as insufficient freshness and the risk of contamination of the sample or the sheer length of the process. In 10 rounds of funding, the company has raised a total of $1.4 billion. The problem was, however, that the Theranos technology did not work as it was claimed to at all which led to the company closing in 2018 and fraud charges being brought against its founder.
Why are we mentioning this story, which is considered to be one of the most infamous financial collapses in BioTech? Because that’s a perfect example of how the Proof of Concept (or lack of thereof) may determine the success of a given company. Holmes’ idea was disrupting indeed. What it lacked, however, was a series of clinical trials and an in-depth analysis of data. In other words, it lacked validation and demonstration of feasibility, which has led to ignominious failure.
Now that you’re aware of the fact that a Proof of Concept can make or break a business, let’s dive into the topic. Reading the following paragraphs, you’re going to learn what a PoC is, how it compares to an MVP or a prototype, when you should decide on it, and how it can benefit your venture.
Proof of Concept: what it is and what it’s not
When discussing stages of software development, you may sometimes come across the terms Proof of Concept, prototype, and MVP all said in one breath or even used interchangeably. For a layman, there might not be a significant difference between them. For the person involved in a software development process, however, it’s worth knowing the difference in the meaning and function of each of the three concepts. Let us, therefore, start with a couple of definitions.
Proof of Concept (PoC)
Proof of Concept can be considered as a very first step on the way to launching a functional product that will simultaneously cater to the needs of its target audience and benefit those involved in its creation. It’s not yet a product because it doesn’t call for exact solutions concerning scalability or performance. It’s more of an exercise in understanding what your project is all about.
In other words, PoC is supposed to test whether the product you dreamt up is feasible with a minimum resource involvement. As such, a proper Proof of Concept should primarily provide you with an answer to the following question: is it technologically executable? PoC is all about subjecting your ideas to a reality check – and in some cases, bringing you back to earth.
Whereas a Proof of Concept allows you to run a relatively quick reality check on the feasibility of a feature or a product, a prototype is more about bringing the idea to life, evaluating its usability, and gathering feedback. The difference between the two lies also in the level of complexity as the latter is basically a working model of the application focused on its look and feel.
Prototyping can be conducted in any way you want: on paper, digitally, with the use of a 3D printer... The bottom line is, it should involve representatives of the product’s target audience and gather user feedback for further analysis. This way, it can not only test the software’s usability but also prove that your idea is a promising well-thought-out opportunity worth funding.
Minimum Viable Product (MVP)
Finally, there’s also a Minimum Viable Product. The term was coined in 2001 but it wasn’t until the publication of The Lean Startup by Eric Ries that it gained truly immense popularity. According to Ries,
the minimum viable product is that version of a new product which allows a team to collect the maximum amount of validated learning about customers with the least effort.
The word “minimum” means here that an MVP consists of nothing more but the core values which, although it’s easier said than done, must be selected at this point. “Viable”, on the other hand, indicates that it’s functional enough to be released to the public and tested in the actual market conditions. The insights gathered in this process are to help you identify user pain points and address them accordingly in the following iterations.
Proof of Concept vs prototype vs Minimum Viable Product
Although similar at first glance, the three concepts differ considerably, especially in terms of purpose each of them serves. The choice which one to start with depends on many factors, including your current state of knowledge or the budget you can spend on a given project.
PoC: Is the business idea technologically feasible?
Prototype: How will the product function and look?
MVP: Does the product fit the market and answer its prospective users’ needs?
You can think of a Proof of Concept and a prototype as tools that will give you a broader perspective on the project and allow you to test certain assumptions empirically. Matched with market research and a comprehensive business plan, they can make a thorough analysis of the project. An MVP, on the other hand, will show you whether there is a demand for your product or not. And although you may wish to go full PoC → prototype → MVP circle, it’s not always necessary. In a moment, you'll learn why.
When and why should you consider a Proof of Concept?
Try to recall all the applications or services that gained ground in the last five or even ten years. You’ll surely notice that while a couple were groundbreaking in offering unmatched experiences, others hit the jackpot due to offering an improvement to what was already available on the market. Now think about your business idea – which group does it fall into?
If you have in mind a greenfield project, meaning there are no similar solutions available on the market and there is no competition to look up to, Proof of Concept is the answer. While a staggering number of 6.5 million startups are born every year, only 10% survive to enjoy the long term success. The reasons for these failures differ: for some, it’s because of not fitting with the market need, for others it’s all about underestimating the cost of launching their product. But there are also entrepreneurs who simply tilt at windmills because the products they envisioned are not technologically feasible at all. Starting the software development process with a Proof of Concept is the first thing you can do so as not to follow in their footsteps.
The above-mentioned scenario, however, is not as common in the IT world as the one that involves taking an already existing business idea to the next level. In this case, PoC is not a must. After all, your competitors have already proven the feasibility of a given application and right now, you can simply learn from their mistakes. To outdo them, however, you’ll need an additional unparalleled feature, whose uniqueness may call for a Proof of Concept. Whether you make it a separate project or part of the SCRUM sprint is up to you. What matters, however, is that it will give you a data-based insight into the time and resources needed to break into a competitive software pool.
What are the benefits of a Proof of Concept?
By now, you should have already realized that PoC has the potential to pave the way to success. Nonetheless, to be more precise, let us single out all advantages of this approach to software development:
- Hands-on experience
When theorizing, it’s easy to make your business idea resemble a Frankenstein monster. You just continue adding new functionalities in hope of addressing all pain points that your customers may have. A pitch deck or a standard demo may not be enough to expose the flaws of your vision. A Proof of Concept, on the other hand, makes you think about real-life limitations and viable solutions, even if it’s conducted within a limited time and with the help of no more than two subject matter experts.
- Risk mitigation
We can’t deny that your business idea has to go a long way from a PoC to its first iteration. Nonetheless, as an entrepreneur, you usually have a lot to lose if your product turns out to be a flop. Developing a Proof of Concept first, you’ll find out if you have enough resources to build an MVP in the first place. You’ll also ensure that your money won’t go down the drain with you trying to launch a product that’s not viable technology-wise. And speaking of money...
- Gaining allies
It might have been easy for Elizabeth Holmes to raise millions of dollars but very few entrepreneurs are that lucky. Nowadays, investors need some solid evidence of the idea’s feasibility before they decide to fund it. With Proof of Concept at hand, you assure the business angel of your commitment and down to earth attitude. If you’re in charge of an innovative in-house project, PoC can help you demonstrate the expected ROI and thus get the upper management on your side.
What makes a perfect Proof of Concept?
Of course, it is possible to build PoC in-house. However, for many startuppers, it simply doesn’t make much sense to hire developers without ensuring that their product idea is feasible in the first place. That’s where IT outsourcing steps in.
Once you define the hypothesis you wish to test with a Proof of Concept, look for a software development company with proper resources, experience, and know-how. The process of building a PoC differs on a project basis so it’s difficult to indicate how much it should cost or how long it should take. One thing is for sure, however: a trusted tech partner begins by discussing your product vision with you and doesn’t get distracted on the way. They define a primary goal of the Proof of Concept and stick to it so as to make this phase as effective as possible.
Then, the project team is formed. Don’t be surprised if it’s a small team of, let’s say, a mathematician in charge of an algorithm and a developer whose task is to code it. Although the composition depends on the complexity of PoC, we generally aim at obeying “the fewer, the better” rule. The team develops then certain features with the goal of proving their feasibility in mind. At the end of the day, the effects of their work are supposed to lay the solid foundations for the first iteration of your app.
As mentioned above, a PoC-like phase can be a part of the development sprint as well. It is referred to as spike and, according to the Agile Dictionary, it is
A task aimed at answering a question or gathering information, rather than at producing a shippable product. Sometimes a user story is generated that cannot be well estimated until the development team does some actual work to resolve a technical question or a design problem. The solution is to create a “spike,” which is some work whose purpose is to provide the answer or solution.
If we were to compare Proof of Concept and spike, the difference would lie primarily in the stage of the software development process at which they occur. One could also argue about the difference in scale, but in this respect, it wouldn’t be a major mistake to use the terms interchangeably.
bookingkit: Proof of Concept for a German SaaS
When defining what makes a perfect PoC, we mentioned the tech partner’s experience and eagerness to test alternative solutions. To prove our words, let us quote one of the projects we worked on: bookingkit.
Founded in 2014 and headquartered in Berlin, bookingkit offers a SaaS platform that brings the international tours and activities together in the form of a digital inventory. When the client approached us, their product was already gaining ground in the leisure industry. Their idea was to scale it by going from a monolith to a more flexible architecture. It was a time consuming and costly vision so the first thing we needed to do was to determine whether it’s feasible at all. The challenge for us was also to propose the most efficient way of achieving this aim – and once we held a technical workshop, we knew that a PoC is essential to validate our assumptions.
At first, we went for a Python/Flask combination and built a simple version of an API gateway service. This PoC showed that the client’s idea is viable. However, it also revealed that when processing loads of data, the platform might not perform as smoothly as we’d want to along with some other technical issues we could run into.
The discussion about our concerns led to the creation of another Proof of Concept – and this time, we ran a series of tests comparing the performance of two technologies, Python and Go. We didn’t need a large team to do that; in fact, the analysis was conducted by one backend developer.
In the end, the Proof of Concept allowed us to confirm that the client’s idea was executable and made it possible to choose the optimal solution – in this case, Golang as an efficient programming language.
Proof of Concept… and then what?
To sum up, PoC in software development is an exercise that the client and the tech partner carry out to test an assumption about the viability of the idea or the effectiveness of certain tech solutions. Although it’s not even close to the first iteration of the product, it is key to avoiding the disaster of investing both time and money into building something that makes no sense. As such, a Proof of Concept is a great way to go on an adventure with a prototype and an MVP on the way, and a fully-fledged application waiting at the end of the road.
Need to validate your business idea? Let us help you – consult our software development experts.