Forming an idea for a new piece of software is energizing. Brainstorming possibilities and envisioning potential inspires team members to create something new that solves a problem. Ideation is exciting, but without putting your idea through its paces, you may not end up with the product you expect.
Is the idea practical? Is it feasible? Will the users actually want to use it? What resources will be required to build it? These and other questions can all be answered with a proof of concept.
What is a Proof of Concept?
While proof of concept has several applications in different fields (ranging from marketing to medicine), when it comes to software development, we’re talking about a specific process. This process is designed to determine whether a software idea can be built in the real world, what technologies should be used in development, and whether the software is likely to be adopted by its intended users.
Why Do You Need a Proof of Concept?
Although nearly everyone who comes up with an idea is convinced it will work, creating a proof of concept to test your idea will ensure you arrive at the best version of it and will save you time and money in the process. Another reason to do a proof of concept that you’ll likely need it to persuade other stakeholders that the idea is worth investing in. Whether you’re adding new features onto an existing software or whether you’re building something new completely from scratch, a proof of concept will ensure that you take the fastest, most direct route to success.
Step 1: Prove the Need
It only makes sense to put time and money into building a product if people really need it. Maybe those people are the company’s employees, who need to improve their productivity. Maybe they’re a new market the company isn’t currently serving but could easily reach. Whoever they are, you need to know that your software will meet their needs.
Before you begin building the software, you’ll want to be crystal clear on the pain points your target audience is experiencing. You don’t want to guess what these issues are or assume you know without actually talking to a representative sample of people in the group.
You don’t have to talk to hundreds of people at this point — just enough that you start hearing the same concerns repeated. As you interview potential users and stakeholders, be sure to ask about the implications of each pain point. You’ll want to learn both the business impact and the personal impact of each one in order to create a prioritized list. Eventually, you’ll see patterns and common threads emerging. You may be surprised at what you don’t hear in these interviews as well. By the end of this step, you’ll have a list of specific needs and goals that the software should solve.
Step 2: Map Pain Points to Solutions and Get Feedback
This step involves brainstorming ways to solve each of the pain points you identified in the first step. There will likely be several ways to solve each issue. After your brainstorm, you’ll evaluate each possible solution to determine how it stacks up in reference to cost, competition, timeline, technology challenges, etc. When this process is completed, you should have a clearer idea of which solutions to include in the final product.
Once you have this list of solutions, go back to the users and stakeholders you initially interviewed and learn their reactions and responses to the recommended solutions. Describe how you envision the product working, and ask for their feedback. This input will provide you with valuable insight as you move forward.
Step 3: Prototype Your Solution and Test
Your next step is to create a prototype that wraps your solutions into a rudimentary product that you can use to test with those you interviewed previously. This prototype should have the expected feature set and UI/UX.
Once the prototype is built, test it with your interviewees for additional feedback. Record their use of the product to track how intuitive the interface really is, and find out if you overlooked any important functionality.
Step 4: Create a Minimum Viable Product
An MVP is different from a prototype in that it’s a fully-functional solution that you can put out into the world for use. While it will include only the most-important features that are essential for solving the primary pain points you identified, it should function on the user’s side just like the final product.
The MVP gives you the ability to test the product beyond your small group of interviewees, to a wider group that’s more representative of your market or audience. It offers an opportunity for more feedback that will tell you if the product in its current iteration resonates with users and stakeholders.
Step 5: Design a Roadmap
From all of the information you’ve gathered in each of the previous steps, create a roadmap that describes what you’ve learned and outlines a recommended step-by-step process for building the product. Think of this roadmap as a set of blueprints for constructing a building. With this roadmap as a guide, everyone will be kept on the same page through product development and will have a clear picture of what the end goal is.