A proof of concept involves demonstrating whether an idea or concept is feasible, possible or viable. It is used to show, even in theory, whether a solution has the capability and the right characteristics to meet the need or opportunity identified.
Steps that may be involved in creating a proof of concept include:
• explaining the emerging technology being used
• discussing any issues (e.g. economic, legal or ethical) surrounding the technology
• identifying the need or opportunity
• identifying the solution requirements, constraints and scope of the solution
• generating solution designs and creating evaluation criteria
• identifying the inputs and output required
• identifying the processing required
• identifying the hardware and software required
• identifying any validation and testing needed
• explaining how the solution will achieve the evaluation criteria.
By following these steps, although there will not be a working solution, the intention is to provide enough evidence to show that the solution is possible in meeting the need or opportunity.
Many vehicle manufacturers create prototypes of new vehicles before they start full production to make sure that clients would be happy with the end product. If there are any client ‘pain points’ with the prototype, they can be addressed before the vehicle goes into mass production.
A prototype is a model or a solution with limited functionality. The purpose of a prototype is to display the look and feel of the completed solution but without full functionality. It also allows a solution to be created, so users can give feedback and so changes can be made without wasting all of the time, effort and money that would be required to develop a completed solution (Figure 6.21).
A prototype differs from a proof of concept in that a prototype is built using the same software that will be used for the completed solution, whereas a proof of concept only provides evidence that a solution is feasible and may not involve the use of the solution software at all.
A minimum viable product, or MVP, is a product with enough features to attract early-adopter customers and validate a product idea early in the product development cycle. In industries such as software, the MVP can help the product team receive user feedback as quickly as possible to iterate and improve the product.
A developer might choose to develop and release a minimum viable product because its product team wants to:
Release a product to the market as quickly as possible
Test an idea with real users before committing a large budget to the product’s full development
Learn what resonates with the company’s target market and what doesn’t
In addition to allowing your company to validate an idea for a product without building the entire product, an MVP can also help minimize the time and resources you might otherwise commit to building a product that won’t succeed.
A product is a completed solution with full functionality. All capabilities and features of the software identified during the analysis and design stages are included in the solution, all appropriate data is validated and all functions are fully tested.
A product differs from a prototype in that all the functions of the solution are working as expected, whereas in a prototype only a limited number of functions are present.