Chapitre 2 : Cycles de vie logiciel et méthodes de développement G L & A G L 2 0 1 4 / 2 0 1 5



Documents pareils
Cours Gestion de projet

GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET

Méthodes de développement

Les méthodes itératives. Hugues MEUNIER

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

25/12/2012

Topologie du web - Valentin Bourgoin - Méthodes agiles & SCRUM

Méthodes Agiles et gestion de projets

Méthodes agiles. CONSEIL & DÉVELOPPEMENT DE SOLUTIONS E-BUSINESS. Jean-Louis Bénard jlb@businessinteractif.

Formation : Modélisation avec UML 2.0 et Mise en pratique

Conduite de projets SI. Les méthodes «Agiles» N QUAL/1995/3660e ORESYS

Gestion de projet Agile. STS IRIS Module «Gérer et organiser un projet informatique»

backlog du produit Product Owner

Génie logiciel (Un aperçu)

Modèle de changement d organisation. Leanpizza.net présente. Petit Guide Rapide du jeu de cartes Modèle de Changement d Organisation

Les méthodes Agiles Introduction. Intervenant : Tremeur Balbous tremeur@agilegardener.com 04/09/2008

Gestion Projet. Cours 3. Le cycle de vie

CHAPITRE 3 : LES METHODES AGILES?

Cours Ephec Niv. 2 : Technique et gestion de projet. Par Monsieur Bertieaux Année Académique Quelles sont les 4 valeurs Agiles?

Scrum et l'agilité des équipes de développement

Processus de Développement Logiciel

Développement itératif, évolutif et agile

Méthode Agile de 3 ème génération J-P Vickoff

Scrum Une méthode agile pour vos projets

GESTION DE PROJET : LA METHODE AGILE

Yassine ZAKARIA SÉMINAIRE : MÉTHODES AGILES

Processus de Développement Logiciel

SCRUM chez BWIN : implémentation d une méthode agile dans Focalpoint Spasija Taseva et Corinne Bacle

Retour d expérience implémentation Scrum / XP

Scrum + Drupal = Julien Dubois

1/15. Jean Bernard CRAMPES Daniel VIELLE

Génie Logiciel. Notes de l an passé-k. Planning Projets. Evolution des approches (1/4) Evolution des approches (2/4) Evolution des approches (3/4)

Programmation Agile Mise en oeuvre via Scrum et l'extreme Programming (XP)

Règles d engagement. Présentation Diapositives Bibliographie Questions Les vertus de la marche

Architecture d'entreprise : Guide Pratique de l'architecture Logique

Introduction Les processus traditionnels extreme Programming Conclusion. extreme Programming. vers plus d agilité. F. Miller francois.miller@inpg.

Les Méthodes Agiles. description et rapport à la Qualité. Benjamin Joguet Rémi Perrot Guillaume Tourgis

Conduite de projets informatiques Développement, analyse et pilotage (2ième édition)

Méthodologies de développement de logiciels de gestion

But de cette introduction à la gestion de projets :

Guide de Préparation. EXIN Agile Scrum. Foundation

Qualité et Test des Logiciels. Le génie logiciel. Moez Krichen.

Contact: Yossi Gal, Téléphone:

Jean-Pierre Vickoff J-P Vickoff

Le Guide Pratique des Processus Métiers

PagesJaunes.fr Mise en place de Scrum de scrum. Fabien Grellier Agile Tour Octobre

Introduction au génie logiciel

UML est-il soluble dans les méthodes agiles?

Feature Team Primer. par Craig Larman et Bas Vodde. Version 1.2

Améliorez et industrialisez vos feedback produit

Agile Maroc 24 Novembre Méthodes agiles. Thierry Cros. Agile Maroc 24 novembre 2010

Analyse,, Conception des Systèmes Informatiques

INF2015 Développement de logiciels dans un environnement Agile Examen final hiver 2015

Processus d Informatisation

Jean-Pierre Vickoff

CATALOGUE)FORMATION)2015)

Identification du module

INTRODUCTION À LA GESTION DE PROJET AGILE (BACKLOG, TABLEAUX DE BORD, BURNDOWN, PLANIFICATION D ITERATIONS)

Le rôle du coach Agile et son apport pour le projet

Les méthodes Agiles. Introduc)on aux méthodes Agiles Exemple : Scrum

