POC – Proof of Concept : Définition, Intérêt et Méthodologie

Imaginez que vous ayez le pouvoir de prouver à l’avance qu’une idée va marcher. Plutôt fort comme pouvoir, n’est-ce pas ? Eh bien, grâce au Proof of Concept (POC pour les intimes), ce pouvoir est à votre portée ! Issu du project management, le POC est une méthode permettant de tester rapidement la faisabilité et la viabilité d’un projet, d’un produit ou d’un service. Dans cet article, je vais vous prouver l’utilité (et la puissance) de cette méthode !

POC - Proof of Concept

Découvrez ce qui se cache derrière l’acronyme POC

Proof of Concept : définition

Le Proof of Concept (ou simplement POC) désigne une méthode utilisée pour vérifier la performance d’un concept. Cette méthode prend la forme d’une phase de test ayant pour but de confirmer vos théories, avant d’aller plus loin dans la réalisation de votre projet. Le projet en question peut être un nouveau produit ou service (un logiciel par exemple), une innovation (comme une fonctionnalité) ou même la création d’une entreprise (validation de son business model).

L’objectif du POC est de répondre à ces deux questions fondamentales :

  • Y a-t-il un besoin pour ce projet/produit/service ?
  • Celui-ci est-il vraiment réalisable ?

Comment dit-on Proof of Concept en français ?

Proof of Concept se traduit littéralement en français par “Preuve de Concept”. D’autres termes sont également utilisés, tels que validation de principe ou démonstration de faisabilité. L’idée reste la même : montrer la faisabilité et la viabilité d’une grande idée.

La Preuve de Concept sert à valider qu’une idée va marcher (ou non)

Le Proof of Concept est avant tout là pour démontrer la faisabilité de votre projet et confirmer si votre idée est bonne ou non. Il permet d’identifier en amont (et autant que possible) les risques potentiels. C’est pourquoi votre POC doit être validé en fonction de plusieurs angles :

  • Marketing : confirmation de votre proposition de valeur.
  • Économique : viabilité du modèle d’un point de vue financier.
  • Technique : faisabilité compte tenu de vos ressources et compétences techniques.

Il y a autant d’exemples de Proof of Concept que d’idées. En fonction de vos besoins, le POC peut consister à analyser des données quantitatives, à lancer des études qualitatives, ou encore à créer un prototype minimal pour voir à quoi ressemblera le projet.

La qualité de l’étape de test que constitue le POC dépend en grande partie de la pertinence de votre analyse (et de la data collectée). Car cette analyse relativement précoce doit vous faire tirer la bonne conclusion sur votre projet. À savoir :

  • Le poursuivre afin de le concrétiser ;
  • Le revoir avant de continuer ;
  • L’abandonner définitivement.

Note importante : plus le projet est original, plus le POC a son intérêt. Car il vaut mieux abandonner le plus tôt possible une idée qui va très probablement faire un flop. Surtout si l’ensemble de votre business model en dépend !

Comment faire un Proof of Concept ?

Il n’est pas facile de décrire une méthodologie unique pour réaliser un Proof of Concept, ou même de dégager un exemple de POC efficace. Car les Preuves de Concept sont toutes uniques et doivent être adaptées à chaque idée ou projet.

Nous pouvons néanmoins distinguer 5 étapes à suivre pour faire un Proof of Concept :

1 – L’étape préliminaire : vous déterminez si votre idée est innovante, si vous souhaitez la concrétiser et s’il est pertinent de réaliser un Proof of Concept (dans le doute, faites-le !).

2 – L’étape de planification : vous planifiez votre POC : quelles données collecter et analyser ? Comment allez-vous le faire ? Quelles sont les conclusions possibles ? Quelle est la deadline ?

3 – L’étape de réalisation : analyse, tests, leçons, corrections, validations… Vous mettez les mains dans le cambouis afin de tirer le meilleur des données de votre POC.

4 – L’étape de contrôle : à cette étape, vous mettez en forme la data sous forme de synthèse (technique et fonctionnelle) afin de rassembler les résultats pour en tirer des conclusions. Afin d’y voir plus clair, vous pouvez opter pour la dichotomie avantages/inconvénients (ou pour/contre).

