Team Work

Pourquoi parle-t-on de DevOps ?

DevOps est un cadre de travail customer-centric, qui met l’accent sur la nécessaire synergie entre tous les acteurs d’un projet informatique, pour en assurer la réussite.

Le terme DevOps est l’union du «development» – les équipes en charge du développement logiciel – et des «operations» – les administrateurs systèmes en charge de l’exploitation. 

Plus qu’une méthodologie, surtout pas un métier, DevOps est avant tout un état d’esprit, une culture commune, presque une philosophie de travail.

Par nature, développeurs et opérationnels ont souvent des objectifs conflictuels, voire presque antagonistes. Les premiers doivent apporter des correctifs et des évolutions fréquemment, alors que les seconds recherchent avant tout la stabilité. Dans un fonctionnement traditionnel, plus l’activité est silotée, et plus chacun défend son propre périmètre.

Or la réussite du projet, c’est la conjonction des 2 mondes : assurer le développement du fonctionnel tout en garantissant la stabilité et la performance.

Dans un fonctionnement DevOps, tout le monde travaille vers un objectif commun : la réussite de l’entièreté du projet, et pas uniquement de sa propre partie. Il n’est plus question de chercher un coupable, de se renvoyer les responsabilités, ou se transférer les patates chaudes, et in fine de passer 2j sur une tâche qui pourrait être traitée en 2h.

DevOps concrètement

Très concrètement, en mode DevOps, on s’appuie sur un ensemble d'outils et des bonnes pratiques :

Une vision et une culture commune

S’intéresser et comprendre les besoins, les contraintes et les enjeux de tous les acteurs ; Mesurer l'impact de ses actions sur le travail des autres métiers et sur le business du client

Des canaux de communication privilégiés

La communication est la clé ! Des outils de chat ou de visio, comme Slack, Hangout permettent de fluidifier les échanges. Ce qui n'empêche pas de conserver un certain formalisme pour respecter les processus de chaque métier, comme par exemple exprimer ses demandes sous forme de tickets.

L’automatisation de bout en bout

Plus les processus sont automatisés et plus on peut accélérer la fréquence des livraisons. Tests automatisés, infrastructure-as-code, intégration continue, déploiement continu : ces outils techniques sont les garants de la qualité du projet, et le passage obligé pour la montée en charge

Des outils de mesure non biaisés mis en commun

Pour avancer ensemble, les équipes build et run ont besoin de partager le même niveau d'information, en toute transparence. Une bonne supervision permet d'avoir une perception identique et objective des problèmes. Elle doit tout autant couvrir l'infrastructure que le code, et aller jusqu'aux métriques métier et à la perception de l'utilisateur final.

Le partage de la connaissance

Une base de connaissances consolidée assure un niveau d'information égal entre les métiers. Enrichie en continue, documentant aussi bien les subtilités du code que les procédures d'exploitation, elle devient un moyen de renforcer la coopération et de souder l'équipe. Les retours d'expérience y ont bien sûr toute leur place.

En résumé : pourquoi adopter une approche DevOps ?

En résumé, un fonctionnement DevOps consiste donc à créer une synergie globale, en s’appuyant sur une meilleure communication entre les développeurs et les opérationnels et une collaboration active, pour :

  • améliorer le temps de résolution des problèmes,
  • déployer des features plus rapidement
  • diminuer les risques, assurer le niveau de qualité et de sécurité attendu
  • mieux servir le client
En résumé