SCRUM BUT, LE LIVRE BLANC. De la problématique de mener un projet AGILE dans une organisation classique

répondre aux défis de l ingénierie logicielle déploiement et mise en œuvre opérationnelle : l'industrialisation au service de la compétitivité

Le Product Owner Clé de voute d un projet agile réussi

Besoins utilisateurs. Quelle démarche pour passer des besoins au code? Code. chapitre1 UNIFIED MODELING LANGUAGE. package LogiqueMetier.

Agilitéet qualité logicielle: une mutation enmarche

Méthodologies SCRUM Présentation et mise en oeuvre

Chapitre I : le langage UML et le processus unifié

Présentation UBO 12/2008 Présentation des méthodes agiles

Séance 1 Méthodologies du génie logiciel

L'agilité appliquée à nous-mêmes. Philippe Krief, PhD Development Manager IBM France Lab

Les méthodes Agile. Implication du client Développement itératif et incrémental

Le secteur des SSII (Sociétés de

Scrum et itk : adaptation de la méthode au développement d OAD. D après Henrik Kniberg Scrum et XP depuis les tranchées

La solution IBM Rational pour une ALM Agile

Estimer et mesurer la performance des projets agiles avec les points de fonction

Tableau comparatif des offres Visual Studio

L'AGILITÉ AVEC VISUAL STUDIO

Certification Scrum Master

IAFACTORY. sommaire MATERIALIZE YOUR NEXT SUCCESS. offres d accompagnement stratégique stratégie e-marketing et interface. principes.

Maximisons les performances de votre stratégie digitale

Le génie logiciel. maintenance de logiciels.

ITIL V3. Exploitation des services : Les fonctions

Gestion de Projet Agile

Architecture pragmatique pour la gestion du cycle de vie des applications (ALM)

Formation Scrum. 2 jours

Extrait du site de l'oseo (ex.anvar) Reste à déterminer les points incontournables

Scrum. Description. Traduit en langue française par Bruno Sbille et Fabrice Aimetti - Avril Trad FR v1.1

1. Considérations sur le développement rapide d'application et les méthodes agiles

Avant propos. Parcours de lecture : combien de sprints vous faut il?

Scrum Le guide pratique de la méthode agile la plus populaire 3 e édition Claude Aubry 320 pages Dunod, 2013

Une bonne dose d'agilité au cœur de votre équipe. La rece e Visual Studio 2012 pour des projets maitrisés

Agile 360 Product Owner Scrum Master

2. Activités et Modèles de développement en Génie Logiciel

ISTQB Agile Tester en quelques mots ISTQB Marketing Working Group

MODALITES DE SUIVI DU PROJET ANNUEL DU MASTER 2 SOLUTIONS INFORMATIQUES LIBRES

Livrer chaque jour ce qui est prêt! Points clés du développement d un produit avec une livrasion par jour.

Conduite de projets informatiques

Les mécanismes d'assurance et de contrôle de la qualité dans un

Rational Unified Process

Soyez agile. Dans l industrie du logiciel, la. De plus chaque projet informatique

Transcription:

Chapitre 2 : Cycles de vie logiciel et méthodes de développement G L & A G L 2 0 1 4 / 2 0 1 5

Plan Chapitre 2 Modèles de cycles de vie Méthodes de développement : Méthode lourde Méthode agile Exemple de méthode lourde : le processus unifié RUP 2TUP Exemple de méthode agile : SCRUM 2

Objectifs Chapitre 2 Définition des étapes d un cycle de vie logiciel. Distinction entre les méthodes lourdes et les méthodes agiles. Exploration de méthodes lourdes et de méthodes agiles. Comparaison entre les méthodes. 3

Modèles de cycle de vie Modèle de cycle de vie linéaire: Modèle de cycle de vie en cascade Modèle de cycle de vie en «V» Modèle de cycle de vie itératif et incrémental: Modèle de cycle de vie en spirale Modèle incrémental 4

Modèles de cycle de vie Modèle linéaire en cascade 5

Modèles de cycle de vie 6

Modèles de cycle de vie Modèle linéaire en «V» : 7

Modèles de cycle de vie 8

Modèles de cycle de vie Modèle en spirale : 9

Modèles de cycle de vie 10

Modèles de cycle de vie 11

Modèles de cycle de vie Modèle en W: 12

Méthodes de développement Méthodes lourdes : RUP 2TUP Méthode agile : SCRUM 13

Exemple de méthode lourde : Le Processus Unifié (UP) UP est une méthode générique de développement de logiciels. Cette méthode nécessite donc d'être adaptée à chacun des projets pour lesquels elle sera employée. 14

Exemple de méthode lourde : Le Processus Unifié (UP) Caractéristiques de UP : UP est piloté par les cas d utilisation. UP est centré sur l architecture. UP est itératif et incrémental. UP est orienté risques. 15

Exemple de méthode lourde : Le Processus Unifié (UP) UP est piloté par les cas d'utilisation : Système analysé, conçu et développé pour des utilisateurs. Tout doit donc être fait en adoptant le point de vue utilisateur. UP est centré sur l'architecture : L'architecture du système est décrite à l'aide de différentes vues. L'architecte procède de manière incrémentale : il commence par définir une architecture simplifiée qui répond aux besoins classés comme prioritaires Puis définit à partir de l architecture simplifiée les sous-systèmes de manière beaucoup plus précise. 16

Exemple de méthode lourde : Le Processus Unifié (UP) UP est itératif et incrémental : En procédant de manière itérative, il est possible de découvrir les erreurs et les incompréhensions plus tôt. Le feedback de l'utilisateur est aussi encouragé et les tests effectués à chaque utilisation permettent d'avoir une vision plus objective de l'avancement du projet. Le travail itératif permet à l'équipe de capitaliser à chaque cycle les enseignements du cycle précédent. UP est orienté risques : Identifier les risques. Maintenir une liste de risques tout au long du projet. 17

Exemple 1 d implémentation de UP : RUP (Rational Unified Process) Composantes du RUP : 4 phases : Etude d opportunité. Elaboration. Construction. Transition. 18 5 activités: Expression des besoins. Analyse. Conception. Implémentation. Test. Ensemble d itérations : circuit de développement aboutissant à un délivrable.

Exemple 1 d implémentation de UP : RUP (Rational Unified Process) Expression des besoins Organisation en fonction du temps : phases et itérations Etude d opportunité Elaboration Construction Transition Analyse Conception Implémentation Test Itérations 19

Exemple 1 d implémentation de UP : RUP (Rational Unified Process) Les activités dans RUP : Expression des besoins : Identification des besoins fonctionnels. Identification des besoins non fonctionnels. Analyse : Formalisation du système à partir des besoins. Modélisations de diagrammes statiques et dynamiques. Vue logique du système. 20 Conception : Définition de l architecture du système. Etendre les diagrammes d analyse. Prise en compte des contraintes de l architecture technique.

Exemple 1 d implémentation de UP : RUP (Rational Unified Process) Implémentation : Production du logiciel : Composants. Bibliothèques. Fichiers. Etc. Test : Vérifier l implémentation de tous les besoins (fonctionnels et non fonctionnels). Vérifier l interaction entre les objets. Vérifier l intégration de tous les composants. Différents niveaux de tests (unitaires, d intégration, de performance, etc.). 21

Exemple 1 d implémentation de UP : RUP (Rational Unified Process) Les phases de RUP : Etude d opportunité : Cette phase pose la question de la faisabilité du projet, des frontières du système, des risques majeurs qui pourraient mettre en péril le projet. A la fin de cette phase, est établi un document donnant une vision globale des principales exigences, des fonctionnalités clés et des contraintes majeures. Environ 10 % des cas d'utilisation sont connus à l'issue de cette phase. Il convient aussi d'établir une estimation initiale des risques, un "Project Plan", un "Business Model". 22

Exemple 1 d implémentation de UP : RUP (Rational Unified Process) Elaboration : Reprise des résultats de la phase d incubation. Spécification détaillée des cas d utilisation. Détermination de l architecture de référence. Construction : Construction d une première version du produit (version bêta du release en cours de développement ainsi qu une version du manuel utilisateur). Construction de tous les cas d utilisation. 23

Exemple 1 d implémentation de UP : RUP (Rational Unified Process) Transition : Test et correction des anomalies. Déploiement du produit. Préparer la release suivante et boucler le cycle soit sur une nouvelle étude d'opportunité soit une élaboration ou construction. 24

Exemple 2 d implémentation de UP : 2TUP (2 Track Unified Process) Exemple illustratif : Une agence de tourisme passe des accords avec une compagnie aérienne de sorte que le calcul des commissions change. En l occurrence les résultats issus de la branche fonctionnelle évoluent pour prendre en compte la nouvelle spécification. Cette même entreprise décide d ouvrir ses portes sur le web en permettant aux navigateurs de réserver et de payer leurs billets. Côté fonctionnelle rien ne change mais côté technique on a une évolution du système. 25

Exemple 2 d implémentation de UP : 2TUP (2 Track Unified Process) 26

Exemple 2 d implémentation de UP : 2TUP (2 Track Unified Process) S intéresser au métier de l utilisateur Etudier précisément la spécification fonctionnelle de manière à obtenir une idée de ce que réalise le système sans se soucier des technologies à utiliser. 27

Exemple 2 d implémentation de UP : 2TUP (2 Track Unified Process) Voit toutes les contraintes et les choix dimensionnant la conception du système (outils+matériel+contrainte d intégration). Capture des besoins techniques avec l existant. 28 Définit les composants nécessaires à la construction de l architecture technique.

Exemple 2 d implémentation de UP : 2TUP (2 Track Unified Process) Intégration des 2 branches. Étude de la réalisation de chaque composant. Codage des composants + test. 29 Validation et vente du produit.

Exemple 2 d implémentation de UP : 2TUP (2 Track Unified Process) Exemple : Découpage en itérations 2TUP 30

Exemple 2 d implémentation de UP : 2TUP (2 Track Unified Process) Itération 1 : o Développer les fonctions de validation du principe du système. o Intégrer les outils prévus pour le développement. Itération 2 : o Centrée sur l architecture. o Prototype de réalisation technique. Itération 3 : o Réaliser les fonctions les plus prioritaires de manière à présenter une première version de déploiement pour les utilisateurs. o Améliorer et compléter l architecture technique. Itération 4.. n : o Réaliser des fonctions jusqu à l obtention complète du système initialement envisagé. 31

Synthèse des instances du processus unifié Description Points forts Points faibles RUP Rational Unified Process - Promu par Rational. - Le RUP est à la fois une méthode et un outil prêt à l'emploi (documents types partagés dans un référentiel Web) - Cible des projets de plus de 10 personnes - Itératif - Spécifie le dialogue entre les différents intervenants du projet : les livrables, les plannings, les prototypes - Propose des modèles de documents, et des canevas pour des projets types - Coûteux à personnaliser -Très axé processus, au détriment du développement : peu de place pour le code et la Technologie 2TUP Two Track Unified Process -S'articule autour de l'architecture -Propose un cycle de développement en Y - Cible des projets de toutes tailles - Itératif - Fait une large place à la technologie et à la gestion du risque - Définit les profils des intervenants, les livrables, les plannings, les Prototypes - Plutôt superficiel sur les phases situées en amont et en aval du développement : capture des besoins, support, maintenance, gestion du changement - Ne propose pas de documents types Source: Processus Unifié Unified Process, Free Information Systems For Management Application, www.freewebs.com/fresma 1/4 32

Méthodes agiles Inconvénients de UP : Fait tout, mais lourd. Parfois difficile à mettre en œuvre de façon spécifique. UP pour les gros projets qui génèrent beaucoup de documentation. Quelles activités pouvons-nous abandonner tout en produisant des logiciels de qualité? Comment mieux travailler avec le client pour nous focaliser sur ses besoins les plus prioritaires et être aussi réactifs que possible? XP (extreme Programming) / SCRUM 33

Méthodes agiles Manifeste pour le développement agile de logiciels en 2001 : 4 valeurs 12 principes 34

Méthodes agiles Les 4 valeurs des méthodes agiles : Priorité aux personnes et aux interactions sur les procédures et les outils; Priorité aux applications fonctionnelles sur une documentation pléthorique ; Priorité à la collaboration avec le client sur la négociation de contrat ; Priorité à l'acceptation du changement sur la planification. RUP 4 fois plus lent que Scrum : jusqu à 27 rôles! beaucoup plus de réunions beaucoup plus de reportings beaucoup plus d efforts de communication 35

Méthodes agiles Les 12 principes des méthodes agiles : 1. Priorité à la satisfaction du client à travers la livraison rapide et continue du logiciel. 2. Acceptation des changements même tardifs dans le développement. 3. Livraison fréquente du logiciel, de 2 semaines à 2 mois, avec une préférence pour les périodes courtes. 4. Acteurs métier et développeurs doivent travailler ensemble quotidiennement tout au long du projet. 5. Construire des projets autour de personnes motivés. 6. Le moyen le plus efficace de véhiculer l information vers et à l intérieur d une équipe de développement est la conversation face à face. 7. La métrique principale pour juger de la progression d un projet est le logiciel fonctionnel. 8. Les processus agiles encouragent le développement durable. Les financeurs, les développeurs et les utilisateurs doivent maintenir un rythme constant indéfiniment. 36

Méthodes agiles 9. Une attention continue à l excellence technique et au bon design améliore l agilité. 10. La simplicité l art de maximiser le montant de travail non fait est essentiel. 11. Les meilleures architectures, besoins et conceptions proviennent des équipes auto-organisées. 12. A intervalles réguliers, l équipe réfléchit aux manières de devenir plus efficace, puis ajuste ses comportements de façon à s y conformer. 37

Exemple de méthode agile : Scrum Scrum est une méthode agile utilisée dans le développement de logiciels. Elle vise à satisfaire au mieux les besoins du client tout en maximisant les probabilités de réussite du projet. Scrum suppose que le développement d'un logiciel n'est pas prévisible et ne peut donc pas suivre de processus défini. Le résultat du projet dépend des réorientations que lui donne le client en cours de route. Un projet utilisant Scrum est composé d'une suite d'itérations courtes de l'ordre de 3 à 6 semaines appelées sprints. Le projet peut être réorienté par le client à la fin de chaque sprint 38

Exemple de méthode agile : Scrum 1. Le projet est organisé en sprints. C'est pendant cette phase que les fonctionnalités choisies sont développées et que le logiciel est créé. 2. Le backlog du produit constitue l'ensemble du travail connu sur le projet à un instant t. Il est régulièrement remis à jour et les besoins qui le constituent sont aussi régulièrement priorisés. 3. Le travail à faire durant un sprint est listé dans le backlog du sprint. Le contenu du sprint est un extrait du backlog produit. Les besoins sont priorisés de la même façon que dans le backlog du produit. 4. Durant le sprint, une réunion quotidienne appelée daily scrum (ou mêlée quotidienne) rassemble l'équipe afin de réorienter le sprint si besoin est. Il s'agit du point de contrôle de l'équipe. 5. A la fin d'un sprint, l'équipe livre au client un incrément de logiciel fini potentiellement livrable. 6. Ce cycle est répété jusqu'à ce que : 39 1. La date de fin de projet soit atteinte. 2. Le client ne peut plus financer le projet. 3. Le client considère que le logiciel délivre suffisamment de valeur et décide d arrêter le développement.

Exemple de méthode agile : Scrum Les phases de SCRUM : 40

Exemple de méthode agile : Scrum Scrum : Principes 41

Exemple de méthode agile : Scrum Scrum : rôles et pratiques 42

Exemple de méthode agile : Scrum Scrum : Les outils Les outils dédiés au management de projets agiles exemple IceScrum, Xplanner, etc. Le tableau blanc et les post-its : Il s agit ici de gérer le backlog produit et le backlog de sprint grâce à un tableur et d accrocher un grand tableau blanc, de le diviser en colonnes et de coller des post-its représentant les besoins et les tâches du backlog de sprint. 43

Exemple de méthode agile : Scrum Avantages du tableau blanc et des post-its : 44 Outil participatif : chacun peut venir déplacer son post-it et s arrêter devant le tableau pour réfléchir ou juste voir ce qu il reste à faire. Aide à la communication dans l'équipe lors des réunions quotidiennes. C est un support pour les questions quotidiennes dont les réponses sont étayées par les tâches affichées. L équipe se voit progresser. Les post-its passent de la gauche à la droite du tableau. C est un facteur de motivation. Inconvénients du tableau blanc et des post-its : L'expérience n est pas capitalisée : les post-its du sprint précédent sont enlevés. Il faut donc consigner manuellement dans un document l expérience acquise, en terme d exactitude des évaluations par exemple. Les post-its se décollent. Il est fortement conseillé de prendre régulièrement des photos du tableau, etc. Les courbes de progression sont à faire à la main. Le reporting au client et à sa hiérarchie est à faire manuellement. En cas de confiance totale, alors cela ne pose pas de souci : l équipe s engage au début du sprint et réalise une démonstration à la fin. Mais ce n'est souvent pas le cas.