Cours De Génie Logiciel: Méthodes Agiles PDF
Document Details
Uploaded by ProficientSamarium
Bouassida Nadia
Tags
Summary
Ce document présente un cours sur les méthodes agiles de génie logiciel. Il explore différents types de méthodes agiles, incluant RAD, FDD, DSDM, et XP. L'auteur est Nadia Bouassida.
Full Transcript
COURS DE GÉNIE LOGICIEL: BOUASSIDA NADIA 1 Chapitre 5: Méthodes agiles: BOUASSIDA NADIA 2 Les Méthodes agiles Agiles KanBan Scrum ScrumBan XP: extreme programming UP:unified process...
COURS DE GÉNIE LOGICIEL: BOUASSIDA NADIA 1 Chapitre 5: Méthodes agiles: BOUASSIDA NADIA 2 Les Méthodes agiles Agiles KanBan Scrum ScrumBan XP: extreme programming UP:unified process 3 Les principales méthodes Agiles 4 4 Rapid Application Development (RAD) RAD C’est la méthode agile la plus ancienne et celle qui a été la première à être en rupture avec les méthodes traditionnelles. Elle a introduit les notions d’itération et d’incrément. Elle vise à adopter la solution la plus stratégique (en termes de délais), la moins risquée, la plus fiable et la moins coûteuse. Son cycle de développement est simple : cadrage, design, construction et finalisation dans le respect absolu d’une durée comprise entre 90 et 120 jours. 5 5 FDD Moins connue que la précédentes, FDD est essentiellement axé sur le design et le développement. Pour cela elle s’appuie sur une formalisation du modèle objet à l’aide de diagrammes UML. 6 6 Dynamic systems development method (DSDM) DSDM DSDM est méthode agile développée en Angleterre au milieu des années 90. Elle reprend les principes déjà vus dans les autres méthodes (implication des utilisateurs, autonomie de l’équipe, visibilité et adéquation du résultat, développement itératif et incrémental, réversibilité des modifications, tests continus, coopération des acteurs). 7 7 XP L’objectif principal de cette méthode est de réduire les coûts du changement. Elle met l’accent sur la revue de code et sur les tests, la conception continue (refactoring), la simplicité, la traduction des besoins en métaphores. 8 8 Chaque méthode dispose d'un champ d'action particulier. Les avantages et inconvénients 9 9 SCRUM 10 1.Introduction Méthode agile Objectif : Améliorer la productivité des équipes Gestion de projets de développement de logiciels Créée par Ken Schwaber et Jeff Sutherland En 1996 Origine du terme: rugby Méthode iterative et Participation du client 11 11 Manifeste Agile 12 Les 4 principes essentiels du Manifeste Agile: L'équipe (« Personnes et interaction plutôt que processus et outils ») L'application (« Logiciel fonctionnel plutôt que documentation complète ») La collaboration (« Avec le client plutôt que négociation de contrat ») L'acceptation du changement (« Réagir au changement plutôt que suivre un plan ») 13 13 14 Les 12 principes du manifeste agile 15 16 Les 3 piliers de scrum 17 18 Scrum ❑Scrum est un processus agile qui permet de produire la plus grande valeur métier dans la durée la plus courte. ❑L'équipe s'organise elle-même pour déterminer la meilleure façon de produire les exigences les plus prioritaires. 19 La séquence est différente Exigences Conception Code Test Plutôt que de faire toute une discipline d'un coup......Les équipes Scrum font un peu de tout tout le temps 20 Scrum : Caractéristiques Produire le maximum de valeur pour le minimum de coût Besoins capturés dans un backlog de produit priorisé par une personne Cycles de développement de 2 à 4 semaines (Sprints) Utilisation de règles génériques permettant de créer un environnement agile pour un projet 21 Scrum – Principes clés Méthode itérative et incrémentale: Réalisation d’un ensemble de fonctionnalités par itération Participation du client: Définition des fonctionnalités prioritaires Ajout de fonctionnalités en cours de projet (pas pendant un sprint !) 22 Sprint Sprint: c’est la période d’un mois maximm au bout de laquelle l’equipe délivre un livrable du projet Une fois la durée choisie, elle reste constante tout au long du développement. Un nouveau sprint démarre dés la fin du précédent. Un projet démarre généralement par un sprint 0 qui est dédié aux travaux préparatoires du projet (ex: construction du backlog produit), définition des objectifs, préparation des environnements, mise en place de l’intégration continue, définition de l’architecture) 23 Rôles Scrum Master Product Owner Team 24 14.11.2024 24 Scrum master Le scrum master est responsable de la compréhension, de l'adhésion et de la mise en œuvre de la méthode. C'est un « leader au service de l'équipe » Il assiste chaque rôle de l'équipe scrum dans son activité et promeut le changement des interactions entre les rôles dans le but de maximiser la valeur de ce que produit l'équipe. 25 14.11.2024 25 26 27 3.2 Product owner Product Owner ❑ Le «Product Owner», véritable collaborateur quotidien, est responsable de maximiser la valeur du produit avec les équipes impliquées dans les projets. ❑ Il s’approprie les demandes (du service conseil, des chargés de projets ou de clients directs) ❑ Il clarifie les items du carnet de produits. Il définit l'ordre dans lequel les items seront développés en tenant compte des enjeux stratégiques, des délais, de la valeur créée et des budgets. 28 14.11.2024 28 29 3.3 Equipe L’équipe de développeent (scrum team) ❑ L'équipe de développement est constituée de 3 à 9 personnes ou 6 à 10 dans certains projets ❑Elle a pour responsabilité de livrer à chaque fin d'itération une nouvelle version de l'application enrichie de nouvelles fonctionnalités et respectant le niveau de qualité nécessaire pour être livré. 30 14.11.2024 30 31 32 Sprint review 33 Mêlée quotidienne Au quotidien, une réunion, la mêlée quotidienne (Daily Scrum), permet aux développeurs de faire un point de coordination sur les tâches en cours et sur les difficultés rencontrées. Cette réunion dure 15 minutes au maximum. Participants: scrum master et équipe de développement Le Scrum Master s'assure que la réunion ait lieu à heure fixe. Le propriétaire du produit n'est pas présent. À tour de rôle, chaque membre répond à 3 questions : Qu'ai-je fait hier ? Que dois-je faire aujourd'hui ? Quelles sont les difficultés rencontrées ? 34 35 36 Task board 37 Release Pour optimiser et améliorer la gestion du projet, les sprints sont regroupés en releases. Chacune est composée de plusieurs sprints. La release représente la livraison d’une version partielle mais plus avancée qu’à la fin des sprint. 38 Backlog du produit ❑ Les équipes agiles ne produisent pas une documentation faite au début du projet, qui décrit en détail toutes les spécifications fonctionnelles. ❑ Elles collectent les fonctions essentielles (les features) et les raffinent progressivement. Le document de spécification, s'appelle le backlog de produit. 39 14.11.2024 39 40 41 42 43 44 Priorités La technique MOSCOW est utilisée par le PO pour déterminer quelles sont les tâches prioritaires Tache à grande valeur et min risque est la première puis grande valeur avec grand risque la deuxième puis moins de valeur et sans risque la troisième 45 Definition of done 46 Definition of done 47 Backlog du sprint ❑ En début de sprint, un but est décidé. ❑ Pour atteindre cet objectif, l'équipe de développement choisit lors de la réunion de planification de sprint quels éléments du carnet de produit seront réalisés. Ces éléments sont alors groupés dans un carnet de sprint ou sprint backlog. 48 14.11.2024 48 49 50 51 52 53 54 55 56 Scrum – Organisation 1/5 Source : www.scrumalliance.org 1. Backlog produit (ou catalogue des besoins) ◼ Besoins priorisés par le product owner ◼ Besoins évalués par l’équipe 57 Scrum – Organisation 2/5 Source : www.scrumalliance.org 2. Backlog de sprint ◼ Extrait du backlog produit ◼ Besoins éclatés en tâches 58 Scrum – Organisation 3/5 Source : www.scrumalliance.org 3. Sprint ◼ Développement des fonctionnalités du backlog de sprint ◼ Aucune modification du backlog de sprint possible 59 Scrum – Organisation 4/5 Source : www.scrumalliance.org 4. Mêlée quotidienne ◼ Point de contrôle quotidien de l’équipe ◼ Interventions régulées – 2 min. par personne 60 Scrum – Organisation 5/5 Source : www.scrumalliance.org 5. Incrément logiciel : livré au product owner à la fin du sprint. 61 RÉSUMÉ SCRUM Scrum est une méthode Agile qui permet de produire la plus grande valeur métier dans la durée la plus courte. Du logiciel qui fonctionne est produit à chaque sprint, 62 62 Les outils Outils traditionnels Tableau blanc et post-its Excel – Backlog produit et backlog de sprint Outils dédiés Outils commerciaux / Open source 63 Les outils Fonctionnalité Ergonomie Performance 64 EasyBackLog ** **** ***** IceScrum **** *** **** AgileFant **** **** **** SeeNowDo *** **** ** Agilo *** ** *** L’outil IceScrum Pour une entreprise qui doit gérer un ou plusieurs projets de taille conséquente, et plus particulièrement dans le développement de logiciels, iceScrum et les méthodes agile/Scrum sont très pratiques. L'utilisation de cet outil permet d'économiser du temps et de gagner en facilité dans la planification d'un projet. pour l'installation vous pouvez consulter ce lien il existe un tutoriel qui explique les étapes d'installation https://www.youtube.com/watch?v=posfkeW3ukE L'adresse de l’outil : http://www.icescrum.org