Vous avez dit Ajeur what ???? Mon esprit commençait à dériver vers un ciel bleu azur, une plage de sable fin… Hellllooooo ! Microsoft Azure DevOps… Oh… Ah… OK..
Je n’avais jamais entendu parler d’Azure Devops avant mon entretien avec Cédric ce 19 novembre 2018. Cédric me parle de manière passionnée de cet outil DevOps, je l’écoute religieusement sans avoir la moindre idée de ce qu’il me dit. J’en retiens uniquement qu’il s’agirait là d’un outil formidable, selon Cédric…., de gestion de projet de développement informatique.
Lors de ma première mission post-reconversion, nous utilisions des méthodes « archaïques » de développement et de mise en production avec divers outils non intégrés. Avant ma reconversion en informatique, lorsque j’étais en charge de la gestion de projets Osint, j’utilisais ConceptDraw, que je trouvais pas mal du tout par ailleurs… Pour ceux qui ne connaissent pas cet outil, ConceptDraw est un outil collaboratif de gestion de projets sur le Cloud qui permet la gestion des ressources (humaines et financières), la gestion de l’échéancier, du suivi, de l’analyse et du reporting de la progression du projet.
Alors, je m’interroge, qu’est-ce qu’Azure pourrait m’apporter de plus que ConceptDraw dans ce contexte de développement d’applications ?
Hum, think think think… La réponse ne tarda pas à tomber quelques semaines plus tard….
La prononciation anglaise d’Azure continue de me faire sourire... Ajeur DevOps…. Je suis à mille lieues d’imaginer la puissance de cet outil.
Alors, qu’est-ce qu’Azure DevOps ?
Azure DevOps est un outil de gestion du cycle de vie d’une application, de sa conception, tout du long de sa création / développement, de son déploiement et jusqu’à son retrait éventuel.
Ceci dit, Azure DevOps est bien plus qu’un outil, c’est aussi une vision. Une vision, selon laquelle les exigences d’une application évoluent en permanence notamment au travers des besoins métiers et d’idées pour de nouvelles opportunités. Une vision qui place les parties prenantes externes à l’équipe de développement au cœur du processus de développement de l’application en affinant leurs exigences et en leur procurant un feedback régulier sur les implémentations. Une vision selon laquelle, le travail de l’équipe de développement se poursuit au-delà de la livraison de l’application, pour résoudre les problèmes de production notamment, voire développer des versions ultérieures en tenant compte des feedbacks des utilisateurs finaux.
C’est bien beau tout cela, et concrètement qu’est-ce que ça donne ?
Ben concrètement, avec Azure DevOps, je peux gérer l’ensemble des aspects suivants qui sont inhérents à la gestion du cycle de vie de mon application :
1. Le contrôle de versions
Aspect incontournable dans le développement d’une application à l’échelle d’une équipe, Azure DevOps permet la mise en place de systèmes de contrôle de versions et fournit tout un certain nombre de best practices qui ont trait à la gestion des branches de développement (i.e. création, fusion, suppression etc.) éventuellement au travers de processus de builds automatisés.
2. Le développement d’une application qui répond aux attentes des parties prenantes
Comment s’assurer régulièrement que nous développons la bonne application qui répond aux attentes et exigences des parties prenantes ? Azure DevOps, permet d’intégrer les parties prenantes tout au long du cycle de vie de l’application grâce à plusieurs outils intégrés qui permettent de nouer un dialogue régulier et ce, avant même le début du processus de développement. L’idée sous-jacente est de minimiser la quantité de travail à reprendre en livrant de la valeur en continu sur un mode itératif et incrémental, tout en permettant aux parties prenantes d’accéder aux spécifications et en les invitant à fournir des feedbacks réguliers aussitôt que des bouts de fonctionnalités sont développés.
3. La gestion de projet à proprement parler
Je peux gérer mes ressources humaines, le planning de mon projet selon la méthode de développement Agile, procéder à la définition de mes spécifications fonctionnelles eu égard aux recueil et analyse des besoins du client, procéder au découpage des charges de travail et en suivre la progression et bénéficier de tout un ensemble d’outils de suivi des work items et de pilotage de mon projet ainsi que de reporting.
4. Le développement de l’application
Azure DevOps, c’est aussi une solution de stockage de mon code source qui inclue l’historique des modifications effectuées. Je peux également définir des règles / politiques d’intégration continue qui forcent la revue du code par un membre de l’équipe avant sa fusion afin de s’assurer de sa qualité.
5. Les Tests
Avec Azure DevOps, je peux mettre en place un certain nombre de tests manuels voire automatisés. Je peux notamment mettre en place des tests fonctionnels et des tests de charge.
Avantages compétitifs
Les principaux éléments de différenciation d’Azure DevOps eu égard à ses concurrents sont à mon sens :
In a nutshell…
S’il fallait que je résume en deux points, les aspects d’Azure DevOps qui m’ont le plus subjuguée, je dirais :
1. Productivité
Je pense réellement qu’un bon usage de l’outil permet d’accroître la productivité de l’ensemble de l’équipe au travers de
o La collaboration, tout en étant centralisés et accessibles à tous : les spécifications, les tâches, les bugs, les test cases, code source, code review, builds, reporting, feedback, etc.
o La gestion de la complexité en la découpant de manière granulaire.
2. Intégration
La communication avec l’ensemble des parties prenantes au projet est améliorée, régulière et constante grâce
o Aux outils intégrés qui permettent d’envoyer directement à partir d’Azure DevOps des demandes de feedback, les jeux de tests, la liste des spécifications / besoins et bien plus encore
o A la Visibilité, qui permet une visualisation facile et customisable des indicateurs de pilotage du projet afin de gérer de manière proactive des problèmes et en permettant l’identification de tendances / patterns
Commentaires :
Aucun commentaires pour le moment
Laissez un commentaire :