What is a Proof of Concept?

Paweł Hersztowski

Paweł Hersztowski

Head of Studio

In software development, a proof of concept is the realization of part of a product’s functionality, created in order to test or validate the actual potential.

 

There are many cases where a proof of concept - or PoC, for short - may be needed. Understanding their key benefits will help showcase where they are most suitable and why, in some cases, they may even be essential.

 

Proof of Concept Definition

 

A technological proof of concept can be any part of the wider application that needs to be ascertained, from a new idea to an initial assumption. They are used in the research phases to determine viable courses of action in later development.

 

What they have in common, however, is that they are not released to the market. PoCs are not MVPs or finished products. 

 

More specifically, when it comes to software development, there are a number of PoC varieties:
 

  • Proof of Technology - Need to test a new technology that has potential, but you’re not familiar with it? Creating a PoC (such as replicating a part of your existing product) is an ideal indicator.

  • Pilot Project - These PoCs focus on providing an unrefined and unfinished version of a product, often just focusing on some essential functionality (but not all, this is not a prototype or MVP) for testing and feedback.

  • Steel Threading - This is used for existing solutions. Here, developers target specific problems and use PoCs to find potential solutions. Anything that works can then be developed further into the final architecture. This isn’t used for testing new ideas or products, naturally.

 

While the given functionality may ‘work’, it isn’t necessarily refined or implemented with the additional UI, integration or other work needed to develop a complete app.

 

When Should You Use A Proof of Concept?

 

During product planning or design, there may be bottlenecks where success relies on a component or section of the application, but this is currently hypothetical. When you need real world results, a PoC is the most efficient way to get firm answers.

Scale isn’t the issue - PoCs exist to simply showcase if something is possible. 

 

This, in turn, implies that there are stakeholders or interested parties that believe it isn’t possible. However, it can also be used to gain immediate feedback on potential avenues, win approval from other stakeholders or even simply test feasibility.

 

That last one is important, as a Proof of Concept isn’t just about being physically plausible. It may also cover whether such a result is suitable for users, or cost-efficient compared to other solutions. When any of these are in concern, a PoC can help show the way.

 

On the other hand, there are also times when a Proof of Concept simply isn’t needed. For example, if you’re using technologies and designs that have more or less been done before. In these cases, their existence more or less demonstrates the validity. A PoC is best used in cases where there is the most risk, uncertainty or potential impact on the final product.

 

Benefits of Proof of Concept In Software Development

 

There are many benefits to producing a proof of concept - many of which will apply, depending on your specific situation. 

 

Ensure Your Product Is Feasible

Most importantly, PoCs can test if any function or feature is able to work as intended. If it is, there’s no problem and development can continue as planned. On the other hand, if it doesn’t, the experience provides enough insight to determine:

 

  • If the function is possible at all

  • If it is, but it can’t be implemented in an acceptable way

  • If a new approach needs to be considered

  • If the end result doesn’t produce the desired effect (in which case, removing the feature becomes an option to consider).

 

Here, you will be able to determine if the concept as a whole isn’t valid at this point, or if there are just a few issues that need to be addressed first - either way, you get a clearer, fuller understanding of the feasibility.

 

Identify Changes

Similar to above, going through the actual steps of developing and testing the rudimentary technology will demonstrate if any changes need to be made. Going through the process turns hypothetical hurdles into real and confirmed problems - while also showing which problems aren’t an issue at all.

 

Understand Potential Success

When a certain aspect of your proposed plan isn’t a known factor in terms of feasibility, it can hinder success. This is where a PoC can indicate options that are - and are not - worth moving forward with.

 

For example, if you’re considering moving your app to a new platform (such as desktop to mobile), there may be some elements you aren’t sure will work - but their something users expect, nonetheless!

 

In these situations, developing a Proof of Concept will show how well it works, which can arguably correlate to how well received it may be on the market. Needless to say, you shouldn’t invest highly in a very poor PoC - it’s better to go back to the drawing board.

 

Uncover New Challenges

In many ways, a PoC lets you expect the unexpected. Because you’re going through all the motions (other than directly releasing to the market), it’s almost a demo-run for the real development. You can uncover challenges you didn’t consider before hand and, once you’ve become aware of them, they can be resolved and directly considered in the actual development or design plan.

 

Test, Refine And Improve

It’s worth mentioning here that it’s possible to go through numerous PoCs, depending on how each is received. For example, the first PoC might be mostly successful, but subsequent PoCs are needed to fully convince the organization regarding the respective strategy.

 

In this way, PoCs let you refine and improve these pressing features ahead of development, raising the overall quality of the final product to acceptable (and further) levels.

 

Save Time and Money

Going through multiple Proof of Concepts might seem time and money consuming, but it’s significantly better than the alternative. Consider these two scenarios:

 

  • In Scenario A, we design an app with some unusual technology that hasn’t been implemented in this way before. We assume it will work and - surprise! - it doesn’t! Development then goes through various testing cycles, increasing development by months and releasing a lower quality product, leading to lower ROI.

  • In Scenario B, we discover these issues in an initial Proof of Concept. Since the PoC doesn’t get support, we go back and refine the issues, until we’re able to demonstrate that the solution works as intended. It took some extra time, but the final product releases in line with the company’s (and their users’) quality standards.

 

Here, you can clearly see how the second scenario can lead to potentially better ROI and long term success. Taking the time to consider issues at the start is always better than having to fix them post-release.

 

Proof of Concept Examples

 

Similar to prototypes, there aren’t many raw examples of Proof of Concepts available. This is because, unlike MVPs, PoCs aren’t intended for public release. However, we are aware of some successful PoCs (naturally, companies aren’t open about the ones that didn’t make it past the PoC stage itself).

 

HMRC

Even governments and institutions can benefit from a PoC. With the surge of popularity regarding blockchain, numerous financial organizations wanted to assess the technology. Since implementing it straight away held too much risk, it’s only natural the likes of Her Majesty’s Revenue and Customs turned to PoCs to demonstrate the feasibility of the technology.

 

eHarmony

As a popular dating platform, eHarmony has had to keep up with the times. With increasing growth, the company needed to move the solution to a more scalable platform. However, rather than simply move to the Cloud, they used a proof of concept to ensure it could simply run as intended there first. We like this one because it showcases the simplistic elegance of a PoC - testing something out, whether it’s a new platform, technology or language - before migrating the actual solution.

 

TL;DR - Why a Proof of Concept Matters

 

If you have a problem to solve, or a new option to consider and it’s not already proven in the wider industry, a Proof of Concept is likely the answer. By focusing in on essential problems or hypothesis, PoCs can move projects forward with clarity and confirmation. In the long run, this saves time, resources and stress!

Easter egg ;)