Working in the field of software development you have certainly come across the notion of Proof of concept. Why does everyone insist it’s important? And how do you actually perform PoC?
Proof of Concept (PoC) development is applied in a broad range of spheres, from pharmaceuticals to filmmaking — and software development too, as it constantly produces new concepts and ideas. PoC proved itself to be of high use in all spheres of software development, but it is particularly relevant in blockchain development as this direction is quite new and still experimental.
With software development being quite an expensive and time-consuming process, it makes sense to do some research on whether the idea will be feasible and worth implementing. That is when proof of concept comes in handy. PoC implementation serves to prove the idea’s tenability and uniqueness compared to those similar cases currently in the pipeline.
Although some companies tend to skip PoC in the development phase, it is a process that often proves valuable and useful in the long run, saving substantial resources and helping the team to figure out the best development and marketing strategies.
In this article we will explain the basic principles of Proof of Concept, its purpose and realization phases. We will unravel the differences between PoC, prototype and MVP, and understand the importance of PoC in blockchain.
Want to gain more insights into blockchain technology? Don’t miss our article puzzling blockchain out
Proof of Concept is a process of testing an idea’s feasibility and whether the concept can be implemented successfully. Generally, PoC serves as a demonstration of the idea’s vitality and outlines what tools should be used in its development. In addition, PoC makes the project more appealing to investors and provides them with actionable insights.
Project PoC features basic functionalities and requires minimum expenses. It helps businesses and developers save time and money by preventing the deployment of a product which is neither relevant nor in demand. PoC development is especially crucial for start-ups, since 9 out of 10 fail because their concepts don’t hit the spot. For them, proof of concept helps not only to check the idea but also to prevent wasting of resources and going bust.
“Proof of concept or POC is the art of winning a ship-building contract by showing the working model of a paper boat” – Nipun Varma, Adventures of an Indian Techie
PoC in software development
Software production is a highly competitive field, with myriad concepts being generated around the clock. Hence it is essential for developers to ensure that a product is high-quality and as relevant as possible.
There are several major benefits PoC implementation can bring to software development:
Is the idea you came up with an original? It is better to find out the answer before the development process begins and determine if the intended product solves real-life problems. This stage is the best time to edit the original idea if necessary (and the chances of necessity are usually quite high). Also, PoC development helps you check whether the idea is possible from a technological perspective and how much time you will need to realize it.
Proof of concept helps to detect the weak spots of your idea, such as an overcrowded market, lack of uniqueness, and security risks. It also demonstrates the technical limitations the project can face, thus providing valuable insights on how to improve the concept itself and what tools will be most effective for your product’s development.
A successfully conducted proof of concept is a great opportunity to raise funding. If you come to investors with not just a vague idea but a proven concept, the chances of receiving funds are much higher.
When the development team has all the relevant data about the project (the users’ first impressions and suggestions, the current market situation) accompanied by a hand-picked instrument kit, the journey time from the start of the development to the moment of release halves.
Take a look at Arbitrage Bot - a multi-user cross-border solution for cryptocurrency trading operations which history started with PoC
PoC and prototype: What is the difference?
Although proof of concept and prototype are quite often used as synonyms, these notions are not identical. While PoC is concentrated on the idea itself, the prototype relates to its visualization. Simply stated, prototype creation is one of the PoC phases.
Once you’ve concluded that the concept has the right to exist, it is time to build a prototype. The prototype focuses on the users’ interaction with the product,and this is the moment when UI and UX designers enter the picture. Depending on the particular project, the prototype can be executed in the form of a sketch or an interactive wireframe.
A prototype has the same aim as a proof of concept does – to verify the validity and feasibility of the suggested idea. But the prototype does it in a more practical way.
PoC and MVP: What is the difference?
In brief, MVP is a test-product that, at the same time, is solid enough for users to manage it according to their needs. Although it is a fully-fledged project, it has a very narrow set of functions and minimalist design. Yet it can still be released and go public. MVP solves users’ problems straightaway, without offering any additional features.
MVP helps to test the product and get first-hand feedback from the users. Then you can use the collected information for further upgrading. MVP also helps to attract investors, as investing in a product that already exists looks much more promising than pumping money into something sketchy. The main goal of MVP is to make sure the product is executed in the best way possible, with users’ suggestions and impressions taken into account.
To sum up, the chief difference between PoC and MVP concerns the maturity of the outcome. If PoC is a test of the concept’s vitality and feasibility, MVP is a valid (if very basic) product.
Check out how MVP implementation helped PixelPlex successfully launch an end-to-end eCommerce platform for Green Hypermarket
PoC development stages
The once vague idea has to go through several PoC stages to transform into a viable and desirable product:
Stage 1: Relevance definition
Even though the initial idea can seem revolutionary and life-changing, in practice it may turn out to be useless and not wanted by anyone.
So it is always better to test the concept’s feasibility and efficiency beforehand. The idea should be well-formulated for a positive result. To achieve this, all members of the team, from investors to developers, need to work hand-in-hand and determine a common vision for the final product.
You should scrutinize the current market environment to identify the potential opponents and evaluate whether the chosen market sector is jam-packed or if there is indeed an actual need for your product.
Stage 2: Requirements and success criteria definition
There are several factors which, when worked out thoroughly, ensure success of your future product:
- Tech stack
Success is not defined by a bare idea, however innovative it is. For a robust physical embodiment, the concept first needs to be accompanied by relevant technologies. To achieve this, you should understand and visualize your project in exquisite detail and do thorough research on the abilities and usability of the instruments available.
In addition to technical aspects, you should outline your marketing tools.The promotion campaign will differ in many respects according to the target audience.
A solid and proper targeted marketing strategy is of utmost importance for the success of the project, as even the best product can die if there are no active users. Proof of concept helps to determine the target audience and correct the product specifics to then gain the most relevant feedback.
- Action plan
You should have a thorough action plan, including the stages of development and timeframes, people in charge, financial distribution, and so on. Of course, there will be amendments along the way, but all processes will go much smoother with a clear plan and no improvisation.
“When writing a proof of concept, always focus on the “Five W’s”: “why” (the goal), “what” (what it will do and what it won’t do), “who” (the target audience), “with” (needed tools, tech and resources) and “when” (when it will be done). No board or executive will—or should—approve a proof of concept unless it addresses these five W’s.” – Spiros Liolis, CTO at Micro Focus
Stage 3: Implementation
When all development and promotion details are settled, it is time for the project’s implementation. Remember that PoC development is only about the most basic features and interface, so keep it simple.
This basic model of the future product is the prototype. It demonstrates the workflow, envisioned features, and UI/UX.
There are two types of prototypes:
- Low-fidelity prototypes – paper-based (just a sketch on paper showing the design and features) and clickable wireframes (interlinked static wireframes).
- High-fidelity prototypes – software-based solutions which allow you to test the functions and experience the design. It is the version closest to the final product.
The degree of fidelity is determined according to the needs of a particular concept. Both low-fidelity and high-fidelity prototypes have pros and cons, such as cost or level of interactivity, so you should choose the suitable type of prototype wisely.
Stage 4: Testing
When the prototype is ready, the testing process begins. This stage prepares you for future development and improvement. The test group examines the prototype and shares their user experience. Are the design and the interface appealing and user-friendly? Do the selected features cater to the needs of the users? Do all the processes work smoothly? These are the main questions you should ask.
Stage 5: Feedback gathering and start again
After the testers’ feedback is collected, the strengths and weaknesses of the prototype become obvious. You should document all reviews, suggestions, and any other valuable details, and make them easily accessible to the team members. The gathered data is a priceless tool for improvement and a base for setting the next steps. If the feedback you received is quite negative, it is a sign that you need to perform modifications to make it appealing for the users. And even if users accept it warmly, there is still likely to be room for improvement. This is where the reviews will prove to be a treasure trove of ideas for upgrading.
What is PoC in blockchain software development?
PoC phases in blockchain are the same as in the usual software development proof of concept but with a few peculiarities. And it is a technology that’s developing and evolving right in front of our eyes, blockchain-based projects need vitality tests even more than traditional ones.
For one thing, the blockchain should fit the area of application, whether it’s finance, real estate or education.
Here is the list of aspects you should take into account when developing PoC for your blockchain solution:
You need to understand how many transactions will be conducted through the project. Their cost and speed vary significantly in different blockchains.
For example, Ethereum, the second biggest platform, with a native currency called Ether, can boast an immense infrastructure and technical documentation contributing to effective software development. However, Ether is linked to the gas fee which makes the transaction cost quite expensive in comparison with other blockchains. Depending on the network congestion it can reach $70 per transaction.
The Ethereum speed is just 13-15 transactions per second, which is very slow for projects in finance, banking or large-scale retail. There are other, not yet so widely-developed platforms, conducting much faster transactions at a low fee (e.g Flow, Cardano). Thus you should plan the transaction capacity of the future project and decide on the blockchain which will match it.
Does your project-to-be deal with sensitive private data? Do users have access to all the information on a platform? Based on your answers, the type of blockchain can be either permissioned or permissionless. To enter the system, a new user has to be approved on a permissioned (private) ledger, while permissionless (public) one welcomes any member. There are also hybrid and federated blockchains which combine features of both private and public ones.
The PoC process in blockchain-based software helps to identify the most suitable consensus mechanism. Consensus allows transactions to be trustless and transparent. During the PoC software testing, you define the consensus which will work effectively on the project. There are a number of options, each with pros and cons.
For instance, Proof of Work provides a high level of security but requires massive amounts of energy and expensive equipment. Meanwhile, Proof of Stake involves considerably fewer resources and performs faster transactions but is more prone to security violations. So each particular case will need an individual touch.
When grounding your project on blockchain you should remember about scalability. The blockchain is defined as scalable when its speed does not lower with the increasing number of users. This is a burning issue with Bitcoin and Ethereum and affects permissionless blockchains more than permissioned.
Therefore you need to tackle the scalability problem to ensure a fast and efficient blockchain project.
You should approach each stage of PoC blockchain development with proper prior research and have a team of experienced developers to implement blockchain technology in your project efficiently.
PoC in blockchain development: Blockverify use case
Now that we discussed the particular importance of PoC implementation in blockchain-based projects, let’s see how it works in a certain example. For this we will take a look at Blockverify – a blockchain-based solution for supply chain management developed by PixelPlex. This case will demonstrate how PoC has benefited the project and facilitated its realization.
Before the start of the development, our team did a detailed research and validated the concept as a highly potential one as the demand for such a project was high.
The goal of Blockverify is to fight counterfeit and protect brands. So the choice of the blockchain technology for this purpose is quite obvious, as its decentralized nature and immutability makes it easy to identify counterfeit goods.
As the supply chain operations require a high level of security and transparency combined with fast transaction speed, we decided to use the Graphene blockchain. Besides, this platform is very scalable which means that it doesn’t slow down even if many actions are being done simultaneously. As Graphene utilizes sharding technology and the CASPER consensus protocol the amount of transactions reaches 10,000 per second.
After we decided on the tech stack and chose the most suitable blockchain platform, the team came up with an efficient marketing strategy and worked out an action plan. We set the consecutive action plan and timeframes as well as the people in charge.
Keeping in mind that the final product must be scalable and customizable, we provided a solution to tailor the platform. There are options to provide limited access to some sections of data, as well as the possibility to make the platform completely permissionless or permissioned. So businesses can regulate which users have access to certain data, thus securing sensitive information.
By conducting PoC on the Blockverify project it was possible to collect early user feedback. This let us gain vital data about the market and its current needs, as well as to determine the best tech solutions for the concept’s realization. As a result, we released a prototype upon which we built a web platform for supply chain management and a mobile app with an NFC (near-field communication) tag scanner.
Proof of concept plays an important role in successful software development, as it helps to test the idea on various levels and prove that it is both possible and viable to be released on the market. As a result, PoC saves time, money, and the nerves of everyone involved in the project. Besides this, when conducting PoC, the development team has the opportunity to tailor the set of tools so that it perfectly aligns with the requirements.
To some people PoC may seem an unnecessary stage, postponing the development process. But in fact it is the complete opposite. With a PoC in software development, the phases of the product’s creation are outlined much more precisely and coherently. The majority of possible flaws appear and get dealt with during the PoC, and therefore don’t hinder the flow of the main development work.
You have a brilliant idea but are not sure how to bring it to life? Contact our team of experienced developers and we will readily assist you with any concept you have in mind.