1 Organisation Projet de développement Gestion de projet avec Philippe Collet Cours 1 : principes généraux - svn Cours 2 : TRAC et gestion de projet Cours 3 : Introduction à Eclipse Cours 4 : Eclipse C / PHP Cours 5 : V&V et tests unitaires, en Java Cours 6 : Tests C / PHP - conclusion Licence 3 Informatique 2008-2009 2 Plan Quelques principes de gestion de projet trac : constituants trac : fonctionnement, ticket trac : limites et comparaison trac : application à votre projet trac : démo Les 3 P planification coordination gestion mesures analyse conception implémentation Processus formation compétences communication Personnes Produits cahier des charges conception code source exécutable documentation utilisateur cas de test résultats des tests demande de changement 3 4
2 Objectifs et décomposition Les tâches de gestion Gestion de projet = planification, organisation, gestion des tâches et des ressources pour accomplir un but défini Quoi, qui, quand, combien Comment? Les différentes phases de la conduite d un projet : Planification du projet Évaluation et ordonnancement des tâches Contrôle et analyse de l avancement Communication des informations relatives au projet Modélisation des tâches Ordonnancement Gestion des ressources Gestion du risque Gestion des changements Gestion des configurations Gestion de la qualité Planification 5 6 Planification des tâches Définir les activités constituant le projet Détecter les jalons (milestones) du projet événements significatifs dans le projet Évaluer les dépendances entre activités Ordonnancer les activités en conséquence Évaluer l effort nécessaire pour chaque activité durée minimum et maximum Suivi de la planification Réaliser des réunions d avancement du projet de façon périodique Évaluer les résultats de toutes les revues Déterminer si les jalons du projet ont été atteints Comparer les dates de fin réelles et prévues Discuter avec les gens (!) Affecter les ressources nécessaires aux tâches S assurer de la bonne répartition des ressources 7 8
3 Gestion des ressources Contrôler et analyser la quantité de travail effectué par chaque personne, avec les implications matérielles Participation à plusieurs projets en même temps Délégation et distribution des responsabilités Conserver une trace du coût des ressources Effectuer un planning de la disponibilité des ressources Gestion du risque Identification du risque Quantification du risque Résolution du risque Réserver du temps pour surmonter les problèmes Définir les tâches de façon à réduire les risques Prévoir des plans d urgence 9 10 Gestion des changements Demande de changement Identifier l objet du changement Gestion de configurations Projets, packages, classes Propriétaire, membres d un groupe Version & Publication (release) Estimer le coût du changement Déterminer si, et quand le changement doit être appliqué Mettre en place un plan d implémentation du changement Mettre en œuvre le plan référentiel 11 12
4 Gestion de la qualité Paradigme d amélioration de la qualité Plan de gestion de la qualité Plans de test Gestion des risques abordant les risques techniques du produit à livrer Plans de revue Plans de mesure Etc. trac 13 Trac Outils du trac Définition Mise en œuvre Trac est un système Open Source de gestion de projet par Internet, développé en Python Pas forcément complet Mais léger et extensible par plugin Assignation des tâches de chaque membre Suivi de l'avancement de chaque tâche Entraide mutuelle sur les points difficiles (Wiki) Avoir une vue d'ensemble sur le projet Objectif Collaboration d'une équipe structurée sur un même projet Gestion de configuration/version/sources Plate-forme web collaborative Minimum pour le suivi du projet Les outils Un wiki Un gestionnaire de feuille de route (roadmap) Un historique Un gestionnaire de rapports de bug Un explorateur pour subversion (svn) 15 16
5 Trac : philosophie Application web Piloté par Apache Application légère Le minimum pour le suivi, avec peu de contraintes dans la gestion Exemple : quelqu un d autre peut accomplir les tâches qui vous sont assignées Application intégrée Avec subversion, Trac permet d intégrer des références du wiki aussi bien dans les tickets que dans les messages de commit Connexion active entre bugs, tâches, révisions, fichiers et wiki Application synthétique Journal d activités (Timeline), Feuille de route (Roadmap) D autres fonctionnalités Génération de rapport Flux RSS de suivi wiki Trac : wiki Système de gestion de contenu de site web rendant ses pages web librement modifiables par tous les visiteurs y étant autorisés Facilite l'écriture collaborative de documents avec un minimum de contraintes Assimilé à un système de gestion de contenu à la web2.0 : liberté d édition, même droit pour tous Fonctionnalités Identification Edition, facile et collaborative Liens et création de pages Suivi de modifications 17 18 Trac : wiki Trac : wiki 19 20
6 Trac : roadmap Aide à la planification et au suivi (pas automatique) Vue Roadmap La liste des milestones Calcul des tickets associés aux milestones Barre d avancement : ratio entre tickets résolus (closed) et tickets actifs Vue Milestone Zoom sur un milestone en particulier Info sur chaque composant, ou personne, ou tickets non résolus, etc. Roadmap : exemple Possibilité d ajouter/modifier des milestones Support d icalendar pour synchronisation avec d autres outils 21 22 Trac : historique Trac : diff ChangeSet Un ensemble de changement, formant l historique Historique couplé au subversion Vue des entêtes de fichier (date, auteur, message, fichiers concernés ) Différenciation Visualisation des différences Inline : à l intérieur d un seul fichier Side by side : l un à coté de l autre Quelles différences sont accessibles? ChangeSet Entre Revision dans le subversion Voir juste les dernières modifs 23 24
7 Le ticket à tout faire Principe Utilisé pour tous les éléments de gestion du projets Tickets pour Tâches du projet Demandes de fonctionnalités (par utilisateur ou autre développeur) Rapports de bug Problème de support (client) Ticket : composants Reporter : l'auteur du ticket Type : la nature du ticket (cf. transparent précédent) Version : la version du projet concernée par la tâche Component : le module du projet concerné par le ticket (cf. admin) Milestone : quand la tâche doit être résolue au plus tard (jalon) Keyword : les mots clés relatifs à ce ticket (utile pour une recherche rapide); Priority : L'importance de la tâche pour la continuité du projet (de TRIVIAL jusqu'à BLOCKER) Assigned to/owner : Principale personne responsable de la tâche Cc : une liste d'autres utilisateurs (email) à prévenir Resolution : la raison pour laquelle le ticket est fermé Status : le statue du ticket (One of new, assigned, closed, reopened) Summary : une description brève du problème nécessitant la mise en place du ticket Description : description plus longue du problème 25 26 Diagramme d états du ticket Ticket : exemple 27 28
8 Administration Droits dans trac : exemples Interface Gérer les «components» Module fonctionnel de haut niveau Gérer les «milestones» Paramétrer les niveaux de priorité / sévérité, etc. Administration en ligne de commande pour d autres tâches Gestion des utilisateurs Accès aux éléments du site Connexion au svn Vues BROWSER_VIEW CHANGESET_VIEW FILE_VIEW LOG_VIEW MILESTONE_VIEW REPORT_SQL_VIEW REPORT_VIEW ROADMAP_VIEW SEARCH_VIEW TIMELINE_VIEW Tickets Wiki TICKET_CREATE TICKET_MODIFY TICKET_VIEW WIKI_CREATE WIKI_MODIFY WIKI_VIEW Le droit TRAC_ADMIN donne tous les droits sur l ensemble de l application 29 30 Ce que NE fait PAS trac Autres systèmes Estimation des coûts BugZilla Gestion des ressources Gestion des risques Focus sur les bugs JIRA Focus sur la gestion de tickets : pour le développement logiciel, la relation client Ordonnancement des tâches Graphe PERT Diagramme de Gantt Ce que fait Ms-Project, etc. Confluence Wiki d entreprise MediaWiki Gestion de certaines dépendances Entre fichiers sources Développé à l origine pour wikipedia FogBugz Entre résultats de compilation et fichiers sources «Trac» avec ordonnancement des tâches, et aspects prévisionnels Etc. 31 32
9 Trac : application à votre projet Application à votre projet Pour votre projet : Démo en ligne modifiable : http://www.hosted-projects.com/trac/tracdemo/demo Essai du wiki, modification de page, différentes fonctionnalités Dès que votre trac de projet est disponible Inscription (ou vérification d inscription) de chaque membre Création d un milestone «prise en main» Création d un ticket «prise en main» pour chaque membre Ecriture d un commentaire relatif au ticket, et au milestone Fermeture et validation de son ticket par chaque membre Ajout de fichiers (du projet ou d essai) dans le subversion Modification des fichiers / nouveau commit (ligne de commande ou eclipse/subclipse) Navigation dans le subversion par trac Création de ticket «bidon» et association à un commit fait sur le subversion! 34 Trac : application à votre projet Démo Par la suite Première séance Découpage du travail en components et milestones Création de tickets dans les milestones pour les tâches Attribution des tâches et validation par le tuteur Autres séances Fermeture/Ouverture de tickets en fonction des commits, des tests La vision «trac» résultante du projet fait très largement partie de votre évaluation Qui fait quoi Traçabilité tout au long du projet La roadmap peut être utilisée pour la soutenance 35 36