Upload
trinhminh
View
213
Download
0
Embed Size (px)
Citation preview
1
Projet de développement
Gestion de projet avec
Philippe Collet
Licence 3 Informatique
2008-2009
2Ph. Collet
Organisation
� 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
3Ph. Collet
Plan
� Quelques principes de gestion de projet
� trac : constituants
� trac : fonctionnement, ticket…
� trac : limites et comparaison
� trac : application à votre projet
� trac : démo
4Ph. Collet
Processus Produits
Personnes
� formation
� compétences
� communication
� cahier des charges
� conception
� code source
� exécutable
� documentation utilisateur
� cas de test
� résultats des tests
� demande de changement
� planification
� coordination
� gestion
� mesures
� analyse
� conception
� implémentation
Les 3 P
2
5Ph. Collet
Objectifs et décomposition
� 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
6Ph. Collet
Les tâches de gestion
� Modélisation des tâches
� Ordonnancement
� Gestion des ressources
� Gestion du risque
� Gestion des changements
� Gestion des configurations
� Gestion de la qualité
Planification
7Ph. Collet
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
� Affecter les ressources nécessaires aux tâches
� S’assurer de la bonne répartition des ressources
8Ph. Collet
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 (!)
3
9Ph. Collet
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 ressou rces
10Ph. Collet
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
11Ph. Collet
Gestion des changements
Demande de changement
Identifier l’objet du changement
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
12Ph. Collet
Gestion de configurations
� Projets, packages, classes
� Propriétaire, membres d’un groupe
� Version & Publication ( release)
référentiel
4
13Ph. Collet
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
15Ph. Collet
Trac
� Définition� 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
� 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
16Ph. Collet
Outils du trac
� Mise en œuvre � 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
� Les outils� Un wiki
� Un gestionnaire de feuille de route (roadmap)
� Un historique
� Un gestionnaire de rapports de bug
� Un explorateur pour subversion (svn)
5
17Ph. Collet
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
18Ph. Collet
Trac : wiki
� 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
19Ph. Collet
Trac : wiki
20Ph. Collet
Trac : wiki
6
21Ph. Collet
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.
� Possibilité d’ajouter/modifier des milestones
� Support d’iCalendar pour synchronisation avec d’autr es outils
22Ph. Collet
Roadmap : exemple
23Ph. Collet
Trac : historique
� 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
24Ph. Collet
Trac : diff
7
25Ph. Collet
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 aut re développeur)
� Rapports de bug
� Problème de support (client)
26Ph. Collet
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
27Ph. Collet
Diagramme d’états du ticket
28Ph. Collet
Ticket : exemple
8
29Ph. Collet
Administration
� 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
30Ph. Collet
Droits dans trac : exemples
� Vues� BROWSER_VIEW
� CHANGESET_VIEW
� FILE_VIEW
� LOG_VIEW
� MILESTONE_VIEW
� REPORT_SQL_VIEW
� REPORT_VIEW
� ROADMAP_VIEW
� SEARCH_VIEW
� TIMELINE_VIEW
� Le droit TRAC_ADMIN donne tous les droits sur l’ensemble de
l’application
� Tickets� TICKET_CREATE
� TICKET_MODIFY
� TICKET_VIEW
� Wiki� WIKI_CREATE
� WIKI_MODIFY
� WIKI_VIEW
31Ph. Collet
Ce que NE fait PAS trac
� Estimation des coûts
� Gestion des ressources
� Gestion des risques
� Ordonnancement des tâches� Graphe PERT
� Diagramme de Gantt
� Ce que fait Ms-Project, etc.
� Gestion de certaines dépendances� Entre fichiers sources
� Entre résultats de compilation et fichiers sources
� Etc.
32Ph. Collet
Autres systèmes
� BugZilla� Focus sur les… bugs
� JIRA� Focus sur la gestion de tickets : pour le développement logiciel, la relation client…
� Confluence� Wiki d’entreprise
� MediaWiki� Développé à l’origine pour wikipedia
� FogBugz� « Trac » avec ordonnancement des tâches, et aspects prévisionnels
9
Application à votre projet
34Ph. Collet
Trac : 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 !
35Ph. Collet
Trac : application à votre projet
� 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 larg ement partie de votre évaluation
� Qui fait quoi
� Traçabilité tout au long du projet
� La roadmap peut être utilisée pour la soutenance…
36Ph. Collet
Démo