Problématique Conduite de projets informatiques Pr. Jean-Marc Jézéquel IRISA - Univ. Rennes I Campus de Beaulieu F-35042 Rennes Cedex Tel : +33 299 847 192 Fax : +33 299 842 532 e-mail : jezequel@irisa.fr http://www.irisa.fr/prive/jezequel 21/03/11 1 Qu'est ce qu'un projet? Comment planifier un projet? Quelles spécificités des projets informatique? cycle de vie techniques d'estimation d'analyse/conception de tests de gestion de configuration Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 2 Conduite de projets informatiques Introduction à la culture projet 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 Pourquoi de la gestion de projet? Qu'est-ce qu'un projet? Qu'est-ce que la gestion de projet? Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 3 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 4 J.-M Jézéquel 1
Pourquoi de la gestion de projet? Les projets n'atteignent pas souvent leurs objectifs dépassement de délais surcoûts importants qualité technique du produit insuffisante 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 La solution : une méthode 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 Des spécifications de management sont édictées par des entreprises les états Stratégiques, beaucoup de ces informations sont confidentielles ; elles représentent le savoir-faire des entreprises. Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 5 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 6 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 7 Action spécifique, nouvelle, qui structure méthodiquement et progressivement une réalité à venir pour laquelle on n'a pas encore d'équivalent exact. Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 8 J.-M Jézéquel 2
Projet Caractéristiques C'est une réponse apportée à une demande élaborée pour satisfaire aux besoins d'un maître d'ouvrage. Il implique : un objectif physique ou intellectuel, des actions à entreprendre avec des ressources données. Généralement novateur technique, dimension, géographie, procédé, Non répétitif donc organisation spécifique, temporaire Début et fin bilan non forcément annuel Tourné vers l'objectif final Rôle du chef de projet Adaptable à des modifications fréquentes 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 Acteurs du projet Phases et implication des acteurs 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 personne physique ou morale qui reçoit mission du maître d'ouvrage pour assurer la conception et la réalisation de l'ouvrage. organisation créativité conception verrouillage Maître d'œuvre mise en œuvre réalisation maintenance exploitation Maître d'ouvrage Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 11 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 12 J.-M Jézéquel 3
Les types de contrat Gérer le projet Forfaitaire (plutôt grands projet) le travail doit être clairement défini les interfaces entre contractants doivent être contrôlés le maître d'œuvre assume les risques 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 Définir les objectifs, la stratégie, les moyens, l'organisation Les adapter aux changements internes au projet mais aussi externes (socio-politico-économique) Dans la mesure du possible les optimiser Décider Prévoir Réagir Gérer Apprendre Mixte Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 13 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 14 Objectifs et Moyens Dilemme du management de projet Les objectifs sont : Techniques Economiques Délais Décider Prévoir Réagir Evaluation Estimation gestion du risque Coût Défaut = non Qualité Ils sont obtenus par des moyens : Humains Matériels Financiers Gérer Planification Contrôle Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 15 Délais A ressource égale, vouloir améliorer un paramètre, influe négativement sur les autres Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 16 J.-M Jézéquel 4
Management de projet Axes du management Direction de projet Conduite Pilotage Gestion des hommes Analyse et reporting Gestion technique Synthèse et décision Gestion des moyens Planification Contrôle Management humain Prévoir Suivre Animer Organisation Communication Animation Objectif Méthode Qualité Planification Contrôle Coût-délais Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 23 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 24 Planification 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, ) On contrôle par rapport à ce qui est prévu Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 25 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 Détecter les problèmes et les anticiper Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 26 J.-M Jézéquel 5
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 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 27 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 28 Conduite de projets informatiques 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 43 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 44 J.-M Jézéquel 6
L'art de l'estimation Pourquoi estimer? Pourquoi estimer? La démarche d'estimation Qualité Il est difficile de prévoir...surtout l'avenir B.Shaw Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 45 Connaître le coût d'une "vue de l'esprit" qui deviendra peut-être réalité au bout d'un temps qu'on espère fini. On estime : 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,...) Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 46 Niveau d'information Type d'estimation volume nécessaire niveau de précision % Ordre de grandeur 30 30 Avant projet 20 20 Préliminaire 10 10 Courants 5 5 Détaillé - + Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 47 Ordre de grandeur Avant projet Préliminaire Courants Détaillée Objectifs Etude préliminaire Faisabilité Justifier l'engagement des études Autoriser les dépenses préliminaires Autoriser l'investissement Contrôler les coût d'exécution Technique Tonne Courbe Facteur Grands ensembles Facteurs Coûts unitaires Quelques offres Facteurs Coûts unitaires Nombreuses offres Mètres Coûts unitaires Tarifs Temps Heures Jours Semaine Semaine ou mois Semaine ou mois Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 48 J.-M Jézéquel 7
Démarche d'estimation Techniques d estimation du logiciel Entrées Objectifs techniques Objectifs de délais Environnement Période Historique Références Sortie Estimation Augmentation de l'information Comparaison avec le résultat Quelques techniques La méthode Cocomo Les points de fonction Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 49 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 55 Par analogie Oracle PERT Bottom-Up Modèle paramétrique Méthodes d'estimations Taille Principe des modèles paramétriques Effort = a (Size) p Avec : Effort en Personnes-Mois a impact des paramètres sur l'effort calibré Size quantité de travail (SLOC ou FP) estimé p exposant (proche de 1) calibré Estimation facteurs Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 56 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 63 J.-M Jézéquel 8
Principe des modèles paramétriques Estimation Effort = a (Size) p Avec : Effort en Personnes-Mois a impact des paramètres sur l'effort calibré Size quantité de travail (SLOC ou FP) estimé p exposant (proche de 1) calibré Quelques techniques La méthode Cocomo Les points de fonction Taille Estimation Effort facteurs Taille Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 64 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 65 COCOMO COCOMO simple Modèle paramétrique Facteurs dans le domaine public mode organique : HM = 2,4 (KLSL) 1.05 semi-détaché : HM = 3.0 (KLSL) 1.12 détaché : HM = 3,6 (KLSL) 1.20 Effort 3 modes de bases organique petite équipe, environnement stable semi-détaché équipe de taille moyenne détaché grande équipe, répartie, nouvel environnement Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 66 mode organique : TDEV = 2.5 (HM) 0.38 semi-détaché: TDEV = 2.5 (HM) 0.35 détaché : TDEV = 2.5 (HM) 0.32 N = HM / TDEV Durée HM : Hommes-Mois (152heures) KLSL : Kilo de Ligne de Source Livrées Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 67 J.-M Jézéquel 9
COCOMO intermédiaire COCOMO intermédiaire Quinze facteur correctifs sont introduits valués de VeryLow à XtraHigh Pour le projet : fiabilité requise du logiciel taille de la base de donnée complexité du produit Pour les contraintes de l'environnement : 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 Pour le personnel : aptitude à l'analyse expérience du domaine expérience de la machine virtuelle aptitude à la programmation expérience du langage Pour les méthodes : méthode de programmation moderne outils logiciels durée du développement Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 69 COCOMO détaillé Conduite de projets informatiques Les facteurs correctifs dépendent de la taille (KLSL) Une répartition de l'effort sur les phases de développement est réalisée 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 70 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 78 J.-M Jézéquel 10
Objectifs Coût et intérêt du Projet : unique et mesurable, e.g.: 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 de la gestion du projet ; gérer : Ressources matérielles et humaines Finances Temps Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 79 La question fondamentale : où en est le projet? 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) La gestion de projet coûte de 2 à 5 % de la valeur ajoutée du projet. Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 80 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é PBS (QUOI) WBS (COMMENT) PROJET OBS (QUI) RESEAU GESTION de PROJET SCENARIO Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 81 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 82 J.-M Jézéquel 11
Product Breakdown Structure Work Breakdown Structure fait partie de... système est composé de... définition système réalisation s-système 1 définition s-système 1 réalisation ensemble 21 définition ensemble 21 réalisation ensemble 21 intégration ensemble 21 sous-système 1 sous-système 2 sous-système 3 ensemble 1 ensemble 2 ensemble 3 projet réalisation s-système 2 réalisation s-système 3 réalisation ensemble 22 réalisation ensemble 23 définition ensemble 22 réalisation ensemble 22 intégration ensemble 22 Découpage du système en unités "physiques" hiérarchisées. intégration système Description structurée de toutes les tâches du projet, rapportées au découpage du produit. intégration s-système 2 définition ensemble 23 réalisation ensemble 23 intégration ensemble 23 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 83 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 84 Planning Planning def. sys def. s-sys 2 réalisation s-système 1 def. sys 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 réalisation s-système 3 intégration système t Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 85 Plusieurs niveaux de planning déductibles du WBS Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 86 J.-M Jézéquel 12
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 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 : logistique, mise en place de moyen de développement formation, négociation de la sous-traitance mise en place de l'environnement de test => WBS-type pour un type de projet dans une entreprise Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 87 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? Principe : UN SEUL point de responsabilité par activité Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 88 Réseau Scénario Planning Plan de charge A 10 j R1 100% B 15 j R2 100% C 20 j R1 100% D 5j R2 100% E 10 j R2 50% F 15 j R1 50% G 25 j R2 50% H 20 j R1 50% I 10 j R1 100% J 20 j R2 100% A B C D E F G H I J R1 A C R2 H F t0...t0+80 B D E G t0...t0+80 J I Activités/dépendances Ressources Durées t0...t0+80 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 89 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 90 J.-M Jézéquel 13
Au plus tôt Au plus tard A 10 j R1 100% B 15 j R2 100% C 20 j R1 100% D 5j R2 100% E 10 j R2 50% G F 15 j R1 50% 25 j R2 50% H 20 j R1 50% I J 10 j R1 100% 20 j R2 100% On commence par placer les activités sans antécédents A B C D E F G H I J Planning A 10 j R1 100% B 15 j R2 100% C 20 j R1 100% D 5j R2 100% E 10 j R2 50% G F 15 j R1 50% 25 j R2 50% H 20 j R1 50% I J 10 j R1 100% 20 j R2 100% On commence par placer les activités sans successeurs A B C D E F G H I J Planning t0...t0+80 tf-80...tf Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 91 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 92 Superposition... Chemin critique A B C D E F G H I J Planning tf-80...tf t0...t0+80 A B C D E F G H I J Planning t0...t0+80 Ensemble des tâches de marge négative ou nulle Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 93 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 94 J.-M Jézéquel 14
Tableau de marche 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 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 95 PBS WBS OBS Réseau Scénario Tableau de marche Résumé accord du client/ mise en cause du projet accord du client responsable de projet ajustement technique Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 96 Plan directeur/plan de développement Suivi de projet Emis par le responsable du projet, le plan directeur contient : 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) Suivre/contrôler les délais les coûts la qualité Analyse du suivi Historique Coût Délais Défaut = non Qualité Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 97 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 98 J.-M Jézéquel 15
Tableau de marche points d'avancement Tableau de marche Choix d'une métrique? Fréquence des points d'avancement? Qui vérifie les informations? Suivre points d'avancement temps Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 99 Coût Délais Défaut = non Qualité Contrôle des délais Par rapport à la référence prévisionnelle, à une date donnée, mesurer pour chaque activité : début fin avancement 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 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 100 Coût Défaut = non Qualité Mesure de l'avancement Coût Défaut = non Qualité Métriques d'avancement Délais Délais Ce qui est prévu Ce qui est fait 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 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. Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 102 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 103 J.-M Jézéquel 16
Coût Défaut = non Qualité Analyse du suivi Conduite de projets informatiques Délais date prévues A B C D aujourd'hui date de la mise à jour (mois) de la date prévue 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 104 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 156 Objectifs Gestion Des modifications Des matériels Des documents La gestion technique : Gestion de configuration Objectifs de la 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é Etre la mémoire du projet traçabilité, réutilisabilité (capitalisation), documentation Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 157 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 158 J.-M Jézéquel 17
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 Organisation de la gestion de documentation 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 159 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 160 Documents Les matériels étude de faisabilité étude préalable étude détaillée étude technique Réalisation Recette Fiche-Projet Rapport étude faisabilité Dossier bilan existant Dossier de choix Rapport étude préalable Cahier charges utilisateurs Rapport étude détaillée Plan de développement Cahier charges réalisation Rapport étude technique Plan de recette Plan de migration Plan de mise en œuvre Rapport de réalisation Synthèse des recettes Bilan du projet Comme tous les documents, les matériels/produits doivent être identifiés répertoriés leurs versions gérés la cohérence avec la documentation assurée Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 161 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 162 J.-M Jézéquel 18
L'impact des modifications Processus décisionnel de modification Pour maîtriser délais et coût, il faut maîtriser les modifications, inévitables dans un projet. Processus décisionnel de modification Conserver une liste des modifications et le suivi du processus décisionnel apporté. Gestion des documents Certaines modifications peuvent amené à revoir des choses déjà livrées Gestion de configuration 1. Demande d'étude (par client ou membre du projet) 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 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 163 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 164 Outil de Gestion de Configuration : l exemple de CVS 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. CVS Features 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 165 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 166 J.-M Jézéquel 19
Client-server architecture separate server (UNIX or NT) no shared filesystems a server process per connection CVSROOT The CVS Repository ewacvs:/data1/cvsroot shr project1 project2 project3 devkits 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 168 CVS Usage Model Checkout, Commit, Update Checkout does not lock the files in repository Concurrent checkout Checkout Makes private copy in working directory Can check out anywhere Check out multiple copies, multiple versions Commit Commit changes to the repository when finished Working copies must be up to date with repository Update Brings working copy up to date with repository Karen Michael Working Copy V1.7 Working Copy V1.1 checkin V1.8 or 1.9 checkout latest Master Repository foo.c checkout V1.1 X checkout V1.2 Chris Working Copy V1.2 X checkin prohibited checkout latest checkout branch rel_1_fix Brigid Working Copy V1.7 checkin V1.8 or 1.9 Patrick Working Copy V1.2.2.1 checkin V1.2.2.2 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 169 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 170 J.-M Jézéquel 20
CVS and the Development Cycle Ideal development with CVS 1. Check out source files in working directory. 2. Edit source files. 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. 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 172 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 171 repository development checkout checkin update Developer A Developer B Real development with CVS conflict checkin update resolution Developer A repository X Developer B conflict Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 173 Common CVS commands cvs [cvs-options] command [cmd-options] [files] cvs init Initialize a new repository. cvs checkout Check out source for editing. cvs commit check files into the repository cvs update Bring working files into sync with repository. cvs add Add new file/directory to repository. cvs remove Remove an entry from the repository. cvs tag Label the sources. cvs status Show status of checked out files. cvs log Show revision history for files. cvs diff Compare working files to version in repository or versions inside the repository. Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 174 J.-M Jézéquel 21
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 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 175 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 176 Missions et responsabilités Evolution d'un projet niveau de connaissance sur le projet Incarner l'identité du projet Ni plus (d'autres projets de l'entreprise), Ni moins (des sous ensembles du projet) Gérer la convergence du projet Définir l'objectif Etre la mémoire du projet Agir pour converger capacité d'action exploration des possibilités : objectif : mieux connaître le projet gels, décisions l'entreprise se compromet décisions globales simultanées et tardives pour diminuer les risques passage à l'acte gestion des délais et des coûts risques d'obsolescence commerciale déroulement du projet Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 177 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 178 J.-M Jézéquel 22
Rôle en phase de créativité (1) Rôle en phase de créativité (2) Définition initiale : objectif et méthodes Participation à la définition du cahier des charges. Définition (ou remise en cause) des méthodes de travail. Mobilisation Recrutement des ressources nécessaires. Adaptation des normes métiers Lien projet -> normes/stratégies des métiers participants; adaptation Recherche de compromis inter-métiers optimaux Styliste, ingénieur d'étude, commercial : pas mêmes critères d'évaluation Le chef de projet a pour rôle d'accorder tous les points de vue. Homme de communication pour détecter les problèmes avant que l'irréversibilité du projet ne dicte une solution. Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 179 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 180 Rôle en phase de verrouillage Rôle en phase de mise en œuvre Stabilisation progressive du projet 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. Mise sous contrôle et mémorisation Une fois le projet stabilisé, le processus de développement doit être continûment suivi. Améliorer la dynamique du système 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,... Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 181 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 182 J.-M Jézéquel 23
Evolution du type de management En bref Ouvert Propice à la création Recherche de compromis chercher à stabiliser le projet directif arbitre pompier déroulement du projet Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 183 Introduction Etendue des compétences du chef de projet large Maîtrise technique Maîtrise de gestion Capacité à motiver Improbable chez un seul individu => Equipe projet 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 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 184 Introduction Conclusion Mise en pratique dans PRO2 La technique est nécessaire... Les outils type «project management» peuvent jouer un rôle (mineur) mais loin d'être suffisante pour garantir le succès Problèmes humains dominent! Organisation, management, communication, planification, planification,... Vous représenterez la maîtrise d ouvrage (au forfait!) Mise en place de la gestion de projet (technique et non technique) : Bien définir les rôles de chacun, les ressources Bien fixer les objectifs Faire les estimations et la planification (prévisionnel/réel) Processus documentaire : PBS, WBS, OBS, Réseau et Scénario Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 185 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 186 J.-M Jézéquel 24
Introduction Eléments de gestion de projet informatique Mise en pratique dans PRO2 Les moyens mis à votre disposition : Une forge (SVN, liste de diffusion, documents, wiki ) Outils open-source (de planification, ) 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 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 187 Pr. Jean-Marc Jézéquel - Conduite de projets informatiques 188 J.-M Jézéquel 25