Before becoming ITRex client, one entrepreneur lost over $70,000 on a project because his tech vendor didn’t suggest a proof of concept (PoC) and proceeded with building a full-fledged product, which the target audience couldn’t use as intended.
To avoid being in a similar situation, always ask your enterprise software solutions vendor for a proof of concept – especially if your company is just testing a new technology or methodology.
So, what is a proof of concept in software development? Who needs it? And how to go through PoC implementation?
What does PoC in software development mean?
Proof of concept in software development is a verification methodology that helps you test the feasibility of your software idea on a smaller scale. It aims to prove that the solution can be built, actually work in real life, solve existing pain points, and yield financial gain.
PoC can take place at any stage of the software development life cycle. You can conduct it in the very beginning to test the viability of the entire idea, or you can resort to it halfway through the project to test a particular feature. For instance, you might want to add artificial intelligence capabilities to the solution under development. So, you continue with the original project as planned and conduct a separate PoC to test the new AI feature. You can find more information on this topic in our article on AI PoC.
Proof of concept deliverables in software development can take different forms, including a document, presentation, written code, etc.
After executing a PoC, you will have a better understanding of whether your software idea has merits. Additionally, you will have a more clear view on the following:
- Which challenges you can anticipate during the implementation
- What risks and limitations the product entails
- How it functions
- Which technology is best suited for the development
- Which other benefits, that you haven’t initially considered, this solution can offe
- How much it will cost to build the final product
- How long it will take to finish the application
People tend to confuse a proof of concept with a prototype and a minimum viable product (MVP), but these are different concepts, each one resulting in its own unique deliverables. Let’s see how these concepts differ from each other.
PoC vs prototype
While a proof of concept in software development aims to validate the idea behind an application, a prototype assumes that the idea is viable and aims to test a specific implementation of this idea. It shows how the final product will look, which functionality it will include, and how to use it. A prototype displays the general look and feel of the application and shows how to access the functionality, without necessarily having all the functionality already implemented.
A prototype can take different forms, such as wireframes, clickable mockups, etc. You can show the prototype to your prospective clients to get their feedback on the visuals. Therefore, UX designers are heavily involved during the prototyping stage, while a PoC can still serve its purpose with a poor user interface.
PoC vs MVP
A minimum viable product is the next step after a prototype. It’s the simplest working, market-ready version of your product that covers all the essential functionality. You can release an MVP to the general public to buy and use.
Unlike a prototype, which might not be fully functioning, an MVP offers the basic functionality, which actually works and provides value to the end users. It’s introduced to the market to see if people are willing to use the product and to gather feedback from early adopters for the next improvement iterations. This step helps you understand if the target audience is ready for your product before you invest even more resources in a full-fledged solution that no one will end up buying.
Benefits of PoC in software development
Research shows that only 14% of software development projects are completed successfully.
So, what can you do to improve your chances? First of all, it makes sense to validate whether your product idea is feasible from the technical and financial perspectives. This is what a PoC can tell you in a rather short amount of time. And here are other benefits of opting for a proof of concept in software development:
- Getting some sort of feasibility proof that you can show to potential investors
- Understanding the limitations of such a product
- Identifying potential risks at the early stage and finding a way to mitigate them
- Preparing a more accurate budget estimation
- Accelerating the final product release
When PoC is a must, and when you can move forward without it
Proof of concept in software development is not limited to a particular industry. And contrary to popular belief that PoC is only applicable to startups, enterprises of any size can benefit from this methodology to evaluate their ideas.
Does it mean that a proof of concept stage has to be a part of every software development project? Let’s see.
When is PoC in software development an absolute must?
- If your project relies on an innovative idea that was not tested yet
- If you’re not sure whether the idea will work
- If you want to test a new technology or methodology before implementing it on a large scale
- When time to market is of utmost importance
- When you need to convince investors to fund innovative technology
- To test the efficiency and viability of a solution that you want to patent
And when can you skip a PoC and go straight to an MVP or a full-fledged project?
- If the software you want to develop is rather standard and resembles common practices in the field, such as building yet another eCommerce website
- If your idea relies on a technology that your engineers and developers understand very well
- When making minor changes to existing software
- When working on a project with meticulously documented requirements
A step-by-step guide through PoC in software development
After learning what PoC in software development is and when to use it, let’s go through the implementation process.
Proof of concept in software development is like any other project, with the difference that you can terminate it or pivot at any point when you discover that the idea behind it isn’t feasible. And you can iterate on one step as many times as needed.
Below you will find the five steps that ITRex takes while working on PoC projects. Please note that the PoC team can go through these steps either for the whole PoC scope or for each feature independently.
To clarify what each PoC implementation step entails, we will use an artificial PoC example throughout this section.
Here is the description of this fictional project:
A US-based company operating in wholesale and retail has around 10,000 partners, which results in a high sales orders (SOs) and purchase orders (POs) processing load. The company’s operations are geographically limited to the US, and it doesn’t have its own delivery system. The firm receives a large number of paper-based SOs and POs daily. Some arrive as PDF files, some as fax, and sometimes orders are placed through a phone call. All POs and SOs are processed manually.
This company is looking to partially or fully automate order processing to take the load off its employees and reduce costs.
They want to conduct a PoC to verify if it’s possible to automate PO and SO document processing to support order handling.
Let’s go through the PoC steps together to see how the methodology works.
Step 1: Define the scope
When a client comes to ITRex with a PoC idea, we work on defining the scope to prevent it from endlessly expanding. We can do this using interview techniques, questionnaires, or even resort to on-site observations. During this step, we aim to understand and document the current state of affairs and the desired future situation.
In the wholesale company’s proof of concept in software development example, the PoC team will try to understand the current state of affairs by asking questions, such as:
- What are the data transport and consumption pipeline(s)?
- In which formats do you currently receive your PO and SO documents?
- What is the ratio of different formats (carbon copy, fax, email, etc.) for the POs and SO?
- Should you import it directly into your ERP system?
- How much data (address, PO/SO number, UPC, etc.) one uses from a single PO or SO throughout the whole processing routine?
- What data may be dictionarised for further automation?
- How much time do you spend on manual order processing?
The PoC team will then work together with the company to determine what they want to achieve. They can come up with the following list of features:
Feature 1: Converting all paper-based documents into electronic form and storing them all in one location
Feature 2: Automatically processing the electronic documents with optical character recognition (OCR) to extract relevant data
Feature 3: Analyzing and manipulating the extracted data
Feature 4: Feeding the extracted order data into the company’s ERP system
At this stage, we have a list of features, but we didn’t specify how to implement them yet. Let’s move to the next step to clarify this.
Step 2: Define the solution’s acceptance and success criteria
During this step, we will get specific about what we want to achieve and how to evaluate it by writing down acceptance and success criteria.
- Acceptance criteria are conditions that the PoC application has to meet to be submitted to the client
- Success criteria refer to what makes the PoC project a success in terms of supporting the hypothesis
At ITRex, we make sure that all the criteria are specific, measurable, achievable, realistic, and timely (SMART). And of course, approved by the client.
Coming back to the wholesale PoC project, the client estimated that 62% of all POs and SOs arrive as PDF files, 29% are sent over fax, 5% are transmitted as images, and the remaining amount is coming through phone calls. Consequently, the company decided to focus on PDF and fax and ignore the rest for the time being.
The PoC team proposed implementing an AI solution to transcribe phone calls, but given that these calls constitute only a small percentage of the PO and SO bulk, and this solution would be rather expensive, the client decided against it. You can find more information on costs associated with AI implementation on our blog.
Here are a few examples of acceptance and success criteria for this project:
Acceptance criteria:
- POs and SOs arriving as printed PDFs are converted into electronic format upon successful recognition
- Unrecognized documents are stored in the designated location
- A notification mail is sent to the designated user on each unsuccessful document recognition case
Success criteria:
- 70% of the physical PO and SO documents can be converted into electronic format. This includes PDFs, fax, image files, etc.
- All electronic documents can be integrated with the company’s ERP system
- The selected OCR algorithm hits an 85% precision rate in data extraction
- Order handling time is reduced from 30 minutes when done manually to 10 minutes after automating document processing
Step 3: Select the tech stack
When it comes to choosing the right technology, in a nutshell, consider three main factors – speed, budget, and reliability. This will help you decide whether to purchase an off-the-shelf product or build a custom solution.
There are other important aspects to consider, such as compliance for industries like pharma.
In our wholesale company example, the PoC team decides to use an open-source OCR solution to save time and money and rely on AWS cloud storage to maintain the electronic version of sales and purchase orders. And, they will deploy the ready-made eFax solution to receive faxes in electronic format.
Step 4: Build and test the PoC application
During this step, the actual PoC application is built based on the features and the acceptance criteria identified above. Keep in mind that during PoC in software development, you can stop at any time if you have enough evidence that the solution is not feasible. At ITRex, we use time and materials (T&M) contracts for PoCs, which gives you the freedom to terminate a PoC project whenever you want without overpaying.
If you decide to move towards PoC implementation, our team will create the assignment backlog, set deadlines, decide on the team’s composition, and begin implementing the agreed-upon features. Next, we perform PoC application quality assurance to validate it against the acceptance criteria, detect any bugs, fix them if needed, or just document them for future reference if their presence doesn’t interfere with PoC hypothesis verification. And finally, we will present a demo that you can evaluate and give your feedback.
If you are interested in performing user acceptance testing, we can assist you with that as well.
Coming back to the wholesale company, the PoC team will implement the four features highlighted in the Define the scope section and test the resulting application against the acceptance criteria.
Step 5: Evaluate the results and decide on the next step
You assess whether the success criteria are met and decide if they are still relevant. If the PoC solution did not meet the expectations, our team will prepare a hypothesis failure report explaining why the PoC idea in its current form is not viable.
If you are satisfied with the results, you can use our MVP development services or start preparing for the full-fledged project. And in the case when the PoC application’s performance wasn’t up to par but you aren’t ready to give up on the idea just yet, we can make improvements, redefine success criteria, or put forward a new hypothesis, and iterate on the PoC implementation process.
Proof of concept in software development examples from ITRex portfolio
Here are three examples from our portfolio that highlight PoC benefits and show what can happen if a company decides to skip the proof of concept stage.
Crawling social media for sentiment analysis
The area of operations
Entertainment
Project description
The customer wanted to build an AI-powered analytics platform that musicians can use to gauge people’s sentiment toward them. This solution would crawl social media platforms, gather data, and process it to extract sentiment. Musicians who decide to sign up with this platform will receive information on how people perceive them, and which social media behavior will attract the most attention.
As we started working on the proof of concept, we realized that due to restrictions enforced by Meta, it was impossible to extract the needed data from Facebook and Instagram to use for commercial purposes. And the client failed to provide their verified business account on Meta, which was a prerequisite for retrieving data via Graph API.
Benefits achieved through a PoC
The client only spent $5,000 on the proof of concept until it became clear this idea wasn’t viable. If the customer would have decided to skip the PoC, they would have wasted $20,000 more on the discovery project.
How a client skipped the PoC and was left with an unusable solution
The area of operations
Gambling and advertisement
Project description
An entrepreneur wanted to build a mobile app that would play different vendors’ ads and randomly display a button, prompting the audience to claim their reward. If you manage to click the button before it disappears, you will be entitled to a monetary amount.
The entrepreneur hired an outsourcing company that proceeded to develop the apps without testing the idea’s feasibility first. When both Android and iOS solutions were ready, the client was horrified to discover that due to technical issues with ad streaming, users couldn’t clearly view and press the button in time to claim their reward, rendering the whole setup unusable.
The result of skipping PoC
The client spent over $70,000 to end up with two apps (Android and iOS) that the target audience can’t use. He wouldn’t have lost all this money if the vendor had suggested starting the project with a proof of concept.
What we did
This client was devastated when he turned to ITRex. Our team conducted a PoC to experiment with different user flows. As a result, we came up with a flow that wasn’t impacted by latency and poor connectivity, allowing users to view the ads and press the reward button within the needed time frame.
Automating post-clinical care and recovery
The area of operations
Healthcare
Project description
A company operating in the healthcare sector wanted to build a solution that automates post-clinical care and recovery processes. This product is supposed to automatically generate detailed recovery plans that patients can use in insurance claims. This solution would also support patients in scheduling follow-up appointments with the right healthcare provider and connect with EHR systems of different hospitals to distribute questionnaires to patients.
The firm was planning to sell this product to hospitals and patients but wanted to test the viability of this idea first.
For this proof of concept in software development, the client wanted to build something cheap but still workable. Initially, they suggested using a specific EMR solution, but after thorough research, we suggested a more cost-effective alternative. We also skipped the automation part and provided recovery plans manually, while questionnaires were sent to patients through emails. This was a rather inexpensive setup to prove that this idea can work.
Benefits achieved through the PoC
As a result, the client could verify the viability of their idea while spending less, as we suggested an alternative to their proposed EMR system. In general, the client didn’t have to spend time researching the issue on their own. They just brought in the idea, and our team researched it further.
Tips for a successful PoC implementation
Here are some tips that will help you sail through PoC in software development:
- Keep the proof of concept simple so that you can finish it in a reasonable timeframe
- Clearly define what success means to you
- Make sure the technical staff members understand the success criteria
- If you are conducting a PoC to convince investors to fund your project, make sure the language you use is understandable for people with no coding experience
- Involve key stakeholders, even though this is just a hypothesis verification phase. Let them experiment with the solution and witness its benefits firsthand
- The client and the team should understand the strategic values behind this project
- Make sure the PoC team is diverse and not limited to developers. You may want to include a business analyst and a QA engineer
- Always trust your tech lead regarding infrastructure and implementation tools
- Nobody is to blame for the failed hypothesis. It’s not the same as a failed project
To summarize
Proof of concept in software development will help you test the viability of your idea, understand product limitations and risks, calculate the budget with precision, and more.
PoC is not limited to startups. Large enterprises can also benefit from this methodology, especially if they want to experiment with innovative technologies like ML, IPA, and IoT.
At ITRex, we approach all PoC projects with efficiency and reusability in mind. As a result, our teams reuse approximately 40-45% of the PoC’s architecture and code base. For the sake of context, the median reusability rate in the IT industry is around 10%. With our savvy approach, a PoC in software development will not only help you prove the viability of your idea, but will also get you started with building the final product. If our team encounters any feasibility-threatening issues, we immediately bring that to your attention and discuss potential solutions, or stop if you don’t want to take this risk.
The post What Is Proof of Concept in Software Development appeared first on Datafloq.