Introduction à Agile et Scrum

Agile est une méthodologie de développement logiciel qui a la bande passante pour s'adapter rapidement aux exigences changeantes du projet et pour s'adapter au développement d'un nouveau produit pendant que le projet est en cours ou après l'achèvement du projet, contrairement à la gestion de projet traditionnelle.

Comprenons l'avantage distinctif de l'agilité par rapport à la méthodologie de gestion de projet traditionnelle:

Approche traditionnelle:

  • Planification détaillée avant le démarrage
  • Permet d'adopter un changement minimal
  • Définition de projet fixe

Approche agile:

  • Une planification minimale avant le début est requise
  • Acceptera et s'adaptera aux changements
  • Temps et coût fixes

Scrum est l'approche la plus utilisée et la plus utilisée pour implémenter une méthodologie agile.

Nous reviendrons dans la section Scrum sous peu, mais d'abord, voyons-en plus sur le cadre agile.

Principes derrière le Manifeste Agile

  1. La satisfaction du client est de la plus haute priorité qui est obtenue grâce à la livraison continue et précoce de logiciels précieux.
  2. Fournir un logiciel fonctionnel dans un court laps de temps avec le développement continu de nouveaux logiciels / produits dans la ligne en suivant la même approche.
  3. Nous devrions être en mesure de répondre aux exigences changeantes même si elles arrivent tardivement pendant le cycle de vie de SDLC.
  4. Les membres de l'équipe doivent toujours être motivés et pour cela, un soutien suffisant et un bon environnement doivent être fournis.
  5. Les développeurs et les hommes d'affaires doivent travailler ensemble au quotidien tout au long du projet.
  6. Le moyen de conversation le plus efficace est considéré comme l'interaction face à face.
  7. Le développement durable. Tous les membres de l'équipe devraient pouvoir maintenir un rythme constant.
  8. Un produit / logiciel fonctionnel est considéré comme la principale mesure des progrès.
  9. En fin de compte, l'objectif principal devrait être l'excellence technique et une conception robuste.
  10. La simplicité doit être respectée tout au long du processus SDLC
  11. Les équipes devraient en fait faire la démonstration de l'efficacité continue et adopter tout changement pour augmenter l'efficacité.
  12. La conception et l'architecture robustes proviennent d'équipes auto-organisées.

Approches pour la mise en œuvre agile:

Lien: https://goo.gl/images/fkZqGe

  1. SCRUM - C'est une approche itérative dans laquelle il y a quelque chose qui s'appelle des sprints qui durent jusqu'à une ou deux semaines. Cette approche permet aux équipes de livrer régulièrement le produit ou le logiciel de travail.
  2. Kanban - Afin d'implémenter l'agile, cette approche utilise un cadre visuel. Ici, il n'y a pas de sprints de longueur fixe et l'équipe obtient la tâche à partir d'un backlog priorisé.
  3. Extreme Programming (XP) - Cette approche vise à améliorer la qualité et la réactivité du logiciel en incorporant la simplicité, les retours d'expérience et en adoptant le changement.
  4. Développement piloté par les fonctionnalités (FDD) - Cette approche comprend 5 activités de base qui sont: - Développer un modèle global, construire une liste de fonctionnalités, planifier par fonctionnalité, concevoir par fonctionnalité et construire par fonctionnalité.
  5. Développement de systèmes adaptatifs (ASD) - Cette approche peut être utilisée pour créer des logiciels et des systèmes complexes et se concentre principalement sur la collaboration en équipe et l'auto-organisation. Il comprend 3 activités itératives qui sont: spéculer, collaborer et apprendre.
  6. Méthode de développement de système dynamique - DSDM est une approche agile qui suit une approche itérative et incrémentielle largement basée sur la méthodologie de développement rapide d'applications. Il aborde les échecs courants des projets tels que les problèmes de budget de projet, les délais manquants, etc.
  7. Développement de logiciels Lean - Le développement de logiciels Lean est une approche agile qui comprend 7 principes de base, à savoir: éliminer le gaspillage, responsabiliser l'équipe, livrer rapidement, optimiser l'ensemble, renforcer la qualité, reporter les décisions et amplifier les apprentissages.

