DevOps, quels changements culturels ?
S'améliorer c'est changer, être parfait c'est changer régulièrement. Winston Churchill
Comme déjà évoqué dans de précédents posts, mettre en place DevOps c'est prendre en compte qu'il s'agit d'une réelle transformation / amélioration d'entreprise. Il ne s'agit pas uniquement de changements technologiques comme beaucoup d'éditeurs logiciel peuvent le laisser entendre, il s'agit également de changement de mentalité, de culture d'entreprise...d'organisation. Il m'a semblé intéressant d'aborder le sujet des changements culturels car c'est peut-être une partie qui n'est pas souvent abordée lors des conférences et sur les blogs : on y parle généralement outillage, intégration continue, agilité... mais il n'est pas expliqué l'ensemble des impacts de ce changement majeur sur toute l'entreprise. Je n'ai pas la prétention ici de donner une liste exhaustive du changement, mais plutôt de vous faire part de mes constats et mon expérience.
"Continuous machin-truc", ou la course contre le temps...
Avec DevOps nous entendons parler de tout un tas de pratiques utilisées en continu : continuous integration, continuous deployment, continous testing, continuous feedback, continuous improvement.....Ouaw ! Ça en fait des choses à faire en continu ! Comme vous pouvez le constater dans l'ensemble de ces terminologies autour de Devops, la notion de continuité est prédominante. Il faut aller vite, de manière itérative et incrémentale, s'améliorer constamment, déployer plus vite, intégrer en permanence, sous forme de sprint ou de flux constant de travail.... mais où cela s'arrête-t-il ?
Nous touchons du doigt une des composantes essentielle : l'instantanéité. Nous arrivons vers une course effrénée à la performance, l'optimisation et la rapidité pour apporter plus de valeurs, au plus tôt, et rationaliser les ressources. L'agilité et le DevOps sont simplement la réponse IT à la transformation de notre monde : tout est désormais instantané, accessible, horizontal... une course après le temps. Vous comprenez sûrement que ce changement de mentalité dans le domaine IT, qui était jusque là plutôt orienté process et cycles longs, entraîne une réelle révolution dans les pratiques et, par conséquent, doit embarquer les femmes et les hommes qui travaillent dans ce contexte.
L'agilité à ouvert la porte en réduisant les cycles et en incorporant le changement au plus tôt; DevOps quant à lui casse les silos et les barrières en rationalisant, outillant et mesurant sur fond de collaboration et de partage.
Ci-dessus vous retrouvez le schéma classique de présentation de DevOps : une boucle infinie d'étapes qui a pour objectif d'optimiser le time to market et la performance de la production... en continu :)
Qu'est-ce qui change avec DevOps ?
Le changement opéré via une transformation DevOps impacte plusieurs volets.
L'organisation
DevOps prône collaboration et partage au sein de l'entreprise. Il trouve sa source dans l'antagonisme des objectifs entre les études et les opérations, et de l'incapacité / l'inefficience de travailler ensemble de manière fluide. Il semble en effet assez aberrant que des personnes, qui sont sensées travailler ensemble, finisse par travailler de manière individuelle.
D'un point de vue organisationnel DevOps va changer :
- Les responsabilités : qui sont partagées entre tous les membres de l'équipe et non plus par pan fonctionnel;
- La composition des équipes: qui sont organisées par produit et non plus en silo (horizontal Vs Vertical);
- Le mode de management : d'une vision top-down (limite micro-management) nous passons à du bottom-up (subsidiarité, confiance et autonomie);
- Les objectifs : qui doivent être orientés "produit" et sont communs à tous les services;
- Les budgets : qui sont répartis par ligne produit et réévalués (la mise en place de DevOps à un coût de départ : automatisation, outillage, formation, capitalisation des ressources...).
- La gestion des prestataires : il faut adapter les modes contractuels afin d'encourager les fournisseurs à la collaboration, la flexibilité et la prise de risque. Un centre de services fortement borné par de fortes SLA va avoir du mal à intégrer l'agilité et l'innovation. Quid de sa collaboration avec d'autres fournisseurs...
La place des collaborateurs
Que deviennent les collaborateurs dans une transformation DevOps ? Quelle est la place des managers ? Quels changements au niveau opérationnel ?
Nous l'avons vu, DevOps est un énorme changement d'organisation mais cela nécessite également que les collaborateurs changent. Ici il n'y a plus de place pour l'individualisme, l'indépendance (versus autonomie), la stagnation, l'immobilisme, la rigidité... DevOps entraîne une réelle révolution des mentalités qui nécessite une remise en question parfois profonde des collaborateurs :
- Les rôles : les managers deviennent des coachs et doivent lâcher prise, les développeurs doivent être sensibilisés à la production et même y intervenir, les Ops doivent s'intéresser aux produits qu'ils exploitent et avoir une vision fonctionnelle, le métier doit comprendre et supporter les choix techniques...;
- Les mentalités : pour une transformation réussie il faut que les collaborateurs adoptent de nouvelles valeurs afin d'améliorer la collaboration et être réactifs. L'objectif étant d'adopter une posture prônant la curiosité, la transparence, la communication, l'honnêteté, la bienveillance, le respect... être prêt au changement;
- Les compétences : comme abordé plus haut, le fait d'effectuer toutes les étapes de build et de run en continu implique l'adoption de nouveaux outils. De ce fait, les collaborateurs doivent faire preuve d'ouverture technologique, s'intéresser aux nouvelles pratiques, essayer, tester...viser l'excellence technique.
Bien entendu, une telle transformation rencontre nécessairement une forte résistance au changement. Cet aspect culturel de la transformation, qui est le plus difficile à mettre en place dans le DevOps, doit absolument être accompagné par l'entreprise afin de mettre tout le monde en position de réussite.
Conclusion
Il est difficile d'être exhaustif en un seul article sur l'ensemble des changements opérés par une transformation devOps d'un point de vue culturel. Je n'ai ici pas abordé par exemple toute la logique de l'agilité. Néanmoins, j'espère avoir parcouru les sujets les plus importants. Dans un prochain article j'aborderai la notion d'accompagnement au changement, qui est une étape cruciale pour une transformation réussie.
Vous pouvez également consulter mes autres posts autour du DevOps :
- DevOps - Les indicateurs
- DevOps - Définition d'une philosophie
- DevOps - Les idées reçues
- DevOps - Le nouveau rôle du DEV
- DevOps - Quelles sont les entreprises cibles ?
- DevOps - Contextes organisationnels favorables
- DevOps - Les projets favorables