Production Programmation Qualité

Gestion d’une production – Processus de mise en production

 

 

 

 

 

 

 

 

 

 

Les plans ne sont rien, c’est la planification qui compte.

Dwight David Eisenhower

 

Voici un article présentant un processus cohérent de livraison d’application en production de la manière la plus sécurisée possible.

Son but est de partager mon expérience et les démarches qui ont déjà réussies dans différents contextes d’entreprise, de technologies et humains.

Cette présentation s’appuie sur 3 étapes clés permettant de normaliser et réduire les incompréhensions autour des différents rôles des intervenants offrant une meilleure efficacité personnelle et collective.


Étape 1: Définition d’un processus général du développement à la production

La définition de la chaîne globale est importante car elle permet de préciser au niveau général la manière dont se passe une mise en production.

En effet, le  fait de préciser permet de réduire les incompréhensions entre équipe et préciser la responsabilité. Chaque étape est en charge d’une ou plusieurs tâches permettant aussi d’indiquer l’évolution de cette étape dans la chaîne globale.

 

Exemple de chaîne de mise en production globale

 

Nous avons fait le constat que les objectifs de développement et de la conception logicielle diffèrent radicalement des objectifs de production et de maintenance opérationnelle.

 

En effet, quand le développement est focalisé sur la production d’une nouvelle fonctionnalité, la production est focalisée sur le fonctionnement optimal de l’existant.

Quand la production se demande comment stabiliser, le développement se demande comment produire.

Bref, des objectifs antagonistes dont la résolution restera un compromis.

La première phase consiste à gérer un cycle développement/Intégration/test et une seconde chaîne livraison/mise en production/retour arrière.

Le point de communication entre les 2 univers doit être le plus clairement défini possible. Cela ne veut pas dire que cela doit être compliqué ou réalisé par des humains mais plutôt qu’il faut vraiment avoir conscience que lorsque l’on passe ce point, une nouvelle application va être déployée et qu »un nouvel ordre va s’instaurer pour la maintenance opérationnelle.

 

Étape 2: Définition des responsabilités des personnes et des outils

Le premier processus ne peut être soutenu par des considérations de haut niveau sans aboutir à des contradiction.

Le 2ème schéma consiste à définir l’environnement technique et humain capable de soutenir votre chaîne de mise en production globale.

Dès que vous possédez les 2 schémas vous êtes en mesure d’expliquer chacune des étapes et d’y mettre un responsable, un rôle et des outils spécifiques pour la réalisation de cette étape.

Exemple de chaîne avec acteurs et outils

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ici, le processus est très simple et s’articule autour d’un intervenant technique. Celui-ci développe, intègre ses solutions pour la production et livre son travail sur les environnements cible ( ou de production).

Le processus ici met en évidence le fait que le travail à toutes les étapes est sauvegardé et historié dans un Référentiel de sources (Subversion, GIT, CVS, …)

Le processus de retour arrière est entièrement géré par la gestion des sources. Retourner en arrière signifie revenir à une version antérieure de l’application. Ceci est grandement simplifié par l’existence du référentiel de source.

 

Étape 3: Automatisation de la chaîne

Dès que le processus général est respecté, compris et intégré par l’ensemble des acteurs intervenant du développement jusqu’à l’exploitant en charge de l’installation, une sorte de magie opère.

En effet, les tensions entre les différents intervenants diminuent car ils trouvent plus facilement « leur place » dans l’ensemble et collaborent mieux.

Dans une phase de mûrissement, les responsabilités et outils sont mis en place pour donner corps au processus général. Cette phase est importante car elle donne les signaux capables de révéler si oui on non vos choix sont adaptés ou non à votre contexte spécifique.

 

Dès que chacun à trouver sa place, son rôle et ses outils permettant de fonctionner correctement et ceci même dans les situations particulières ( retour-arrière, coupure de service, erreurs de manipulation, …), la phase d’automatisation peut-être envisagée.

L’automatisation appliquée à un processus efficace amplifie l’efficacité, l’automatisation appliquée à un processus inefficace amplifie l’inefficacité

Bill gates.

Le but de cet article n’est pas d’identifier ou présenter des outils technologiques permettant l’automatisation des processus mais plutôt de mettre en avant la suprématie du processus général sur l’automatisation.

Si vous arrivez à faire marcher quelque chose avec des individus de manière cohérente, il est possible de l’automatiser. Si vous n’y arrivez, il est préférable de revoir le processus et la nature des relations, des rôles et des tâches de chacun.

 

Dès que cela fonctionne bien en « Vrai », l’automatisation peut être appliquée. Les solutions technologiques existent en grand nombre. Il suffit de chercher comment automatiser des procédures manuelles à l’aide d’outils ou de technologies parfois très diverses.

 

Pour Conclure

Le processus des mise en production est donc un produit d’un autre processus celui d’amélioration continue des stratégies de livraisons et de déploiement visant l’implémentation efficace des étapes et le cheminement vers l’automatisation complète de la démarche. La qualité est encore le coeur du système et la roue de Deming un bon pivot.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.