Proof of concept
From Wikipedia, the free encyclopedia
Proof of concept is a short and/or incomplete realization (or synopsis) of a certain method or idea(s) to demonstrate its feasibility, or a demonstration in principle, whose purpose is to verify that some concept or theory is probably capable of exploitation in a useful manner.
The proof of concept is usually considered a milestone on the way of a fully functioning prototype.
In computer security the term proof of concept (proof of concept code or PoC) is often used as a synonym for a zero-day exploit which, mainly for its early creation, does not take full advantage over some vulnerability.
Contents |
[edit] Examples
[edit] In cinematography
- Sky Captain and the World of Tomorrow, 300, and Sin City were all shot in front of a bluescreen with almost all backgrounds and props computer generated. Both used proof of concept short films to demonstrate how their finished product would look, and the technical capabilities of the medium. In the case of Sin City, the proof of concept short made by director Robert Rodriguez was also used to convince Frank Miller (the author and artist of the original graphic novel series) that his work would be treated in a respectful manner and thus to approve the release of the movie rights. Supposedly, Rodriguez also used the proof of concept to convince the actors he wanted to cast in various parts.
- The computer animation specialists Pixar sometimes create short animated films that include a proof of concept of a technically difficult task. Their short film Geri's Game (1997) included proofs of concept of the animation of cloth and of human facial expressions. These techniques were later used in the film Toy Story 2 (1999).
- Similarly, in preparation for the creation of the film Finding Nemo (2003), the team created several short proofs of concept to experiment with the animation of water movement, the tentacles of a sea anemone, and the slow appearance of a whale swimming toward the camera from a long distance. These proofs of concept demonstrated ways for the team to accomplish difficult technical tasks, or proved that a particular creative concept "worked" (or didn't work).
[edit] In security
In both computer security and encryption, proof of concept refers to a demonstration that in principle shows how a system may be protected or compromised, without the necessity of building a complete working vehicle for that purpose.
[edit] In research and development
In the field of applied research, including software development, a company presented with a project or proposal will often undertake internal research initially, to prove that the core ideas are workable and feasible, before going further. This use of proof of concept helps establish viability, technical issues, and overall direction, as well as providing feedback for budgeting and other forms of commercial discussion and control.
[edit] In sales and business development
In the field of business development and sales, a vendor may allow a prospect customer to trial the software product. This use of proof of concept helps establish viability, technical issues, and overall direction, as well as providing feedback for budgeting and other forms of internal decision making processes.
[edit] In mathematics
In mathematics, a "sketch" of a proof is a form of "proof of concept", namely a demonstration in principle that a mathematical proof or goal is accessible (ie could be accomplished) using known techniques and methods.
[edit] In Software Development
In software development "proof of concept" (often abbreviated to PoC) is often incorrectly used interchangeably with "proof of technology" (PoT) or "pilot project". The three terms refer to processes with different objectives and different participant roles and are therefore not synonymous. A proof of concept is a partial solution to a business problem intended to prove the viability of the business concept. A proof of concept may involve a small number of users acting in a business (non-IT) role using the system to establish that it satisfies some aspect of the requirements for the complete solution. The proof of concept implementation will not affect business operational data although it may integrate with existing business systems to some extent. By contrast, the objective of a "proof of technology" is to determine the solution to some technical problem such as how two systems might be integrated or that a certain throughput can be achieved with a given configuration. No business users need be involved in a proof of technology. The third term, "pilot project", refers to an initial roll out of a system into production targeting a limited scope of the intended final solution. The scope may be limited by the number of users which can access the system or by the business categories affected or the business partners involved or other restrictions as appropriate to the domain. The intent of a pilot project is to validate that the system is working in production as designed and limiting the business exposure if it is not.
[edit] See also
- Prototyping
- An example: Template:Wikibooks-poc