Facebook EmaiInACirclel
Cloud – big data

Pratiques DevOps : être Agile sans DevOps ne sert à rien !

Guillaume POUSSEO
Guillaume POUSSEO
Chief Customer DevOps Services Officer

Dans un contexte économique où l’immédiateté prime pour rester dans la course, les entreprises sont obligées d’adapter leur organisation et accessoirement leur business model. Les éditeurs de solutions informatiques et certaines DSI l’ont parfaitement compris et commencent à mettre en place des pratiques agiles pour répondre à ces besoins.

J’admets que les pratiques agiles sont sources de fluidification des développements mais aussi de satisfaction client car ces derniers ont retrouvé la possibilité de changer d’avis. J’ai volontairement utilisé le mot « retrouver » car auparavant ces clients avaient cette possibilité mais cela s’effectuait au travers une pratique lourde et surtout très couteuse qui frustrait au final tout le monde.

En revanche, si ces pratiques agiles sont sources d’augmentation de productivité dans les développements, elles doivent impérativement être accompagnées d’un système de delivery digne de ce nom.

A quoi bon produire rapidement si derrière nous sommes pas capable de suivre le rythme pour mettre en production ? C’est là où pratiques Agiles doit rimer avec pratiques DevOps !

pratiques DevOps - méthodes Agiles

Les pratiques DevOps optimisent la rapidité de livraison d’un produit digital, l’Agilité le rend fluide et plus pertinent pour son marché.

Les pratiques DevOps, une évidence qui n’est pourtant pas toujours mise en place

Cela peut paraître paradoxal mais la collaboration proche (et dès le début des projets) entre les équipes d’exploitations et de développement n’est pas toujours au rendez-vous dans les DSI. Alors on se parle, certes, mais la réalité du quotidien prend vite le dessus et chacun (développement et exploitation) fait son planning indépendamment en fonction de ses priorités. Il en résulte des points de blocage :

  • Problèmes de versions sur les outils utilisés en développement et en production

  • Mises à jour non prévues qui retardent le projet

  • Architecture sans doute moins optimisée car effectuée coté développement et qui ne tient peut être pas compte des évolutions prévues par l’exploitation, etc.

DevOps est donc l’harmonisation des pratiques agiles coté développement et coté exploitation pour profiter des bénéfices des pratiques agiles sur toutes les phases du projet.

Les process sont donc adaptés en fonction des besoins pour industrialiser les mises en production. Cette circulation d’information à double sens (opérations vers le développement et développement vers les opérations) permet d’élever la qualité des projets informatiques et, in fine, de réduire considérablement les coûts.

DevOps

Crédits photo : 01net.com

En effet, comme le montre le schéma ci-dessus, l’agilité doit toucher tous les services de la DSI et pas seulement les équipes de développement au risque d’arriver rapidement à des goulets d’étranglement qui vont apporter de nouveau de la frustration aux clients finaux. C’est là que les pratiques DevOps prennent toutes leurs valeurs.

 

Des pratiques parfaitement compatibles avec l’externalisation

L’externalisation de tout ou partie de la chaîne de production ne doit en aucun cas être un frein. Que ce soit l’externalisation des développements ou l’externalisation de la production informatique, les procédures doivent s’adapter pour ne pas forcer les équipes à être sur un seul et même plateau. C’est là où le choix du prestataire est important.

Les prestataires informatiques d’outsourcing expérimentés comme Pentalog proposent des méthodes et des outils permettant de répondre à ces problématiques de distance et décalage horaire (wiki, serveurs de sources distants, intégration continues, etc.). Ces pratiques sont facilités par la virtualisation des infrastructures tant au niveau de l’exploitation que des développements. Les pratiques d’intégration continue ou de livraisons continues sont automatisées pour assurer une industrialisation des versions avec de très hauts niveaux qualité des outils développés.

Une étude de CA montre à ce propos des gains significatifs pour 90% des entreprises ayant mis en place ces méthodes avec par exemple une hausse de 17 à 23% de la qualité des logiciels développés.

Il est donc possible pour l’entreprise de jouer sur tous les leviers pour augmenter la productivité, réduire le time-to-market et réaliser des économies non négligeables sur les coûts de ses projets IT.

 

Des équipes pluri-disciplinaires

Dans les organisations Agile type Scrum, les développeurs sont plus ou moins obligés d’intégrer, c’est-à-dire bien comprendre les besoins des métiers. Le Product Owner se charge quotidiennement de faire ce lien entre les utilisateurs et l’équipe de développement en donnant régulièrement son avis sur les réalisations en cours mais cela implique une montée en compétence du développeur sur les aspects fonctionnels pour augmenter la vélocité de l’équipe.

Avec DevOps, ce même développeur sera en charge de suivre son travail jusqu’à son interaction avec les utilisateurs finaux. Les bénéfices sont multiples :

  • Une meilleure expertise dans les pratiques de développement modernes (CI/CD, Containers, Serverless…)

  • Des solutions techniques plus homogènes et robustes

  • Une meilleure sensibilisation aux finalités business, car les développeurs ne considèrent plus que leur responsabilité s’arrête au moment où ils ont fait un push sur GIT. Ils sont impliqués dans les résultats de leur travail : son succès, ses interactions et ses performances en production. Optimisant ainsi les principes de l’agilité.

Au-delà des aspects merveilleux de cette organisation subsiste malgré tout une question d’envergure : Qui supervise toute cette organisation ? Certaines structures affectent ce rôle au développeur car c’est lui qui est au sommet de la pyramide et le point de contact de tous les intervenants du projet. On parle alors de développeur « full stack », en particulier dans les startups où le manque de moyens fait que ce rôle lui incombe automatiquement.

 

Pour en savoir plus sur les pratiques Agiles et DevOps, consultez aussi :

Infrastructure informatique : quels sont les enjeux et comment les gérer ?

La transformation digitale passe par l’agilité. 8 conseils pour se lancer.

Comment rater son intégration DevOps en 5 points ?


Un commentaire

Laisser un commentaire

Votre adresse de messagerie 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.