Lors de la création d’un produit, d’un service, on réalise en général une étude de marché afin de vérifier que le concept est viable et que la cible sera bel et bien au rendez-vous.
Cette vérification n’est pas seulement intéressante dans le domaine du marketing, on retrouve des équivalences dans de nombreux secteurs différents.
Pour la partie qui nous intéresse, les projets informatiques on a le POC qui peut entrer en jeu.
Mais que se cache-t-il vraiment derrière ce terme ?
Un prototype avec ses objectifs
Un POC (Proof Of Concept) traduit en français par démonstration de faisabilité est une réalisation qui, comme son nom l’indique, a pour vocation de démontrer la possibilité d’un procédé.
Il ne faut pas confondre le principe de POC avec celui de prototype. Un prototype permet de représenter le produit (ou le service) via une version simplifiée, il en montre les lignes directrices. Cela peut par exemple passer par un ensemble de maquettes interactives pour simuler la navigation. Un POC peut prendre la forme d’un prototype comme pas du tout, il peut par exemple ne pas du tout ressembler à l’application finale. Lui ne doit pas répondre à la question “Comment cela sera fait ?” mais plutôt “Est-il possible de le faire”.
Le but d’une preuve de concept est de démontrer la faisabilité. La réponse qui en incombe se doit d’être binaire (oui ou non), on parle de décision “GO” ou “NO GO”.
Il est important de définir de vrais objectifs pour un POC qui permettront en fonction du résultat de prendre une décision avec des critères déterminés en amont.
Il existe alors de nombreuses formes que peuvent prendre les POCs…
Des cas d’utilisation multiples
Une fois que l’on a compris l’intérêt du concept, il est possible de le décliner dans de multiples situations.
On peut par exemple lors d’une volonté d’évolution, vérifier qu’une certaine technologie permet bien de gérer une certaine fonctionnalité, ou par exemple que la cohabitation avec une autre technologie est possible avant de vraiment la mettre en place sur le projet. Vérifier la compatibilité avec une taille d’écran ou un navigateur en particulier.
Mais le concept va au-delà de tous les exemples auxquels on peut penser dans un premier temps qui en général est lié à une idée de nouveauté, d’ajout, de mise en place.
En effet, il existe d’autres “domaines” dans lesquels, le concept de POC peut intervenir : Performance : réaliser un test de montée en charge pour prouver que le serveur peut tenir la charge d’un nombre X donné d’utilisateurs simultanés. Sécurité : démontrer l’existence d’une faille logicielle sans pour autant aller en profondeur, mais simplement prouver son existence. Communication : au plus simple, cela peut passer par de simples ping pour vérifier que deux serveurs peuvent communiquer entre eux.
Un investissement sur l’avenir
En général cette notion est prisée des méthodes agiles, car elle peut s’adapter à la forme de “mini projet”.
L’élaboration d’un POC exige généralement un certain investissement en temps et/ou en ressources (financières ou humaines). On parle alors d’investissement dans le sens où le but premier est habituellement de réduire les risques avant de mettre des ressources au niveau de la production.