DevOps vs Agile: quelle est la différence

La différence est ce qui se passe après le développement



image

Lors du développement du logiciel, le processus de développement ne correspondait à aucun type de gouvernance. Puis vint la cascade , qui introduisit l'idée que le développement logiciel peut être déterminé au moment où une application est créée ou construite.



Le test et le déploiement des logiciels prenaient beaucoup plus de temps qu'aujourd'hui, car il n'y avait pas d'équilibre ni de vérification entre les deux pendant le processus de développement. En conséquence, nous avons reçu des logiciels de mauvaise qualité avec des erreurs et des bugs, réalisés bien plus tard que les délais fixés. L'accent était mis sur la planification de projets longs et prolongés.



Les conceptions de cascade ont été liées au modèle à triple contrainte, également appelé triangle de gestion de projet. Chaque côté du triangle représente l'une des contraintes de gestion de projet: échelle , temps et coût . Comme l' écrit Angelo Beretta , le modèle à triple contrainte stipule que «le coût est fonction du temps et du volume, et ces trois facteurs sont liés d'une manière certaine et prévisible ... Si nous voulons raccourcir le délai (temps), nous devons augmenter le coût. Le modèle implique également que si nous voulons augmenter le volume, nous devons augmenter le coût ou le délai. "



Passer de Waterfall à Agile



La cascade nous est venue de la production et de la construction mécanique, difficiles à imaginer sans un processus linéaire. Avant de construire un toit, vous construisez des murs. Les problèmes de développement de logiciels étaient également considérés comme quelque chose qui pouvait être résolu par la planification.



Au final, la cascade a été reconnue comme une approche nuisible, contrairement à l'approche intuitive du développement logiciel. Très souvent, la valeur d'un projet ne peut être déterminée qu'à la toute fin du cycle du projet. Dans de nombreux cas, les projets ont échoué. De plus, le client n'a vu aucun logiciel fonctionnel jusqu'à la fin du projet.



Agile implique une approche différente qui s'éloigne de la planification de l'ensemble du projet, se liant aux dates et rapports estimés. La méthodologie Agile suppose et prend en compte l'incertitude. Cela vous encourage à réagir au changement au lieu de l'ignorer. Le changement est considéré comme un moyen de répondre aux besoins des clients.



Valeurs agiles



Agile est régi par le Manifeste Agile. Voici ses 12 principes :



  1. La satisfaction du client est la priorité absolue.
  2. L'évolution des exigences est encouragée, même dans les derniers stades de développement.
  3. Un produit fonctionnel doit être publié aussi souvent que possible.
  4. Les développeurs et les représentants des entreprises doivent travailler ensemble.
  5. Des professionnels motivés doivent travailler sur le projet.
  6. La communication en direct est le moyen le plus pratique et le plus efficace d'échanger des informations.
  7. Un produit fonctionnel est le principal indicateur de progrès.
  8. Les processus agiles contribuent au développement durable.
  9. Il est important de prêter attention à l'excellence technique et à une bonne conception.
  10. La simplicité est essentielle.
  11. Les meilleures solutions architecturales, exigences et idées de conception proviennent d'équipes auto-organisées.
  12. Réfléchissez régulièrement aux moyens d'améliorer vos performances et d'ajuster votre style de travail.


4 idées principales d' Agile:



  • les personnes et l'interaction sont plus importantes que les processus et les outils,
  • un produit fonctionnel est plus important qu'une documentation complète,
  • la coopération avec le client est plus importante que l'acceptation des termes du contrat,
  • être prêt à changer est plus important que de suivre le plan initial.


Cette approche est très différente d'une cascade dure. En Agile, le client est membre de l'équipe de développement. Dans la cascade, il ne participe qu'au début, lors de la définition des besoins métiers, et à la fin, lors de la réflexion sur le produit final. En Agile, le client aide l'équipe à rédiger les critères d'acceptation du produit et reste impliqué tout au long du processus. De plus, Agile nécessite des changements et une amélioration continue de la part de tous les membres de l'organisation. L'équipe de développement travaille avec d'autres équipes, notamment des chefs de projet et des testeurs. Qui fait quoi et quand dépend du rôle assigné et est discuté avec toute l'équipe.



Développement logiciel agile



Le développement de logiciels agiles nécessite une planification adaptative, une conception évolutive et la livraison du produit final. De nombreuses méthodologies, structures et pratiques de développement de logiciels sont classées comme agiles, notamment:



  • Scrum
  • Kanban ( )
  • XP ( )
  • Lean
  • DevOps
  • FDD ( )
  • TDD ( )
  • Crystal
  • DSDM ( )
  • ASD ( )


Ils sont tous utilisés seuls ou en combinaison avec d'autres méthodologies de développement et de déploiement de logiciels. Les plus courants sont Scrum , Kanban (ou une combinaison appelée Scrumban) et DevOps.