5 – L’étape de conclusion : il est temps de faire face aux résultats de votre Proof of Concept et de prendre la meilleure décision pour votre projet (ou éventuellement de réitérer le POC avec de meilleures données si cela s’avère nécessaire).

Proof of Concept VS MVP

Le Proof of Concept ressemble fortement au MVP (Minimum Viable Product). Ces deux méthodes consistent en effet à prouver à l’avance qu’un projet va fonctionner. Pourtant, il ne faut pas confondre POC et MVP : ils n’interviennent pas au même moment.

Le MVP représente une version en état de fonctionner de votre produit/service/fonctionnalité. Même si ce n’est pas encore la version finale, le prototype avancé est quasiment prêt à être commercialisé. Par rapport au POC, le MVP arrive donc bien plus tard dans le projet. Pour en savoir plus, ne manquez pas notre article sur le Minimum Viable Product.

Le POC ne fait pas tout !

Même si le Proof of Concept est très utile (et même indispensable en fait !), il ne fait pas tout à lui seul. Car il consiste essentiellement en une phase plus ou moins poussée d’analyse. Analyse qui repose en très grande partie sur une collecte efficace et exhaustive des bonnes données. C’est plus facile à dire qu’à faire !

De plus, vous connaissez aussi la confrontation classique entre la théorie et la pratique. Aucun plan ne survit à sa mise en application dit-on. Eh bien, c’est pareil avec le POC : la preuve de succès n’est (malheureusement) pas si irréfutable que ça en fin de compte.

Crise Covid-19, guerre en Europe, transformation digitale, exode urbain… autant d’imprévus difficiles à anticiper lors de la conception d’un projet. Qui sait combien de Proofs of Concept alléchants ont été balayés par ces complications et autres hasards du destin ?

Faut-il renoncer à faire des POC pour autant ? Non, bien sûr. Car l’enjeu est trop important pour remettre à 100 % le succès de votre projet entre les mains de la chance. Il faut simplement garder à l’esprit qu’un bon Proof of Concept ne vous garantit pas de réussir et qu’il dépend en très grande partie de votre capacité à analyser efficacement la data.

Partager :
Fondateur d’une agence spécialisée en marketing client et gestion de projet, Antoine Coubray utilise régulièrement les acronymes utilisés dans ces

Fondateur d’une agence spécialisée en marketing client et gestion de projet, Antoine Coubray utilise régulièrement les acronymes utilisés dans ces environnements. Il fait en sorte que vous puissiez vous les approprier pour les utiliser à votre tour.

