Proof of concept

How to build a proof of concept for your business idea

Proof of concept is a crucial stage in the software development process that enables us to test the idea and raise the chances for project success.

You may think these are just pompous words. But no, this is my conscious position on it based on over 7 years in the software engineering industry.

Let’s reflect.

I think you will agree that an idea precedes the creation of any product. Unfortunately, not all ideas come to fruition. There may be many reasons for this, but the most common are:

  1. Unclaimed by the target audience
  2. Too general
  3. Impossible to implement technically (or high costs)

That is why I always affirm that when creating any software product, you need to ask not only HOW but also the questions WHY and WHOM.

These three aspects form the basis of the Product Concept. The proof of the software concept is the result of an analysis of these aspects.

So why do you need PoC?

Software is a tool that helps solve business-specific challenges or add value to users. PoC will help you to:

  1. Choose the best technology for creating software
  2. Attract investors
  3. Check your idea in action
  4. Convince the target audience to use your software product

The proof of concept is a process entirely built on the interaction with the target audience. The following formula can define its essence:

Question + Test = Solution

With this solution, you can create an example of demonstrating the capabilities of the software and its compliance with the project requirements.

Here is a checklist that will show you the critical steps to creating your proof of concept.

#1 Identify the target audience and its needs

Most likely, you won’t be able to develop a software solution that everyone will need (although you can try). A product that takes into account the needs of a specific target audience is much more likely to succeed.

If you already have a website with people that are interested in your product, picking the right audience will be easier. The first thing you need to do is connect Google Analytics to your website. If you have not done, you really should. In the case of mobile applications, you can also use programs like Localytics or Flurry.

By using these services, you can get a lot of data about the people that are showing interest in your product.

In case you don't have a website/app yet, the situation is a little more complicated. Still not critical, though. In this case, you can try to get info through your competitors.

One of the most useful tools is Alexa Rank. The free version contains data on user location and gender. In the paid version (from $149 per month), you can see age, annual income, ethnicity, and whether they have kids or not.

The resulting portrait of the target audience is the starting point for further analysis.

It is crucial to determine the needs, problems, and issues that your potential consumers have. You need to know what they are concerned about and what problems they have. This is the only way to understand how relevant your software is and how you can create value for your target audience.

Use different polls, surveys, interviews, and analysis of forums and on social network groups. It will help you identify the most common questions and pressure points of your audience. This will provide you with a clear understanding of how your software can solve their issues.

I highly recommend you to survey your existing group of customers (if you have any). To highlight the main points, it is not obligatory to interview a large number of people, 25-50 participants should be enough.

I can recommend using convenient and straightforward Google forms or Surveymonkey, which are trusted by thousands of companies around the world. These services will help you to create surveys and polls, receive answers, and analyze the results in real-time for free.

Think over the questions and encourage your target audience to participate by giving them a discount, promo code, or something else in exchange for filling out the survey. 

After collecting feedback, you can start to work with solutions. You already have a database of questions from the targeted users, so you can develop options for solving them. These solutions will allow you to determine the main functionality that your future software should have.

#2 Receiving feedback from the target audience according 

The time has come to understand whether you have taken everything into account and whether it solves the problems of the end-users. 

You again cannot cope without potential users. It is crucial to get their reaction to the presentation of your product. This may be where you consider a repeat survey, only now more substantial. Describe your product and ask for reviews. 

To do this, you can announce your product on various channels:

  1. Social networks 
  2. Your website/Blog
  3. Email 

Summarizing the answers received, you will understand which solutions resonate with potential buyers and which can be removed — in the end, leaving only those solutions that are optimal.

#3 A pre-assessment of the selected solutions

At this stage, you already have a shared vision of how the final product should help users and what functionality it should have. 

The more aspects you consider, the easier it will be to prove the concept of development in each case. 

Here are the main ones.

a) Competition. How worthy the software product will look in your chosen niche directly depends on the presence or absence of competition. It would not be out of place to take an interest in the successes and failures of similar projects, analyze the reasons, and draw logical conclusions.

How to identify competitors?

  1. YouTube. Enter a few keywords in your subject area and get channels that are related to your product.
  2. Social networks. The same, only here use the search in groups.
  3. Organic search. Enter inquiries and choose trusted leaders.
  4. App Stores. In the case of mobile app development, check out the App Store and Google Play. Enter keywords for the desired category and see ratings and descriptions of similar applications.

