Eléments de gestion de projet informatique Problématique Conduite de projets informatiques • Qu'est ce qu'un projet ? • Comment planifier un projet ? • Quelles spécificités des projets informatique ? Pr. Jean-Marc Jézéquel – cycle de vie – techniques IRISA - Univ. Rennes I Campus de Beaulieu F-35042 Rennes Cedex Tel : +33 299 847 192 Fax : +33 299 842 532 e-mail : [email protected] http://www.irisa.fr/prive/jezequel 21/03/11 • • • • 1 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques Introduction à la culture projet Cycle de vie du logiciel Estimation de projet Planification et suivi Qualité du logiciel Gestion des risques Gestion de configuration et des changements Rôle du chef de projet Pr. Jean-Marc Jézéquel - Conduite de projets informatiques J.-M Jézéquel 2 Introduction à la culture projet Conduite de projets informatiques • • • • • • • • d'estimation d'analyse/conception de tests de gestion de configuration • Pourquoi de la gestion de projet ? • Qu'est-ce qu'un projet ? • Qu'est-ce que la gestion de projet ? 3 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 1 4 2000 Eléments de gestion de projet informatique La solution : une méthode Pourquoi de la gestion de projet ? • Le déroulement du projet est formalisé – par l'entreprise qui capitalise son expérience – par le client qui impose des contraintes pour garantir le bon déroulement du projet • Les projets n'atteignent pas souvent leurs objectifs – dépassement de délais – surcoûts importants – qualité technique du produit insuffisante • Des spécifications de management sont édictées par – des entreprises – les états • Les projets se déroulent dans un milieu complexe – acteurs divers dans une entreprise : étude, production, marketing – environnement extérieur non maîtrisable : marché, social, politique, concurrence Pr. Jean-Marc Jézéquel - Conduite de projets informatiques • Stratégiques, beaucoup de ces informations sont confidentielles ; elles représentent le savoir-faire des entreprises. 5 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques Des principes fondateurs • • • • • • • • • Projet La gestion par objectifs La gestion des éléments critiques Des besoins clairement exprimés Les hommes, les méthodes, les moyens Un seul point de responsabilité La délégation d'autorité (confiance) La communication entre fonctions et niveaux Il est plus important d'être clair que parfait Le droit à l'erreur Pr. Jean-Marc Jézéquel - Conduite de projets informatiques J.-M Jézéquel 6 Action spécifique, nouvelle, qui structure méthodiquement et progressivement une réalité à venir pour laquelle on n'a pas encore d'équivalent exact. 7 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 2 8 2000 Eléments de gestion de projet informatique Projet Caractéristiques • Généralement novateur – technique, dimension, géographie, procédé,… • C'est une réponse apportée à une demande élaborée pour satisfaire aux besoins d'un maître d'ouvrage. • Non répétitif • Il implique : • Début et fin – donc organisation spécifique, temporaire – bilan non forcément annuel – un objectif physique ou intellectuel, – des actions à entreprendre avec des ressources données. • Tourné vers l'objectif final – Adaptable à des modifications fréquentes Rôle du chef de projet • Equilibre entre contraintes techniques, coût et délais Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 9 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 10 Phases et implication des acteurs Acteurs du projet • Maître d'ouvrage personne physique ou morale propriétaire de l'ouvrage. Il détermine les objectifs, le budget et les délais de réalisation. Maître d'œuvre organisation créativité • Maître d'œuvre personne physique ou morale qui reçoit mission du maître d'ouvrage pour assurer la conception et la réalisation de l'ouvrage. conception verrouillage mise en œuvre réalisation maintenance exploitation Maître d'ouvrage Pr. Jean-Marc Jézéquel - Conduite de projets informatiques J.-M Jézéquel 11 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 3 12 2000 Eléments de gestion de projet informatique Gérer le projet Les types de contrat • Forfaitaire (plutôt grands projet) • Définir les objectifs, la stratégie, les moyens, l'organisation – le travail doit être clairement défini – les interfaces entre contractants doivent être contrôlés – le maître d'œuvre assume les risques Décider Prévoir Réagir • Les adapter aux changements internes au projet mais aussi externes (socio-politico-économique) Gérer • Régie (plutôt étude) – les coûts et la charge doivent être gérés par le client – le maître d'ouvrage assume les risques • Dans la mesure du possible les optimiser Apprendre • Mixte Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 13 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques Objectifs et Moyens 14 Dilemme du management de projet • Les objectifs sont : – Techniques – Economiques – Délais • Ils sont obtenus par des moyens : Evaluation Décider Prévoir Réagir Gérer gestion du risque Planification Délais Contrôle – Humains – Matériels – Financiers Pr. Jean-Marc Jézéquel - Conduite de projets informatiques J.-M Jézéquel Défaut = non Qualité Coût Estimation A ressource égale, vouloir améliorer un paramètre, influe négativement sur les autres … 15 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 4 16 2000 Eléments de gestion de projet informatique Management de projet Direction de projet Axes du management Conduite Pilotage • Planification • Contrôle • Management humain Synthèse et décision Analyse et reporting Gestion des hommes Organisation Communication Animation Gestion technique Gestion des moyens Objectif Méthode Qualité 23 Animer Pr. Jean-Marc Jézéquel - Conduite de projets informatiques Planification 24 Contrôle • Construction d'un scénario de référence décrivant : • mise en œuvre du système d'information – les objectifs – le contenu (les activités,…) – les moyens (ressources humaines, financières,…) – l' organisation (circulation de l'information, …) • mesurer la situation du projet • comparer à la référence • prévoir les conséquences (délais, coûts, qualité) • définir des actions correctives si nécessaire • appliquer ces actions On contrôle par rapport à ce qui est prévu… J.-M Jézéquel Suivre Planification Contrôle Coût-délais Pr. Jean-Marc Jézéquel - Conduite de projets informatiques Pr. Jean-Marc Jézéquel - Conduite de projets informatiques Prévoir Détecter les problèmes et les anticiper 25 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 5 26 2000 Eléments de gestion de projet informatique Management humain En bref • Mettre en place les conditions optimales de participation au projet : • • • • • – définir clairement les responsabilités – délimiter les zones conflictuelles – motiver, animer Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 27 Humain Technique Risques Coûts Délais • Notions simples et techniques de gestion de "bon sens" mais ... • Interaction complexe • Vocabulaire commun, outil de communication • Arbitrage objectif en contexte multiprojet Pr. Jean-Marc Jézéquel - Conduite de projets informatiques Conduite de projets informatiques 28 Estimation de projet • Introduction à la culture projet • Cycle de vie du logiciel • Estimation de projet – Principes – Techniques d estimations • • • • • Planification et suivi Qualité du logiciel Gestion des risques Gestion de configuration et des changements Rôle du chef de projet Pr. Jean-Marc Jézéquel - Conduite de projets informatiques J.-M Jézéquel 43 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 6 44 2000 Eléments de gestion de projet informatique L'art de l'estimation Pourquoi estimer ? • Connaître le coût d'une "vue de l'esprit" qui deviendra peut-être réalité • Pourquoi estimer ? – au bout d'un temps qu'on espère fini. • On estime : • La démarche d'estimation – Les immobilisations corporelles (terrains, bâtiment, équipement, ...) – Les immobilisations incorporelles (frais d'études, frais de démarrage, frais financiers,...) – Les dépenses d'exploitation (frais liés à l'activité, frais financiers,...) • Qualité Il est difficile de prévoir...surtout l'avenir B.Shaw Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 45 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques Type d'estimation Niveau d'information volume nécessaire 46 niveau de précision % Objectifs Technique Etude préliminaire Ordre de grandeur Ordre de grandeur 30 30 Avant projet 20 Avant projet 20 Préliminaire Préliminaire 10 Faisabilité Justifier l'engagement des études Autoriser les dépenses préliminaires 10 Courants 5 Courants Autoriser l'investissement Détaillée Contrôler les coût d'exécution 5 Détaillé J.-M Jézéquel Heures Jours Semaine Semaine ou mois Semaine ou mois Tarifs - + Pr. Jean-Marc Jézéquel - Conduite de projets informatiques Tonne Courbe Facteur Grands ensembles Facteurs Coûts unitaires Quelques offres Facteurs Coûts unitaires Nombreuses offres Mètres Coûts unitaires Temps 47 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 7 48 2000 Eléments de gestion de projet informatique Techniques d estimation du logiciel Démarche d'estimation • Quelques techniques Entrées – Objectifs techniques – Objectifs de délais – Environnement – Période – Historique – Références • La méthode Cocomo • Les points de fonction Augmentation de l'information Comparaison avec le résultat Sortie – Estimation Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 49 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques Méthodes d'estimations 55 Principe des modèles paramétriques • Effort = a (Size)p Avec : • • • • • Par analogie Oracle PERT Bottom-Up Modèle paramétrique – – – – Taille Effort a Size p en Personnes-Mois impact des paramètres sur l'effort quantité de travail (SLOC ou FP) exposant (proche de 1) calibré estimé calibré Estimation facteurs Pr. Jean-Marc Jézéquel - Conduite de projets informatiques J.-M Jézéquel 56 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 8 63 2000 Eléments de gestion de projet informatique Estimation Principe des modèles paramétriques • Effort = a (Size)p Avec : – – – – Effort a Size p • Quelques techniques en Personnes-Mois impact des paramètres sur l'effort calibré quantité de travail (SLOC ou FP) estimé exposant (proche de 1) calibré Taille Estimation • La méthode Cocomo • Les points de fonction Effort facteurs Taille Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 64 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques COCOMO COCOMO simple • Modèle paramétrique • Facteurs dans le domaine public • 3 modes de bases – organique – semi-détaché – détaché petite équipe, environnement stable équipe de taille moyenne grande équipe, répartie, nouvel environnement Pr. Jean-Marc Jézéquel - Conduite de projets informatiques J.-M Jézéquel 65 • mode organique : • semi-détaché : • détaché : HM = 2,4 (KLSL) 1.05 HM = 3.0 (KLSL) 1.12 HM = 3,6 (KLSL) 1.20 Effort • mode organique : • semi-détaché: • détaché : TDEV = 2.5 (HM) 0.38 TDEV = 2.5 (HM) 0.35 TDEV = 2.5 (HM) 0.32 Durée N = HM / TDEV 66 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 9 HM : Hommes-Mois (152heures) KLSL : Kilo de Ligne de Source Livrées 67 2000 Eléments de gestion de projet informatique COCOMO intermédiaire COCOMO intermédiaire • Quinze facteur correctifs sont introduits • Pour le personnel : – valués de VeryLow à XtraHigh – – – – – • Pour le projet : – fiabilité requise du logiciel – taille de la base de donnée – complexité du produit • Pour les méthodes : • Pour les contraintes de l'environnement : – méthode de programmation moderne – outils logiciels – durée du développement – contraintes de temps d'exécution / place mémoire – stabilité de la machine virtuelle – système de développement interactif ou non Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 68 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques COCOMO détaillé • • • • • • • • • Une répartition de l'effort sur les phases de développement est réalisée J.-M Jézéquel 69 Conduite de projets informatiques • Les facteurs correctifs dépendent de la taille (KLSL) Pr. Jean-Marc Jézéquel - Conduite de projets informatiques aptitude à l'analyse expérience du domaine expérience de la machine virtuelle aptitude à la programmation expérience du langage 70 Introduction à la culture projet Cycle de vie du logiciel Estimation de projet Planification et suivi Qualité du logiciel Gestion des risques Gestion de configuration et des changements Rôle du chef de projet Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 10 78 2000 Eléments de gestion de projet informatique Objectifs Coût et intérêt • du Projet : unique et mesurable, e.g.: • La question fondamentale : où en est le projet ? – prendre 1% du marché des cacahuètes salées grillées – faire des études de faisabilité – Intégrer deux systèmes informatiques – Maintenir une gare – Commercialiser une pâte dentifrice – Si un chef de projet sait répondre "intuitivement" et "fiablement" à la question : où en est le projet ? ou si cette question est sans fondement, la gestion de projet n'a pas lieu d'être. • Comment répondre à cette question ? – modéliser le scénario du projet (tableau de marche prévisionnel) – déterminer périodiquement ce qu'il reste à faire – indiquer où l'on en est sur le tableau de marche (avancement) • de la gestion du projet ; gérer : – Ressources matérielles et humaines – Finances – Temps Pr. Jean-Marc Jézéquel - Conduite de projets informatiques • La gestion de projet coûte de 2 à 5 % de la valeur ajoutée du projet. 79 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques Analyse de projet • • • • • • • • • • Formalisme Formalisme Product Breakdown Structure Work Breakdown Structure Planning Mettre en évidence les activités Organisation Breakdown Structure Réseau Scénario Tableau de marche Résumé Pr. Jean-Marc Jézéquel - Conduite de projets informatiques J.-M Jézéquel 80 PROJET PBS (QUOI) RESEAU GESTION de PROJET OBS (QUI) WBS (COMMENT) 81 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 11 SCENARIO 82 2000 Eléments de gestion de projet informatique Product Breakdown Structure fait partie de ... est composé de ... système sous-système 1 ensemble 1 sous-système 2 ensemble 2 Work Breakdown Structure sous-système 3 projet ensemble 3 Découpage du système en unités "physiques" hiérarchisées. définition système définition s-système 1 réalisation s-système 1 réalisation ensemble 21 réalisation s-système 2 réalisation ensemble 22 réalisation s-système 3 réalisation ensemble 23 intégration système intégration s-système 2 Description structurée de toutes les tâches du projet, rapportées au découpage du produit. Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 83 définition ensemble 21 réalisation ensemble 21 intégration ensemble 21 définition ensemble 22 réalisation ensemble 22 intégration ensemble 22 définition ensemble 23 réalisation ensemble 23 intégration ensemble 23 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques Planning 84 Planning def. sys réalisation s-système 1 def. sys def. s-sys 2 réalisation s-système 1 ensemble 21 réalisation s-système 2 réalisation s-système 3 ensemble 22 intégration sys t ensemble 23 intégration s-sys 2 Plusieurs niveaux de planning déductibles du WBS réalisation s-système 3 intégration système t Pr. Jean-Marc Jézéquel - Conduite de projets informatiques J.-M Jézéquel 85 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 12 86 2000 Eléments de gestion de projet informatique Mettre en évidence les activités Organisation Breakdown Structure • Une des causes principales de dérive dans un projet est que des travaux n'avaient pas été vus, et donc prévus • Qui fait quoi ? – Qui déclare telle activité achevée (réalisée) ? – Qui déclare telle activité correctement achevée ? (approuve, accepte) – Qui est responsable de qui ? – Il n'est pas rare que ceci représente 30 % de la charge d'un projet. • Le WBS permet de voir, et donc de mener des revues de projet pour isoler les éventuels oublis. • Les tâches annexes sont les plus souvent omises : • Principe : – logistique, mise en place de moyen de développement – formation, négociation de la sous-traitance – mise en place de l'environnement de test UN SEUL point de responsabilité par activité => WBS-type pour un type de projet dans une entreprise Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 87 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 88 Réseau Scénario Planning C 20 j R1 100% A 10 j D R1 100% B R2 100% I 10 j R2 50% 10 j R1 100% G 25 j R2 50% E A B C D E F G H I J 15 j R1 50% 5j 15 j R2 100% F J 20 j R2 100% H 20 j R1 50% J.-M Jézéquel R1 A H F C I t0.............................................t0+80 R2 B D E G J t0.............................................t0+80 t0.............................................t0+80 Activités/dépendances Ressources Durées Pr. Jean-Marc Jézéquel - Conduite de projets informatiques Plan de charge 89 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 13 90 2000 Eléments de gestion de projet informatique Au plus tôt C A 10 j R1 100% B 15 j R2 100% 20 j R1 100% D 5j R2 100% E 10 j R2 50% Au plus tard C F 15 j I R1 50% G 25 j R2 50% H 20 j 10 j A R1 100% J 20 j Planning R2 100% R2 100% 20 j R1 100% D 5j R1 100% B 15 j R2 100% E 10 j R2 50% R1 50% On commence par placer les activités sans antécédents 10 j F 15 j R1 50% G 25 j R2 50% H 20 j I J 10 j R1 100% 20 j R2 100% Planning R1 50% A B C D E F G H I J On commence par placer les activités sans successeurs A B C D E F G H I J t0.............................................t0+80 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques tf-80.........................................tf 91 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques Superposition ... 92 Chemin critique Planning Planning A B C D E F G H I J A B C D E F G H I J t0.............................................t0+80 tf-80.........................................tf t0.............................................t0+80 Ensemble des tâches de marge négative ou nulle Pr. Jean-Marc Jézéquel - Conduite de projets informatiques J.-M Jézéquel 93 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 14 94 2000 Eléments de gestion de projet informatique Tableau de marche Résumé PBS accord du client/ mise en cause du projet WBS accord du client OBS responsable de projet Réseau ajustement technique • Le tableau de marche est le scénario retenu – Pas de surcharge pour les ressources, – Délais et coûts satisfaisants. • Comment agir sur les scénarios ? – Problème de charge • Lissage ou nivellement – Délais et/ou charge • • • • Scénario Modification de priorités (réseau) Modification des ressources Modification des tâches (reprise de l'existant par exemple) Modification de la définition du produit Pr. Jean-Marc Jézéquel - Conduite de projets informatiques Tableau de marche 95 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques Plan directeur/Plan de développement Suivi de projet • Emis par le responsable du projet, le plan directeur contient : • Suivre/contrôler – les objectifs – les clauses contractuelles (client externe, sous-traitance) – organisation (responsabilité, hiérarchie) – circuit d'information et de décision – format et périodicité des comptes rendus – codification des activités – découpage du projet (organigramme technique) Pr. Jean-Marc Jézéquel - Conduite de projets informatiques J.-M Jézéquel 96 – les délais – les coûts – la qualité • Analyse du suivi • Historique 97 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 15 Défaut = non Qualité Coût Délais 98 2000 Eléments de gestion de projet informatique Suivre Défaut = non Qualité Coût Contrôle des délais Délais Tableau de marche Tableau de marche points d'avancement • Par rapport à la référence prévisionnelle, à une date donnée, mesurer pour chaque activité : • Choix d'une métrique ? • Fréquence des points d'avancement ? • Qui vérifie les informations ? Pr. Jean-Marc Jézéquel - Conduite de projets informatiques • Le réseau montrera les implications pour les tâches dépendantes • A-t-on une surestimation (ou une sous-estimation) systématique des durées ? => Nouvelles prévisions temps 99 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques Mesure de l'avancement Défaut = non Qualité Coût – début – fin – avancement points d'avancement Défaut = non Qualité Coût Délais 100 Métriques d'avancement Délais Ce qui est prévu Ce qui est fait • 0/100 Une chose est faite, ou non. On sousestime une activité en cours de réalisation. • 20/80 Une chose commencée est mesurée à 20% tant qu'elle n'est pas finie. • Par jalons Un pourcentage d'avancement est associé à chaque jalon. • Linéaire Associé à une mesure objective, physique. Ce qui reste à faire Ce qui est ré-estimé • prise en compte de la valeur observé de la productivité • ré-estimation budgétaire • Objectif : Mettre en évidence et expliquer – l'écart – la dérive – les tendances Pr. Jean-Marc Jézéquel - Conduite de projets informatiques J.-M Jézéquel 102 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 16 103 2000 Eléments de gestion de projet informatique Analyse du suivi Défaut = non Qualité Coût Conduite de projets informatiques Délais date prévues • • • • • • • • A B C D aujourd'hui Pr. Jean-Marc Jézéquel - Conduite de projets informatiques date de la mise à jour (mois) de la date prévue 104 Introduction à la culture projet Cycle de vie du logiciel Estimation de projet Planification et suivi Qualité du logiciel Gestion des risques Gestion de configuration et des changements Rôle du chef de projet Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 156 Objectifs de la gestion de configuration La gestion technique : Gestion de configuration • Garantir que tout les participants au projet savent – ce qui est décidé – ce qui est spécifié – ce qui est développé – ce qui est assemblé – ce qui est testé – ce qui est livré • Objectifs • Gestion – Des modifications – Des matériels – Des documents • Etre la mémoire du projet – traçabilité, réutilisabilité (capitalisation), documentation Pr. Jean-Marc Jézéquel - Conduite de projets informatiques J.-M Jézéquel 157 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 17 158 2000 Eléments de gestion de projet informatique Organisation de la gestion de documentation La documentation • Les documents ont une nomenclature centralisée • Les liens entre documents doivent être gérés • Un même document peut exister sous plusieurs versions • Les liens entre produit livrés et documents doivent être gérés • Les documents doivent être relus, validés, diffusés • Les documents doivent êtres sauvegardés, archivés, protégés • • • • Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 159 secrétariat du chef de projet documentation type procédures de relance outils de gestion de documentation Pr. Jean-Marc Jézéquel - Conduite de projets informatiques Documents étude de faisabilité étude préalable étude détaillée Dossier bilan existant Plan de développement Fiche-Projet Dossier de choix Rapport étude faisabilité Rapport étude préalable Cahier charges utilisateurs Cahier charges réalisation Réalisation Les matériels Recette • Comme tous les documents, les matériels/produits doivent Plan de recette Plan de migration – être identifiés – répertoriés – leurs versions gérés – la cohérence avec la documentation assurée Synthèse des recettes Plan de mise en œuvre Bilan du projet Rapport étude détaillée Pr. Jean-Marc Jézéquel - Conduite de projets informatiques J.-M Jézéquel étude technique Rapport étude technique 160 Rapport de réalisation 161 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 18 162 2000 Eléments de gestion de projet informatique L'impact des modifications Processus décisionnel de modification 1. Demande d'étude (par client ou membre du projet) • Pour maîtriser délais et coût, il faut maîtriser les modifications, inévitables dans un projet. Gestion des • Processus décisionnel de modification documents • Conserver une liste des modifications et le suivi du processus décisionnel apporté. • Certaines modifications peuvent amené à revoir des choses déjà livrées… – description de l'état d'origine, de l'état final, et des motivations – décision de poursuivre par le responsable du projet 2. Etude d impact technique, puis sur délais et coûts – noter la durée de validité de l'étude, date au delà de laquelle, si aucune décision n'est prise, il faudra réévaluer la modification 3. Décision ou non après accord avec le client, et diffusion aux participants concernés 4. Suivi de la mise en œuvre des modifications Gestion de configuration Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 163 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques Outil de Gestion de Configuration : l exemple de CVS CVS Features • • • • • • • • • CVS : Concurrent Versions System – logiciel libre disponible sous toute plate-forme • mode local ou client/serveur au dessus TCP • nombreuses GUI (WinCVS, WebCVS…) – relativement simple et léger à mettre en œuvre • vs. ClearCase, Continuus etc. Pr. Jean-Marc Jézéquel - Conduite de projets informatiques J.-M Jézéquel 164 165 Concurrent access by multiple developers Multiple development lines in a single repository Grouping sources into modules Symbolic source tagging Diffs between versions Configurable logging support Binary files support Repository event triggers Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 19 166 2000 Eléments de gestion de projet informatique Client-server architecture The CVS Repository ewacvs:/data1/cvsroot • separate server (UNIX or NT) • no shared filesystems CVSROOT shr project1 project2 project3 devkits • a server process per connection ar cgi doc install reports util web ewacvs cgipr unix nt esapps forms • Resides on a server • No working files inside the repository Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 167 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques CVS Usage Model Checkout, Commit, Update Checkout does not lock the files in repository – Makes private copy in working directory – Can check out anywhere – Check out multiple copies, multiple versions e ch Karen • Commit Working Copy V1.7 – Commit changes to the repository when finished – Working copies must be up to date with repository t la ou ck tes che t checkout V1.1 Michael checkout V1.2 ch ec – Brings working copy up to date with repository V1.8 or 1.9 Working Copy V1.1 Working Copy V1.2 X X checkin prohibited 169 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 20 ko ut la t Chris checkin • Update J.-M Jézéquel Concurrent checkout Master Repository foo.c • Checkout Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 168 cko ut b r es t anc h re l_1_ Brigid Working Copy V1.7 checkin V1.8 or 1.9 fix Patrick Working Copy V1.2.2.1 checkin V1.2.2.2 170 2000 Eléments de gestion de projet informatique CVS and the Development Cycle Ideal development with CVS development checkout checkin update 1. Check out source files in working directory. 2. Edit source files. Developer A repository 3. Unit test your code. 4. Update working files to merge in changes from other developers (if necessary). 5. Test again if the sources were merged on step 4. Developer B 6. Commit changes. 7. Repeat from step 2 until you have a new release. 8. Tag the release. 9. Submit the module name and release tag for integration build. Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 171 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques Common CVS commands Real development with CVS checkin conflict checkin update resolution cvs [cvs-options] command [cmd-options] [files] Developer A cvs init cvs checkout cvs commit cvs update cvs add cvs remove cvs tag cvs status cvs log cvs diff repository X Pr. Jean-Marc Jézéquel - Conduite de projets informatiques J.-M Jézéquel 172 Developer B conflict 173 Initialize a new repository. Check out source for editing. check files into the repository Bring working files into sync with repository. Add new file/directory to repository. Remove an entry from the repository. Label the sources. Show status of checked out files. Show revision history for files. Compare working files to version in repository or versions inside the Pr. Jean-Marc Jézéquel - Conduite de projets informatiques repository. 21 174 2000 Eléments de gestion de projet informatique CVS online • • • • • • Conduite de projets informatiques • • • • • • • • Official CVS site: http://www.cyclic.com CVS Bubbles: http://www.loria.fr/~molli/cvs-index.html CVS for Web development: http://durak.org:81/cvswebsites WinCvs: http://www.wincvs.org jCVS: http://www.jcvs.org/ Netscape’s Mozilla under CVS: http://cvs-mirror.mozilla.org/webtools/tindertest/showbuilds.cgi?tree=SeaMonkey • FreeBSD CVS repository: http://www.freebsd.org/support.html#cvs Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 175 Introduction à la culture projet Cycle de vie du logiciel Estimation de projet Planification et suivi Qualité du logiciel Gestion des risques Gestion de configuration et des changements Rôle du chef de projet Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 176 Evolution d'un projet Missions et responsabilités • Incarner l'identité du projet exploration des possibilités : objectif : mieux connaître le projet – Ni plus (d'autres projets de l'entreprise), – Ni moins (des sous ensembles du projet) gels, décisions l'entreprise se compromet capacité d'action passage à l'acte gestion des délais et des coûts • Gérer la convergence du projet – Définir l'objectif – Etre la mémoire du projet – Agir pour converger niveau de connaissance sur le projet décisions globales simultanées et tardives pour diminuer les risques risques d'obsolescence commerciale déroulement du projet Pr. Jean-Marc Jézéquel - Conduite de projets informatiques J.-M Jézéquel 177 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 22 178 2000 Eléments de gestion de projet informatique Rôle en phase de créativité (1) Rôle en phase de créativité (2) • Définition initiale : objectif et méthodes • Recherche de compromis inter-métiers optimaux – Participation à la définition du cahier des charges. Définition (ou remise en cause) des méthodes de travail. – Styliste, ingénieur d'étude, commercial : pas mêmes critères d'évaluation • Mobilisation – Recrutement des ressources nécessaires. – Le chef de projet a pour rôle d'accorder tous les points de vue. • Adaptation des normes métiers – Lien projet -> normes/stratégies des métiers participants; adaptation Pr. Jean-Marc Jézéquel - Conduite de projets informatiques • Homme de communication pour détecter les problèmes avant que l'irréversibilité du projet ne dicte une solution. 179 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques Rôle en phase de verrouillage Rôle en phase de mise en œuvre • Stabilisation progressive du projet • Améliorer la dynamique du système – Il faut clore les débats ouverts dans la première phase. Le désir de retarder le plus possible les prises de décisions, pour avoir le plus d'information possible, doit être tempérer. – De même l'arrivée probable et incessante de nouvelles données par la hiérarchie quant à la conjoncture, aux alliances, aux stratégies ne doit pas faire oublier la nécessité de converger. – Fini le temps des prospectives, des prévisions, voici venu le pompier. – Le directeur de projet se mobilise sur les innombrables raisons apparemment dérisoires qui pourraient entraîner des pertes importantes. Il faut accroître la vitesse de réaction du système quitte à modifier les procédures de fonctionnement standards : • limiter les remonté hiérarchiques, • gérer les problèmes par lots plutôt qu'au cas par cas, • ... • Mise sous contrôle et mémorisation – Une fois le projet stabilisé, le processus de développement doit être continûment suivi. Pr. Jean-Marc Jézéquel - Conduite de projets informatiques J.-M Jézéquel 180 181 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 23 182 2000 Eléments de gestion de projet informatique Evolution du type de management En bref • Etendue des compétences du chef de projet large Ouvert Propice à la création Recherche de compromis – Maîtrise technique – Maîtrise de gestion – Capacité à motiver chercher à stabiliser le projet • Improbable chez un seul individu => Equipe projet directif arbitre pompier • Mais l'équipe projet, si elle est le maillon le plus visible, ne doit pas être le seul à être analysé et à évoluer pour améliorer l'efficacité du projet...direction, métiers doivent s'impliquer déroulement du projet Pr. Jean-Marc Jézéquel - Conduite de projets informatiques Introduction 183 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques Conclusion 184 Introduction Mise en pratique dans PRO2 • La technique est nécessaire... • Vous représenterez la maîtrise d’ouvrage (au forfait !) • Mise en place de la gestion de projet (technique et non Les outils type « project management » peuvent jouer un rôle (mineur)… mais loin d'être suffisante pour garantir le succès technique) : – Bien définir les rôles de chacun, les ressources… • Problèmes humains dominent ! – Bien fixer les objectifs – Faire les estimations et la planification (prévisionnel/réel) • Organisation, management, communication, planification, planification, ... Pr. Jean-Marc Jézéquel - Conduite de projets informatiques J.-M Jézéquel – Processus documentaire : PBS, WBS, OBS, Réseau et Scénario 185 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 24 186 2000 Introduction Eléments de gestion de projet informatique Mise en pratique dans PRO2 Bibliographie R. E Westney, Gestion de petits projets, Techniques de planification, d'estimation et de contrôle, Paris, afnor gestion, 1991 Christophe Midler, "L'acteur projet, portrait d'un rôle d'influence", in Actes de la 8e convention de l'AFITEP : Direction et contrôle de projet", Paris, octobre 1992, pp 13-28 L. Sayles, M. Chandler, "The project Manager : Organizational Metronome", in Managing Large Systems, New York, Harper & Row, 1971, pp 204-226 P.J. Benghozi, Innovations et gestion de projets, Paris, Eyrolles, 1990 Vincent Giard, "Les gestions du risque dans les projets", in Actes de la 8e convention de l'AFITEP : Direction et contrôle de projet", Paris, octobre 1992, pp 175-191 Vincent Giard, Gestion de projet, Economica, 1992 Jean-Louis Muller, "L'estimation : un métier ou un art ?", in Actes de la 8e convention de l'AFITEP : Direction et contrôle de projet", Paris, octobre 1992, pp 175-191 Progèspace, "Guide méthodologique de gestion de projet", Support de formation 1990 J.A. McCall, Quality factors, in Encyclopædia of Software Engineering, Vol 1, pp 958--969, John Wiley & Sons, 1994 T. Forse, Qualimétrie des systèmes complexes, mesure de la qualité du logiciel, Les éditions d'organisation • Les moyens mis à votre disposition : – Une forge (SVN, liste de diffusion, documents, wiki…) – Outils open-source (de planification, …) Pr. Jean-Marc Jézéquel - Conduite de projets informatiques J.-M Jézéquel 187 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 25 188 2000