Cours Gestion de projet



Documents pareils
Les méthodes itératives. Hugues MEUNIER

Génie logiciel (Un aperçu)

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

Gestion Projet. Cours 3. Le cycle de vie

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

Introduction au génie logiciel

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

Processus de Développement Logiciel

Processus de Développement Logiciel

CHAPITRE 3 : LES METHODES AGILES?

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

But de cette introduction à la gestion de projets :

Analyse,, Conception des Systèmes Informatiques

Méthodes de développement

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

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

25/12/2012

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

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

Développement itératif, évolutif et agile

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

Le génie logiciel. maintenance de logiciels.

Processus d Informatisation

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

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

Méthodologies de développement de logiciels de gestion

LA GESTION DE PROJET INFORMATIQUE

LA GESTION DE PROJET INFORMATIQUE

Jean-Pierre Vickoff J-P Vickoff

Analyse et Conception objet du logiciel Analyse et conception objet du logiciel : Méthode de conception objet et notation UML.

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

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

Conception, architecture et urbanisation des systèmes d information

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools.

IFT2255 : Génie logiciel

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

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)

Chapitre I : le langage UML et le processus unifié

GL Processus de développement Cycles de vie

2.DIFFERENTS MODELES DE CYCLE DE VIE

XP : plus qu'agile. Extreme Programming v2 et Développement Responsable. Thierry Cros

Méthodologies Orientées-Objet!

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

Méthodes Agiles et gestion de projets

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

Jean-Pierre Vickoff

SECTION 5 BANQUE DE PROJETS

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

Développement ebusiness

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

A-t-on le temps de faire les choses?

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

Eclipse Process Framework et Telelogic Harmony/ITSW

Introduction à la modélisation

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

Développement spécifique d'un système d information

Rational Unified Process

Méthodes de développement. Analyse des exigences (spécification)

Chapitre 5 Vision Informatique Logique Architectures Applicative et Logicielle

Technologie Web. Conception de sites Web. Alexandre Pauchet. INSA Rouen - Département ASI. INSA - ASI TechnoWeb : Rappels UML 1/21

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

Le Guide Pratique des Processus Métiers

Exemple d implémentation d un. Projet SAP avec ASAP

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

Identification du module

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Méthodologies de gestion de projet agiles et en cascade : définition, combinaison et application.

Cours Gestion de projet

Sujet de thèse CIFRE RESULIS / LGI2P

Scrum Une méthode agile pour vos projets

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

J2EE in practice. Olivier Liechti Patrik Fuhrer. Department of Informatics. Computer Science Master Course - SH 2004/05

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

Introduction IV. Comparaison MERISE/UML/SCRUM Approche fonctionnelle Schéma Entité/Association Méthodologie...

AGILE Historique et évolution

CINEMATIQUE DE FICHIERS

Le Processus Unifié. Une Démarche Orientée Modèle. IUP NTIE - Master 1 - Jérémie Guiochet - 4/11/09

Reza MADANI Manager et Consultant Indépendant Stratégie, organisation, management et transformation de systèmes d information

Analyse par Objets. avec UML (Unified Modeling Language) Pr. Jean-Marc Jézéquel IRISA - Univ. Rennes I

Alignement stratégique du SI et gestion de portefeuille de projets

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

Le "tout fichier" Le besoin de centraliser les traitements des fichiers. Maitriser les bases de données. Historique

Réussir le choix de son SIRH

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

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

GL Le Génie Logiciel

Le management de projet

backlog du produit Product Owner

Retour d expérience implémentation Scrum / XP

En face du commanditaire, on met un chef de projet qui connait le domaine (banque, administration, etc.)

Conduite de projets informatiques

Introduction. Nicolas Phalippon IR3. Source: rapport commandé par le Congrès américain. Présentation du 24/10/02

Framework Agile Global

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

LA GESTION DE LA RELATION CLIENT

Moteur Agile de Projet PUMA. Architecte d une génération d Entreprises performantes. Jean-Pierre Vickoff

Guide de Préparation. EXIN Agile Scrum. Foundation