b) Technological issues. At this point, you will most likely have to get a software development company involved. They can help you with a choice of programming languages ​​(AngularJS, Ruby on Rails, Python, PHP, etc.), tools (editors, compilers, interpreters), and special servers for creating and testing the program. Moreover, they can help you with defining the requirements, market analysis, and providing meaningful recommendations during the project.

By increasing knowledge of a particular aspect, you can reduce uncertainty.

When you clearly define such technical issues, it will be easier for you to figure out the following two points:

c) Cost. Calculate the project budget taking into account your available funds and possible investments. It makes no sense to plan complex functionality for the development of which there are not enough funds, right?

There are several ways to calculate the project cost. I suggest focusing on the main options:

  •  Professional software studios estimation. Such a calculation will be more accurate since the team will take into account a more significant number of details. Many companies offer budget estimation for free.
  • Development cost calculators. With this application, you can calculate the price of the app with a minimum set of functions. For example, to calculate the cost of a mobile application, you can use Cleveroad or OOZOU, but it will only give you a concise pricing overview.

d) Timelines. Suppose you want to receive a finished software product in a year. It may turn out that the development of the desired functionality for the selected platform will take much more time.

You have two options: either expand the time frame or think about optimizing the functionality. Just keep in mind that in the first case, you’ll get the product closer to the original idea. And in the second case, you’ll be able to enter the market faster (but the success rate could be much lower).

#4 Creating a prototype

Time to use the information you already got!

Prototyping is a mock-up of a software product (it’s draft), which imitates the work of the user interface.

Basic prototype requirements for testing

  1. Simplicity. Keep your functionality and design understandable and straightforward. It’s hard for people to figure out the schematic representation of a program. Add some basic UX and UI features. It will make it easier to test for end-users.
  2. Adaptivity. Make sure your prototype is compliant with the devices and screen sizes that it is developed for.
  3. Interactivity. Make sure to display at least the main interactive elements of the future application. This will help you to get more data on bugs and errors during the test phase.
  4. Content. Make sure your content is well fit for your target audience. It will allow you to get a more efficient response during the test phase.

 Prototypes solve 3 main problems:

  • Requirements clarification — you will be able to spot the product defects more clearly.
  • Alternative research — you can find solutions to address the shortcomings.
  • Final product creation — you will have the basis of the end product, which can be modified by implementing a sequential chain of the software development cycles.

Software requirements specification depends on how your product will be used. That is why you need a prototype - it shows the way users will interact with the program.

#5 Prototype testing 

At this stage, you need to attract a small group of targeted users and ask them to test out your prototype.

Where to look for test participants?

  1. Actual website visitors. Write a blog article, announce the early alpha or beta testing, or send emails to your subscribers. In other words, invite the audience that is already interested in your product to use it.
  2. Social networks. Announce it on your social networks as well as on niche groups, forums, and blogs. This will give you more users for testing.
  3. Specialized companies. You can contact a custom software development agency that will conduct full-cycle testing for you, which is good, but expensive option.

Test results will show you if you have understood your target audience's needs correctly. At this stage, you can still make changes and test out different ideas.

A big plus is the cost of changing the specifications at this stage is quite low since there is not much code that needs to be rewritten.

That’s it - you have a proof of concept for your idea!

To sum up, let’s review the main steps of the PoC process.

  1. Understand the needs of your target audience
  2. Create solutions to customer problems
  3. Analyze existing solutions in detail
  4. Create a realistic, user-oriented prototype
  5. Test your prototype

As you can see, PoC is a step-by-step examination with a detailed study of all aspects of creating the final product. It serves to make rational and informed decisions. This allows you to see the full picture, look into the future of the development and implementation of your app or website.

The proof of concept is a project that can be created on your own or outsourced. The main thing to remember is that you must not underestimate its significance, and your ideas will be successfully embodied.

Watch more about PoC in our Youtube channel!

 

CONTACTS

Krakow

Head office

development@y-sbm.com

Rzemieślnicza 1/713 30-363 Kraków

+48 505 012 322

Contact us

© 2014-2019 All Rights RESERVED. YSBM Group sp. z o.o.

KRS: 0000512023 NIP: 6762476939

Privacy Policy