Le DevOps et la recherche & Dev(Ops) : comment allier DevOps et R&D ?

Écrit par Wilfried Kirschenmann, le 02 octobre 2019

Cette année, Aneo renouvelle sa participation à la DevOps REX ! A cette occasion, nous vous partageons nos retours d’expérience sur des cas concrets de DevOps. 

Une des erreurs les plus communes lors de la mise en place d’une usine logicielle est de la réfléchir après la phase de développement de l’application. On pense la chaine DevOps comme un outil qui vient terminer un développement, alors que l’intérêt même de la chaine DevOps permet la facilitation du développement avant la mise en production, en facilitant les développements, les déploiements et les tests, mais aussi en contraignant les développements à être déployable.

La réflexion DevOps autour d’une application n’est pas une simple implémentation d’un template progiciel. Il est important d’y réfléchir en étudiant la solution qu’on souhaite utiliser. Une usine logicielle a un cycle de vie rythmé par le cycle de vie des applications qu’elle doit déployer.

Définir dans le marbre l’usine logicielle cause des problématiques de compatibilité avec l’applicatif créé ou pire interdit certaine stack technologique à ses développeurs. L’usine logicielle ne doit pas brider l’innovation mais plutôt permettre de l’accélérer et doit pouvoir évoluer.

Pour accompagner au mieux une équipe de R&D en évolution permanente, il est donc primordial d’avoir une usine logicielle et des outils DevOps sur le même rythme. Pour ce faire, l’usine logicielle doit être ouverte à la communauté d’utilisateurs, les pratiques de mise en place doivent être partagées et documentées.

De manière itérative, les équipes de développements identifient les nouveaux besoins, les bugs et les évolutions de la chaîne DevOps. Ces besoins viennent nourrir un backlog DevOps priorisé. Un environnement de R&D DevOps doit être disponible à tous afin de tester les effets d’un nouveau choix technologique sur l’ensemble de la chaine DevOps.

Ne vous reposez pas sur vos lauriers : chaque fois que vous pensez avoir finalisé votre usine, réfléchissez à quelle nouvelle fonctionnalité vous pouvez proposer à vos développeurs.
Il faut bien appréhender la notion R&D de l’usine logicielle, celle-ci nécessite des investissements et des temps de veille technologique et de test de nouvelle plateforme.

Processus DevOps R&D : l’usine logicielle doit être vue comme un produit évolutif adopté par tous !

La formation par des éditeurs d’usine logicielle n’est pas à négliger, elle permet de découvrir de nouvelles fonctionnalités et à terme permet d’ouvrir de nouvelles possibilités.

Ce backlog DevOps est dépilé selon les priorités. Après l’implémentation et la mise en place sur une plateforme test, une démonstration est faite aux utilisateurs. Selon les retours utilisateurs, des formations, des accompagnements peuvent être mis en place pour que les utilisateurs s’approprient les nouvelles fonctionnalités. La souplesse et la réactivité de cette approche R&D, permet à terme de couvrir les besoins DevOps des développeurs, mais aussi de les pousser à une certaine appropriation de la chaine DevOps.

Rappelez-vous : auditez les besoins, testez de nouvelles fonctionnalités, intéressez-vous aux nouveautés, prenez le temps de vous former et enfin accompagnez les développeurs à appréhender vos nouvelles fonctionnalités. Ils seront vos meilleurs soutiens si vous leurs simplifiez le travail.