Le secteur des SSII (Sociétés de

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

Urbanisation de système d'information. PLM 4 (Product Lifecycle Management) Préoccupation d'assurance qualité Processus et Procédures

Transcription:

Cours Gestion de projet Méthodes de conduite de projet Version Date Auteur V1.8 Septembre 2007 Pascal HEYER 1

Méthodes de conduite de projet Ce document est publié sous la licence libre Creative Commons-BY-NC-SA http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ BY : Paternité. Vous devez citer le nom de l'auteur original. NC : Pas d'utilisation Commerciale. Vous n'avez pas le droit d'utiliser cette création à des fins lucratives et commerciales. SA : Partage des Conditions Initiales à l'identique. Si vous modifiez, transformez ou adaptez cette création, vous n'avez le droit de distribuer la création qui en résulte que sous un contrat identique à celui-ci. En outre, à chaque réutilisation ou distribution, vous devez faire apparaître clairement aux autres les conditions contractuelles de mise à disposition de cette création. Chacune de ces conditions peut être levée si vous obtenez l'autorisation du titulaire des droits. 2

Méthodes de conduite de projet Sommaire Rappel sur les activités de développement Plan de conduite Cycle de vie du logiciel Les principales méthodes Synthèse Recommandations 3

Rappel sur les activités d un projet informatique de développement Activités d ingénierie logiciel : Conception Développement Test Activités de gestion : Gestion de projet Gestion des tests Activités support : Assurance de la Qualité Gestion de configuration logiciel Documentation, traduction, formation Système, réseaux, base de données Conception Réalisation Test Gestion AQL GCL Documentation. Infrastructure (système, réseaux, SGBDR) 4

Le plan de conduite = scénario du projet Le scénario du projet dépend : De la méthode de conduite de projet utilisée qui définit les activités d ingénierie logicielle : Découpage Projet en Phases/étapes/tâches Pour chaque étape : entrée, activités (acteurs/responsabilité), sorties (produits), V&V Le cycle de vie De la Méthode de conception (modélisation) 5

Précisions sur le vocabulaire Les méthodes de conception (modélisation) permettent de décrire un système d information et ses évolutions : UML Les méthodes de conduite de projet décrivent un processus de développement qui s appuie sur une méthode de modélisation : UP RAD Des adhérences entre conception et conduite de projet : Merise/Merise, UML/(UP et ses déclinaisons) 6

Les objectifs du cours Il s agit de : Comprendre les grands concepts des principales méthodologies de conduite de projet et leurs cas d utilisation Il ne s agit pas de : De maîtriser ces méthodologies 7

Le processus de développement Phases, étapes, activités de spécification, de conception, réalisation et test avec des activités de V&V Le cycle de vie 8

Le processus de développement Est constitué de Phases/étapes/activités de spécification, de conception, réalisation et test avec des activités de V&V Leur enchaînement = Le cycle de vie Management de Projet et activités Support Lancement Version Cadrage Spécifications Conception Réalisation Tests Mise en production Approche d'ensemble Clôture 9

«Pré-historique?» Cycles de vie (1/5) Codage Utilisation Cascade simple Analyse Conception Codage Tests Maintenance 10

Cycles de vie (2/5) FC Cascade «évoluée» : Processus en V Expression des besoins Tests d acceptation Spécification du système Tests du système Conception générale Tests intégrés Conception détaillée Tests unitaires Implémentation 11

Risques et amélioration du cycle de vie en cascade (3/5) Risques élevés et non contrôlés Identification tardive des problèmes Preuve tardive de bon fonctionnement => Effet «Tunnel» Améliorations : Découplage entre phases et activités Construction du système par incréments (phases) Chaque itération a pour but de maîtriser une partie des risques et apporte une preuve tangible de faisabilité ou d adéquation Enrichissement d une série de prototypes Les versions livrées correspondent à une étape de la chaîne des prototypes 12

Amélioration du cycle de vie en cascade (4/5) Processus itératif et incrémental Un processus itératif implique la gestion d'une succession des activités de développement. Un processus incrémental signifie que l'architecture du système est constamment améliorée pour produire ces nouvelles versions qui apportent toutes des améliorations incrémentales par rapport à la précédente. Un processus à la fois itératif et incrémental doit être centré sur les risques, c'est-à-dire que chaque nouvelle version se concentre sur la prise en charge et la réduction des risques les plus importants qui pourraient menacer la réussite du projet. 13

Cycle de vie (5/5) En spirale Analyse Conception Spécifications Besoins Proto type V1 V2 Implémentation Validation Tests 14

Cycle de vie et méthodes de conduite Cascade (Merise, SDM/S) Semi-itératif (RAD) Itératif (UP, XP) 15

Merise/Historique Méthode d Étude et de Réalisation Informatique pour les Systèmes d Entreprise En 1977/1978, demande du Ministère de l'industrie : choix de sociétés de conseil en informatique pour la constitution d'une méthode de conception des systèmes d'information Équipe de J.-L. Lemoigne (Univ. d'aix / Marseille) CTI (Centre Technique d'informatique) CETE (Centre d'études Techniques de l'équipement) 16

Merise/Principes de base Principes de base de la méthode Merise Vision globale : la mise en place d'un S.I. est liée à la refonte de l'organisation Vision systémique de l'entreprise : travaux de J.-L. Lemoigne, J. Melese, J. de Rosnay 17

Merise/Approche 1. Approche par niveaux et par étapes Niveaux : en contribuant à la stratégie de l'entreprise en mettant en œuvre les règles de gestion en tenant compte des aspects organisationnels en tenant compte des aspect techniques => formalise le système futur Etapes : conception développement mise en œuvre généralisation de l'emploi du S.I. futur évolution du S.I. futur => hiérarchise les décisions au cours de la vie du projet 2. Séparation des données et des traitements 18

Merise/Principes de base FC 1. Passage par différents étapes : "le cycle d'abstraction pour la conception des S.I." >système d'information manuel >expression des besoins >modèle conceptuel (quoi) >modèle logique (qui, quand, ou) >modèle physique (comment) >système d'information automatisé 2. La séparation des données et des traitements l'agencement des données est plutôt stable les traitements sont fréquemment remaniés la séparation des données et des traitements assure une longévité au modèle 19

Merise/Chronologie des étapes 20

Merise/cycle de vie Le cycle de vie se décompose en phases : Spécifications des besoins, Conception générale, Conception détaillée, Codage et tests unitaires, Tests intégrés (intégration des modules), Tests système (intégration du logiciel), Recette. Ces phases sont échelonnées dans le temps. Une phase se termine par la remise de Livrables(s) validé(s). Une phase se termine lorsque la revue de cette phase est faite. Une phase ne peut commencer que lorsque la précédente est terminée. =>La décomposition en phases permet donc le suivi du projet. 21

Cycle de vie Processus de développement d'un logiciel classique : 22

Merise/Processus de conception La courbe du soleil (cycle complet) 23

Merise/Modélisation Merise intègre sa propre méthode de modélisation Niveau conceptuel Modèle Conceptuel de Données Modèle Conceptuel des Traitements Niveau Organisationnel Modèle Logique de Données Modèle Organisationnel des Traitements Niveau Physique Modèle Physique de Données Modèle Opérationnel des Traitements 24

Les Méthodes Agiles (AM = Agile Modeling)! " #$ %&$ & '() *+,,-($ $% './/0001 1 / $)1 2! $ % 3 4. 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. 4 -+&# $ 1 25

Nombreuses Les Méthodes Agiles S appliquent en fonction de la taille et la typologie des projets 26

Historique : 1997 Principes : UP (Unified Process) Approche itérative et incrémentale L ordonnancement des itérations est basée sur les priorités entre cas d utilisation et sur l étude du risque Chaque prototype réduit une part du risque Un prototype est un programme exécutable qui peut s évaluer quantitativement Un prototype donné est construit avec des buts précis et clairement exprimés Les priorités et l ordonnancement de construction des prototypes peuvent changer avec le déroulement du plan 27

UP/Phases et itérations Des phases Inception (étude d'opportunité) Elaboration (architecture, planification) Construction Transition Des itérations Chaque cycle donne une génération Chaque cycle est décomposé en phases Chaque phase comprend des itérations Des incréments Le logiciel évolue par incrément Une itération correspond à un incrément Les itérations peuvent évoluer en parallèle 28

UP/Phases et itérations! "!# 29

UML UP/Modélisation Diagrammes de contexte Diagrammes de cas d utilisation Diagrammes d objet Diagrammes de classes Diagrammes de composants Diagrammes de déploiement Diagrammes de collaboration Diagrammes d état-transition Diagrammes d activités Diagrammes de séquences 30

UP->RUP (Rational Unified Process) Promu par IBM Rational C est un outil qui propose des gabarits partagés dans un référentiel 31

Historique XP (extreme Programming) Initiative de Kent BECK en 1996 Projet vitrine à la DRH Chrysler Principes : Pousser à l extrême les bonnes pratiques de génie logiciel Respecte le manifeste des méthodes Agiles 4 valeurs de base -> 12 pratiques 32

extreme Programming Les 4 valeurs fondamentales : Communication : tout doit être prétexte à communiquer. Privilégier les échanges directs (face à face) Simplicité : faire simple avant tout Rétroaction (feedback) : utiliser les expériences du passé et les remarques du client le plus possible Courage : il faudra peut être jeter des semaines de travail pour suivre les nouvelles exigences du client (accepter le re-work) 33

Les 12 pratiques : extreme Programming Livraisons fréquentes Planification itérative Intégration continue Tests permanents Métaphore système Conception simple Remaniement Programmation en binôme Responsabilité collective du code Rythme durable Client sur le site Standard d écriture 34

Cycle de vie extreme Programming 35

Synthèse (1/4) MERISE (conduite de projet) (ou SDM/S) : Approche «par la structure» (systémique). Inconvénients (liés à la validation en cascade) : rigidité, manque d'adaptation, éloignement des besoins détaillés des utilisateurs, on valide que du papier, «effet tunnel». UP/RUP (ou RAD) : Approche «par la structure» avec validation en cascade (pour maintenir la cohérence global) lors du premier tiers du projet. Puis, approche «par les besoins» avec construction-validation de type itératif-incrémentiel (pour assurer la conformité de l'application aux besoins de l'utilisateur). Inconvénients : pas d inconvénient «structurel», mais implique d adapter le processus à la typologie du projet. Gestion des besoins «béton». XP (ou FDD, Crystal) : Approche «par les besoins» se voulant totalement incrémentielle et itérative mais finalement débutant par une phase exploratoire (comme UP). Inconvénients : risques d'incohérences, de redondances et de déstructuration des programmes par de trop fréquentes modifications. Gestion des besoins «béton». 36

Synthèse (2/4)! Merise " #$ " #% " # " " #&$ #&% " # " #&$ 37

Synthèse (3/4) Description Points forts Points faibles Cascade Merise Propose de dérouler les phases projet de manière séquentielle Distingue clairement les phases projet Simple à mettre en œuvre Partagé par la communauté informatique Non itératif Effet tunnel Ne propose pas de modèles de Documents RUP Rational Unified Process Promu par Rational. A la fois une méthodologie 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 : batterie de consultants Très axé processus, au détriment du développement : peu de place pour le code et la technologie 38

Synthèse (4/4) Description Points forts Points faibles XP extreme Programming Ensemble de «Bests Practices» de développement (travail en équipes, transfert de compétences, etc.) Cible des projets de moins de 10 personnes Itératif Simple à mettre en œuvre Fait une large place aux aspects techniques : prototypes, règles de développement, tests Innovant: programmation en duo, kick-off matinal debout Ne couvre pas les phases en amont et en aval au développement : capture des besoins, support, maintenance, tests d intégration Elude la phase d analyse, si bien qu on peut dépenser son énergie à faire et défaire Assez flou dans sa mise en œuvre: quels intervenants, quels livrables? 39

Recommandations (Best Practices?) *. 5 '67,) 5 5 82 # *. 5 9 #( $: 1 : ; <. 5 :=' $$ ($( ) 40