Qu'est-ce que Scrum?

Dans les sections précédentes, nous avons déjà vu les approches utilisées pour implémenter le processus Agile et Scrum en faisait partie, Scrum est l'une des méthodologies Agile les plus importantes et les plus utilisées. Une mêlée est une approche itérative dans laquelle il y a ce qu'on appelle des sprints qui durent jusqu'à une ou deux semaines. Cette approche permet aux équipes de livrer régulièrement le produit ou le logiciel de travail. Ici, les responsabilités, les rôles et les réunions sont décidés dans Scrum et les sprints sont des horaires où il y a la planification du sprint, la démonstration du sprint, le standup quotidien et la rétrospective du sprint.

Rôles Scrum / Équipes Scrum:

Lien: https://goo.gl/images/XpNHBe

  1. Scrum Master - Le Scrum Master est un rôle qui est responsable de l'équipe Scrum pour suivre la méthodologie Scrum. Le Scrum Master organise des réunions, encourage l'équipe, facilite la planification et le suivi, gère les défis et gère les goulots d'étranglement. Le Scrum Master communique également avec le Product Owner pour s'assurer que le backlog de produit est prêt pour le prochain sprint.
  2. Product Owner - Le Product Owner est responsable de l'analyse et de la communication de la version du logiciel à l'équipe Scrum. Le Product Owner se coordonne également avec le Scrum Master pour décider des backlogs de produits pour les sprints.
  3. Équipe de développement - L'équipe de développement est composée des professionnels responsables du développement continu, des tests et de la livraison du logiciel. Ils déterminent comment livrer des morceaux d'œuvres par incréments fréquents.

Étapes de Scrum Flow:

Lien: https://goo.gl/images/6YTUPf

  1. Product Backlog - Le Product Backlog conserve la liste des fonctionnalités du produit. Il est de la responsabilité du Product Owner et du Scrum Master de prioriser les éléments du backlog en fonction des user stories et des exigences.
  2. Planification du Sprint - C'est une réunion qui est animée par le Scrum Master où le Product Owner présente les détails du backlog produit, définit les critères d'acceptation de livraison et l'équipe de développement qui définit le travail et l'effort qu'ils ont progressé au quotidien.
  3. Affinement du backlog - Pour maintenir le backlog du produit à jour, nous utilisons l'affinement du backlog. Ici, les user stories sont divisées en parties plus petites et toutes les user stories non pertinentes sont supprimées
  4. Scrum quotidien - Il s'agit d'une réunion quotidienne de 15 minutes qui consiste à discuter de trois questions: ce qui a été accompli hier, quel est le plan pour aujourd'hui et quels sont les obstacles.
  5. Réunion d'examen du sprint - Cette réunion a lieu à la fin de chaque sprint où une démonstration en direct est présentée pour montrer ce qui a été accompli tout au long du sprint.
  6. Réunion rétrospective de sprint - Nous pouvons également appeler cette réunion la réunion de réussite où l'équipe discute du processus qui a fonctionné ou qui n'a pas fonctionné pendant le sprint avec leurs solutions de contournement.

Conclusion

Dans cet article, nous avons vu qu'Agile est une méthodologie de développement logiciel qui a la bande passante pour s'adapter rapidement aux exigences changeantes du projet et pour s'adapter au développement de nouveaux produits pendant que le projet est en cours ou après l'achèvement du projet contrairement à la gestion de projet traditionnelle tandis que Scrum est l'approche la plus utilisée et la plus utilisée pour mettre en œuvre une méthodologie agile.

Articles recommandés

Cela a été un guide pour ce qui est Agile et Scrum. Ici, nous avons discuté des différentes approches d'Agile et Scrum. Vous pouvez également consulter nos autres articles suggérés pour en savoir plus -

  1. Qu'est-ce que l'intelligence artificielle
  2. Questions d'entretiens chez Agile Scrum
  3. Qu'est-ce que SDLC
  4. Agile vs Scrum vs Waterfall