Comment adopter une culture d’innovation, de transparence et de partage avec Azure DevOps ?

« Une entreprise qui fait faillite est une entreprise qui n’a pas réussi à échapper à la concurrence ». Et comment se distinguer de la concurrence ? Grâce à l’innovation.

Innovation

L’innovation est la clé du succès de toute entreprise. Comme le dit très bien le proverbe, « une entreprise qui fait faillite est une entreprise qui n’a pas réussi à échapper à la concurrence ». Et comment se distinguer de la concurrence ? Grâce à l’innovation. Un nouveau produit jamais vu sur le marché, de nouvelles machines plus efficaces, des processus optimisés, etc. Le digital ne fait pas exception. A l’ère où tout est disponible en ligne, où tout est connecté et où tout doit aller « plus vite », il est impératif de mettre en place une culture d’innovation permanente au sein de l’entreprise, et ce à tous les niveaux. L’innovation fait partie intégrante de la culture DevOps, et c’est pourquoi Azure DevOps s’y prête particulièrement bien. Un spécialiste métier a une idée ? Pas besoin d’analyse sans fin, qui aboutit à une implémentation tardive après avoir perdu tout son sens. Il suffit de créer une nouvelle feature dans un backlog dédié à cet effet, de la documenter et la prioriser, afin qu’un développeur s’attelle à la tâche et la déploie rapidement jusqu’en production. Le temps entre l’idée et le déploiement en production est appelé lead time, et la culture DevOps s’efforce de réduire ce temps au minimum, de sorte à stimuler la mise en place rapide d’idées novatrices et d’en mesurer l’impact directement sur les utilisateurs finaux. Mais comment faire pour implémenter et déployer rapidement, sans risquer une catastrophe ? Grâce à l’automatisation. Le build du code est automatique, le code est couvert par des tests également automatisés, et le déploiement jusqu’en production est totalement automatique, voire sans intervention humaine. Tout cela est supporté par Azure DevOps via des pipelines (on parle de CI/CD, Continuous Integration & Continuous Deployment/Delivery). Il en va de même du côté technique, où l’innovation est tout aussi importante. C’est pourquoi Azure DevOps supporte les dernières pratiques de développement (CI/CD dans le code source, Infrastructure-as-code, etc.) et s’intègre avec les technologies les plus récentes (Docker, npm, Azure, etc.), afin de permettre aux développeurs de rester à la pointe et de participer à la réduction du lead time.

Transparence

La transparence aide à la collaboration. Si rien n’est caché, il n’y a jamais de surprise et chacun peut s’organiser en conséquence. Azure DevOps permet une totale transparence dans le travail à plusieurs niveaux : via les work items et le backlog tout d’abord, qui fournissent une vue claire et détaillée du travail à réaliser, des estimations, du planning et des priorités ; grâce aux pull requests et au code review, ensuite, ainsi qu’à l’ensemble du code source accessible directement dans les différents repositories ; au travers des pipelines également, qui reflètent à tout moment l’état du système et la capacité à déployer de nouvelles features ; et finalement grâce aux dashboards personnalisables qui affichent un résumé de l’ensemble de la plateforme, en fonction des intérêts des parties prenantes. Transparence ne signifie bien entendu pas faible sécurité, et il est possible de configurer finement les permissions des utilisateurs afin de conditionner l’accès et les actions autorisées au sein des projets.

Partage

La gestion de la connaissance, au sens large, est au centre de toute collaboration longue durée. C’est elle qui permet de s’améliorer, de gagner en efficacité, et de ne pas réinventer la roue à chaque nouveau projet. Le partage de cette connaissance, via du code, de la documentation, des outils, ou simplement des discussions accessibles publiquement, représentent diverses manières de partager le fruit de son travail avec le reste de l’entreprise, et d’ainsi aider au développement futur. Qu’il s’agisse d’une librairie de code partagée via des artifacts, de commentaires sur une pull request, d’une discussion sous un work item, de fichiers de configuration et de variables ou de secrets réutilisables, de la mise en place de best practices via des policies, de queries pour afficher une vue particulière du travail en cours, ou encore de documentation via un readme ou un wiki, tout est pensé et prévu pour aider et encourager le partage de la connaissance, du code et des outils avec Azure DevOps.

Article rédigé par Jonathan Hiben, .NET Expert & Software Craftsman chez Ainos.

Pour plus d’informations, n’hésitez pas à nous contacter sur info@ainos.lu