[custup_nom_silo]
[custup_form_optinmonster]
[custup_form_optinmonster]
[custup_form_blog_inline_optinmonster]
<script type="text/javascript"> jQuery(document).ready(function( $ ) { grecaptcha.render( 'captcha-trGss', { 'sitekey' : '6LdT1-4gAAAAAO9Enn6scQv9Sg7vEHfEmTzlKqlw', 'theme' : 'light' }); var dj_envoyer_inscription = true; jQuery(document).delegate( '#dj_envoyer_inscription-trGss', 'click', function(){ if(dj_envoyer_inscription){ dj_envoyer_inscription = false; var email = jQuery('#dj_form_optinmonster-trGss input[name="email"]').val(); var data = new FormData(); data.append( "action", "inscription_mailchimp"); data.append( "email", email); data.append( "recaptcha_response", jQuery("#dj_form_optinmonster-trGss .g-recaptcha-response").val()); jQuery("#dj_form_optinmonster-trGss .panel").css('display', 'none'); jQuery("#dj_form_optinmonster-trGss .panel-primary").css('display', 'block'); jQuery("#dj_form_optinmonster-trGss .panel-primary span").html( site.message_030 ); $.ajax({ url: site.ajax_url, type: 'post', dataType: 'JSON', processData: false, contentType: false, cache: false, data: data, success: function(result) { if(result.alerte){ jQuery("#dj_form_optinmonster-trGss .panel").css('display', 'none'); jQuery("#dj_form_optinmonster-trGss .panel-danger span").html(result.alerte); jQuery("#dj_form_optinmonster-trGss .panel-danger").css('display', 'block'); }else if(result.message){ jQuery("#dj_form_optinmonster-trGss .panel").css('display', 'none'); jQuery("#dj_form_optinmonster-trGss .panel-success span").html(result.message); jQuery("#dj_form_optinmonster-trGss .panel-success").css('display', 'block'); } if(result.status){ dataLayer.push({ "event": "gaEvent", "eventCategory": "Blog-Inline", "eventAction": "clic", "eventLabel": "https://www.custup.com/poc-proof-of-concept-definition-interet-methodologie/", "eventValue": "", "eventNoninteraction": "true" }); } dj_envoyer_inscription = true; }, error: function(errorThrown){ dj_envoyer_inscription = true; } }); } return false; }); }); </script> <div id="dj_form_optinmonster-trGss" class="form_inline"> <div class="form-group col-md-12 col-sm-12 col-xs-12 no-padding m-5"> <div class="panel panel-primary m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> <div class="panel panel-success m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> <div class="panel panel-danger m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> </div> <div class="col-md-7 col-sm-12 col-xs-12 no-padding form-group"> <input class="form-control form-inline" type="text" id="dj_email" name="email" placeholder="E-mail" /> </div> <div class="col-md-12 col-sm-12 col-xs-12 no-padding form-group optin-recaptcha"> <div id="captcha-trGss"></div> </div> <div class="col-md-5 col-sm-12 col-xs-12 no-padding form-group envoyer text-center "> <button id="dj_envoyer_inscription-trGss" class="dj_envoyer_inscription" type="submit">Je m'abonne !</button> </div> </div>
[le Nom du Silo]
[le Nom du Silo]
[custup_icon]
<img src="https://www.custup.com/wp-content/themes/custup/public/img/icon.png" alt="Merci pour votre visite" class="skip-lazy" width="28" height="27"/>
[custup_form_exit]
<script type="text/javascript"> jQuery(document).ready(function( $ ) { grecaptcha.render( 'captcha-P1KqU', { 'sitekey' : '6LdT1-4gAAAAAO9Enn6scQv9Sg7vEHfEmTzlKqlw', 'theme' : 'light' }); var dj_envoyer_inscription = true; var email = ""; jQuery(document).delegate( '#emailP1KqU', 'change', function(){ email = jQuery(this).val(); }); jQuery(document).delegate( '#dj_envoyer_inscription-exit-P1KqU', 'click', function(){ if(dj_envoyer_inscription){ dj_envoyer_inscription = false; var data = new FormData(); data.append( "action", "inscription_mailchimp"); data.append( "email", email); data.append( "exit", 1 ); data.append( "recaptcha_response", jQuery("#dj_form_optinmonster-exit-P1KqU .g-recaptcha-response").val()); jQuery("#dj_form_optinmonster-exit-P1KqU .panel").css('display', 'none'); jQuery("#dj_form_optinmonster-exit-P1KqU .panel-primary").css('display', 'block'); jQuery("#dj_form_optinmonster-exit-P1KqU .panel-primary span").html( site.message_030 ); $.ajax({ url: site.ajax_url, type: 'post', dataType: 'JSON', processData: false, contentType: false, cache: false, data: data, success: function(result) { if(result.alerte){ jQuery("#dj_form_optinmonster-exit-P1KqU .panel").css('display', 'none'); jQuery("#dj_form_optinmonster-exit-P1KqU .panel-danger span").html(result.alerte); jQuery("#dj_form_optinmonster-exit-P1KqU .panel-danger").css('display', 'block'); }else if(result.message){ jQuery("#dj_form_optinmonster-exit-P1KqU .panel").css('display', 'none'); jQuery("#dj_form_optinmonster-exit-P1KqU .panel-success span").html(result.message); jQuery("#dj_form_optinmonster-exit-P1KqU .panel-success").css('display', 'block'); } if(result.status){ dataLayer.push({ "event": "gaEvent", "eventCategory": "Exit", "eventAction": "clic", "eventLabel": "https://www.custup.com/poc-proof-of-concept-definition-interet-methodologie/", "eventValue": "", "eventNoninteraction": "true" }); } dj_envoyer_inscription = true; }, error: function(errorThrown){ dj_envoyer_inscription = true; } }); } return false; }); }); </script> <div id="dj_form_optinmonster-exit-P1KqU" class="form_inline popin-exit"> <div class="form-group col-md-12 col-sm-12 col-xs-12 no-padding m-5"> <div class="panel panel-primary m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> <div class="panel panel-success m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> <div class="panel panel-danger m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> </div> <div class="col-md-12 col-sm-12 col-xs-12 no-padding form-group"> <input class="form-control" type="text" id="emailP1KqU" name="email" placeholder="E-mail" /> </div> <div class="col-md-12 col-sm-12 col-xs-12 no-padding form-group optin-recaptcha"> <div id="captcha-P1KqU"></div> </div> <div class="col-md-12 col-sm-12 col-xs-12 no-padding form-group envoyer text-center "> <button id="dj_envoyer_inscription-exit-P1KqU" class="dj_envoyer_inscription" type="submit">S'inscrire !</button> </div> </div>
[custup_scroll_nom_silo]
[custup_form_silo_scroll_optinmonster]
<script type="text/javascript"> var email = ""; jQuery(document).ready(function( $ ) { grecaptcha.render( 'captcha-0Pmcs', { 'sitekey' : '6LdT1-4gAAAAAO9Enn6scQv9Sg7vEHfEmTzlKqlw', 'theme' : 'light' }); var dj_envoyer_inscription = true; jQuery(document).delegate( '#email0Pmcs', 'change', function(){ email = jQuery(this).val(); }); jQuery(document).delegate( '#dj_envoyer_inscription-0Pmcs', 'click', function(e){ if(dj_envoyer_inscription){ dj_envoyer_inscription = false; var data = new FormData(); data.append( "action", "inscription_mailchimp"); data.append( "email", email); data.append( "id_article", 23986); data.append( "recaptcha_response", jQuery("#dj_form_optinmonster-0Pmcs .g-recaptcha-response").val()); jQuery("#dj_form_optinmonster-0Pmcs .panel").css('display', 'none'); jQuery("#dj_form_optinmonster-0Pmcs .panel-primary").css('display', 'block'); jQuery("#dj_form_optinmonster-0Pmcs .panel-primary span").html( site.message_030 ); $.ajax({ url: site.ajax_url, type: 'post', dataType: 'JSON', processData: false, contentType: false, cache: false, data: data, success: function(result) { if(result.alerte){ jQuery("#dj_form_optinmonster-0Pmcs .panel").css('display', 'none'); jQuery("#dj_form_optinmonster-0Pmcs .panel-danger span").html(result.alerte); jQuery("#dj_form_optinmonster-0Pmcs .panel-danger").css('display', 'block'); }else if(result.message){ jQuery("#dj_form_optinmonster-0Pmcs .panel").css('display', 'none'); jQuery("#dj_form_optinmonster-0Pmcs .panel-success span").html(result.message); jQuery("#dj_form_optinmonster-0Pmcs .panel-success").css('display', 'block'); } if(result.status){ dataLayer.push({ "event": "gaEvent", "eventCategory": "Silo-XXX-Scroll", "eventAction": "clic", "eventLabel": "https://www.custup.com/poc-proof-of-concept-definition-interet-methodologie/", "eventValue": "", "eventNoninteraction": "true" }); } dj_envoyer_inscription = true; }, error: function(errorThrown){ dj_envoyer_inscription = true; } }); } return false; }); }); </script> <div id="dj_form_optinmonster-0Pmcs"> <form> <div class="form-group col-md-12 col-sm-12 col-xs-12 no-padding m-5"> <div class="panel panel-primary m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> <div class="panel panel-success m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> <div class="panel panel-danger m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> </div> <div class="col-md-12 col-sm-12 col-xs-12 no-padding form-group"> <input class="form-control" type="text" id="email0Pmcs" name="email" placeholder="E-mail" /> </div> <div class="col-md-12 col-sm-12 col-xs-12 no-padding form-group optin-recaptcha"> <div id="captcha-0Pmcs"></div> </div> <div class="col-md-12 col-sm-12 col-xs-12 no-padding form-group envoyer text-center "> <button id="dj_envoyer_inscription-0Pmcs" class="dj_envoyer_inscription" value="xx" type="submit">S'inscrire</button> </div> </form> </div>
[custup_count_abonnes_liste_mailchimp]
4369
[custup_form_horizontal_optinmonster]
<script type="text/javascript"> var email = ""; jQuery(document).ready(function( $ ) { grecaptcha.render( 'captcha-jbaIZ', { 'sitekey' : '6LdT1-4gAAAAAO9Enn6scQv9Sg7vEHfEmTzlKqlw', 'theme' : 'light' }); var dj_envoyer_inscription = true; jQuery(document).delegate( '#emailjbaIZ', 'change', function(){ email = jQuery(this).val(); }); jQuery(document).delegate( '#dj_envoyer_inscription-jbaIZ', 'click', function(){ if(dj_envoyer_inscription){ dj_envoyer_inscription = false; var data = new FormData(); data.append( "action", "inscription_mailchimp"); data.append( "email", email); data.append( "recaptcha_response", jQuery("#dj_form_horizontal_optinmonster-jbaIZ .g-recaptcha-response").val()); jQuery("#dj_form_horizontal_optinmonster-jbaIZ .panel").css('display', 'none'); jQuery("#dj_form_horizontal_optinmonster-jbaIZ .panel-primary").css('display', 'block'); jQuery("#dj_form_horizontal_optinmonster-jbaIZ .panel-primary span").html( site.message_030 ); $.ajax({ url: site.ajax_url, type: 'post', dataType: 'JSON', processData: false, contentType: false, cache: false, data: data, success: function(result) { if(result.alerte){ jQuery("#dj_form_horizontal_optinmonster-jbaIZ .panel").css('display', 'none'); jQuery("#dj_form_horizontal_optinmonster-jbaIZ .panel-danger span").html(result.alerte); jQuery("#dj_form_horizontal_optinmonster-jbaIZ .panel-danger").css('display', 'block'); }else if(result.message){ jQuery("#dj_form_horizontal_optinmonster-jbaIZ .panel").css('display', 'none'); jQuery("#dj_form_horizontal_optinmonster-jbaIZ .panel-success span").html(result.message); jQuery("#dj_form_horizontal_optinmonster-jbaIZ .panel-success").css('display', 'block'); } if(result.status){ dataLayer.push({ "event": "gaEvent", "eventCategory": "Blog-Floating-Bar", "eventAction": "clic", "eventLabel": "https://www.custup.com/poc-proof-of-concept-definition-interet-methodologie/", "eventValue": "", "eventNoninteraction": "true" }); } dj_envoyer_inscription = true; }, error: function(errorThrown){ dj_envoyer_inscription = true; } }); } return false; }); }); </script> <div id="dj_form_horizontal_optinmonster-jbaIZ" class="dj_form_horizontal_optinmonster"> <input type="hidden" name="recaptcha_response" value=""> <div class="col-md-12 col-sm-12 col-xs-12 no-padding form-group dj_email_content"> <input class="form-control" type="text" id="emailjbaIZ" name="email" placeholder="E-mail" /> </div> <div class="col-md-12 col-sm-12 col-xs-12 no-padding form-group text-center dj_email_envoyer"> <button id="dj_envoyer_inscription-jbaIZ" class="dj_envoyer_inscription" type="submit">Valider</button> </div> <div class="col-md-12 col-sm-12 col-xs-12 no-padding form-group optin-recaptcha"> <div id="captcha-jbaIZ"></div> </div> <div class="form-group col-md-12 col-sm-12 col-xs-12 no-padding m-5"> <div class="panel panel-primary m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> <div class="panel panel-success m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> <div class="panel panel-danger m-0" style="display:none;"> <div class="panel-heading"> <span class="m-5"></span> </div> </div> </div> </div>