Scrum est un cadre dans lequel une équipe travaille de manière indépendante et interfonctionnelle pour augmenter la vitesse de livraison du produit fini et ajouter de la valeur à l'entreprise du client. L'équipe se compose généralement d'un Scrum Master, d'un chef de produit et de développeurs. L'objectif principal de Scrum est les itérations plus rapides avec moins d'améliorations .



KanbanEst un framework Agile, parfois appelé système de gestion de flux de travail. Il aide l'équipe à visualiser son travail et à gagner en efficacité (tout en restant agile). Kanban est généralement un tableau blanc numérique ou physique. Les tâches de l'équipe se déplacent sur le plateau en fonction de l'étape: la tâche n'a pas encore commencé, en cours, en cours de test, terminée. Kanban permet à chaque membre de l'équipe de voir l'état des tâches.



Valeurs DevOps



DevOps est une culture, une façon de penser, une façon de développer des logiciels ou une infrastructure, et une façon de construire et de déployer des logiciels et des applications. Les opérations et le développement ne sont pas séparés; ils fonctionnent simultanément sans interférer les uns avec les autres



DevOps est basé sur deux autres domaines: Lean et Agile. DevOps n'est pas un nom ou un rôle dans une entreprise. Il s'agit en fait d'un engagement qu'une organisation ou une équipe prend en termes de livraison, de déploiement et d'intégration continue des produits. Selon Jin Kim , auteur de The Phoenix and The Unicorn Project, il existe trois «chemins» qui définissent les principes DevOps:



  • principes d'écoulement,
  • principes de rétroaction,
  • principes d'apprentissage sans fin.


Développement de logiciels DevOps



DevOps est une pratique agile. Dans sa vraie forme, il représente une culture et une réflexion partagées sur le développement de logiciels et la mise en œuvre de technologies ou d'infrastructures de l'information.



Quand vous pensez à l'automatisation, au cloud, aux microservices, vous pensez à DevOps.

Nicole Forsgren, Jez Humble et Jin Kim ont écrit le livre Hurry Up! Comment créer et mettre à l'échelle des organisations à haute performance. " Dans une interview, ils ont expliqué ce qu'est DevOps:



  • Une livraison de logiciel efficace est importante. Il a un impact significatif sur la rentabilité, la part de marché, la qualité, la satisfaction client, les objectifs organisationnels et la mission.
  • Les entreprises à haut rendement atteignent une vitesse de développement, une stabilité et une qualité élevées. Ils n’ont rien à sacrifier pour réaliser tout cela.
  • Vous pouvez améliorer vos performances en mettant en œuvre les principes et pratiques DevOps de Lean, Agile.
  • La mise en œuvre de ces pratiques et opportunités affecte également votre culture organisationnelle. Cela affecte à son tour à la fois l'efficacité de votre logiciel et la productivité de l'organisation.
  • Il faut beaucoup de travail pour trouver comment améliorer l'efficacité.


DevOps et Agile



Malgré les similitudes, DevOps et Agile sont loin d'être la même chose. Certains affirment que DevOps est meilleur que Agile. Il est important d'aller au fond des choses pour éviter toute confusion.



Similitudes



  • Les deux sont des méthodologies de développement logiciel, vous ne pouvez pas discuter avec cela.
  • Agile existe depuis plus de 20 ans, DevOps est également relativement nouveau.
  • Les deux approches croient en un développement logiciel rapide. Leurs principes sont basés sur la façon de développer rapidement des logiciels sans nuire au client ou aux opérations.


Différences



  • , .



    • , DevOps, Agile. , Agile , . DevOps, , , . .
  • Agile , . DevOps , DevOps . , .
  • DevOps , Agile . Agile MVP ( ) .
  • Agile — , .


Agile DevOps
,




Agile et DevOps sont des choses différentes, bien que leurs similitudes conduisent beaucoup à penser qu'elles sont une seule et même chose. Ce malentendu ne rend pas service à Agile et DevOps.



J'ai travaillé dans Agile et de mon expérience, je peux dire qu'il est très important pour les équipes et les organisations de comprendre ce que sont DevOps et Agile. Vous devez également comprendre comment ils aident les équipes à travailler plus rapidement et plus efficacement, à garantir la qualité des produits et à améliorer la satisfaction des clients.



Agile et DevOps ne sont en aucun cas rivaux (du moins il n'y a pas encore de raisons). Ce sont des alliés plutôt que des ennemis dans le domaine agile. Agile et DevOps peuvent fonctionner de manière exclusive et inclusive, ce qui leur permet d'exister dans le même espace.



Traduction: Diana Sheremieva



image


Apprenez-en plus sur la façon d'obtenir une profession de haut niveau à partir de zéro ou de monter en gamme en termes de compétences et de salaire en suivant les cours en ligne rémunérés de SkillFactory:





Plus de cours


Utile






All Articles