Overcoming Challenges in Agile and DevOps Integration: A Qualitative Study
Cette étude qualitative, basée sur des entretiens avec six professionnels du secteur du Brésil et d'Allemagne, identifie les principaux défis culturels, structurels, de processus et techniques liés à l'intégration d'Agile et de DevOps, tout en proposant quatre domaines de solutions stratégiques pour aider les organisations à surmonter ces barrières et à améliorer la livraison de logiciels.
Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète
Imaginez que vous essayez de faire rouler une voiture de course ultra-rapide (Agile) à l'intérieur d'une usine massive et complexe (DevOps).
Agile est comme le pilote : il veut accélérer, prendre des virages rapidement et changer d'itinéraire en fonction de ce que les passagers (les clients) veulent en ce moment.
DevOps est comme l'équipe de stand et le sol de l'usine : ils veulent que la voiture soit sûre, que le moteur tourne sans accroc et que les réparations se fassent automatiquement sans interrompre la course.
Le document que vous avez partagé est une étude sur ce qui se passe lorsque vous essayez de combiner ces deux mondes. Les chercheurs ont interviewé six « mécaniciens de course » et « pilotes » expérimentés du Brésil et d'Allemagne pour comprendre pourquoi cette combinaison est si difficile et comment y remédier.
Voici la décomposition de leurs conclusions en termes simples :
Le gros problème : Pourquoi est-ce difficile de les mélanger ?
Les chercheurs ont découvert que les plus grands obstacles ne sont généralement pas les outils ou le code ; ce sont les personnes et les règles. Ils ont regroupé les problèmes en quatre catégories :
La culture de la « mauvaise idée » (Barrières culturelles et organisationnelles) :
- La métaphore : Imaginez que le pilote pense que « Agile » signifie « cours aussi vite que tu veux, sans règles », tandis que l'équipe de stand pense que « DevOps » signifie « achète un nouveau bras robotisé ».
- La réalité : Les gens comprennent souvent mal ces concepts. Ils pensent que l'achat de logiciels (comme GitLab) fait d'eux une équipe DevOps, ou qu'Agile signifie suivre une liste de contrôle stricte et rigide. En réalité, Agile est un état d'esprit flexible, et DevOps est une question de collaboration, pas seulement d'outils. Il existe également une « culture du blâme » où les gens ont peur de faire des erreurs, ce qui les empêche d'essayer de nouvelles choses.
Les « murs de verre » (Contraintes structurelles) :
- La métaphore : Le pilote est dans la voiture et le mécanicien est dans le garage, mais il y a un épais mur de verre entre eux. Ils peuvent se voir, mais ils ne peuvent pas se parler ni se passer d'outils facilement.
- La réalité : Les entreprises ont souvent des départements qui ne se parlent pas (silos). Les personnes qui écrivent le code (développeurs) et celles qui gèrent les serveurs (opérations) sont souvent dans des pièces différentes avec des chefs différents. De plus, parfois, l'entreprise est trop lente pour prendre des décisions, ou elle dépend de sociétés externes (comme Apple ou Google App Stores) qui ne lui permettent pas de mettre à jour ses logiciels rapidement.
Le « manuel de règles trop compliqué » (Complexité des processus et des méthodes) :
- La métaphore : L'équipe essaie de suivre un manuel d'instructions de 500 pages qui a été écrit pour un autre type de voiture, et cela la ralentit.
- La réalité : Les entreprises tentent souvent d'imposer des cadres lourds et rigides (comme SAFe) à leurs équipes. Cela ajoute trop de paperasse et de réunions. Il devient difficile de trouver l'équilibre entre réparer ce qui est cassé (urgent) et construire de nouvelles choses (innovation).
L'angle mort (Limites techniques) :
- La métaphore : Le pilote accélère, mais le tableau de bord est cassé. Il ne sait que le moteur surchauffe qu'au moment où la voiture prend feu.
- La réalité : Parfois, les systèmes ne sont pas configurés pour « voir » ce qui se passe en temps réel. Si quelque chose casse, il faut beaucoup de temps pour comprendre pourquoi parce que les données sont éparpillées dans différents outils.
Les solutions : Comment gagner la course
Les experts interviewés ont proposé quatre manières principales de résoudre ces problèmes :
Créer une « Super-Équipe » (Structure d'équipe et autonomie) :
- La solution : Au lieu d'avoir un « pilote » et un « mécanicien », créez une équipe où le pilote est aussi le mécanicien.
- L'idée : Si la personne qui écrit le code est aussi responsable de son bon fonctionnement, elle écrira un meilleur code. Elle n'aura pas envie de casser les choses car c'est elle qui devra se réveiller à 3 heures du matin pour les réparer. Donnez à ces équipes le pouvoir de prendre leurs propres décisions sans demander la permission à un patron pour chaque petit changement.
Changer l'« esprit d'équipe » (Culture et collaboration) :
- La solution : Arrêtez de blâmer les gens quand les choses cassent ; commencez par demander « Comment réparer le système ? ».
- L'idée : Créez un environnement sûr où les gens peuvent admettre leurs erreurs sans crainte. Utilisez des outils pour rendre le travail de chacun visible (comme un tableau blanc partagé) afin que tout le monde sache ce qui se passe. Changez le système de récompense pour que les gens soient récompensés pour aider l'équipe à gagner, et non pour être simplement les plus rapides individuellement.
Être flexible avec les règles (Gestion du changement et des processus) :
- La solution : Ne suivez pas le manuel aveuglément ; suivez les principes.
- L'idée : Si une règle (comme une réunion spécifique) n'aide pas l'équipe à avancer plus vite, supprimez-la. Commencez petit. N'essayez pas de changer toute l'usine du jour au lendemain. Choisissez une petite équipe, prouvez que cela fonctionne, puis étendez-vous lentement. Soyez honnêtes sur votre situation et ne prétendez pas être « Agile » si vous ne l'êtes pas encore.
Améliorer le tableau de bord et les outils (Automatisation et infrastructure) :
- La solution : Automatisez les tâches ennuyeuses et installez de meilleurs capteurs.
- L'idée : Utilisez des robots (automatisation) pour tester le code et déployer les mises à jour afin que les humains n'aient pas à le faire manuellement. Mettez en place un système de « train » où les mises à jour sortent selon un calendrier (par exemple, tous les mardis) afin que tout le monde sache quand attendre les changements. Cela réduit le risque de tout casser.
L'essentiel
L'étude conclut que vous ne pouvez pas simplement acheter un logiciel pour régler cela. Vous devez changer la culture.
C'est comme essayer de transformer un cargo lent et lourd en un bateau rapide. Vous ne pouvez pas simplement installer un moteur plus puissant (les outils) ; vous devez changer la façon dont l'équipage travaille ensemble, la façon dont ils prennent des décisions et la façon dont ils perçoivent leurs responsabilités. Les équipes les plus performantes sont celles où les personnes qui construisent le logiciel et celles qui le font fonctionner sont dans la même équipe, partagent les mêmes objectifs et se font confiance.
Limites : Les chercheurs admettent n'avoir interrogé que six personnes, donc bien que leurs conseils soient très intelligents, ils pourraient ne pas convenir à toutes les entreprises du monde. Ils suggèrent que d'autres études soient nécessaires pour voir si ces idées fonctionnent pour tout le monde.
Noyé(e) sous les articles dans votre domaine ?
Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.