Exercices gestion de projet planification gi ensa fes s5 ges
Télécharger PDFExercice 1 : Estimation des charges avec les points de cas d'utilisation
Soit l’exemple de développement d’une application web de recrutement décrite dans le cahier des charges du TD précédent. Nous avons décidé d’estimer la charge de développement de cette application via la technique des points de cas d'utilisation (UCP).
Les points de cas d'utilisation (UCP) sont une méthode d'estimation de l'effort de développement logiciel basée sur la pondération des cas d'utilisation et des acteurs, puis l'application de facteurs d'ajustement techniques et environnementaux.
- Calculer le poids des cas d'utilisation non ajustés (Unadjusted Use Case Weight, UUCW) et le poids des acteurs non ajustés (Unadjusted Use Actor Weight, UUAW).
- Déduire le nombre de points de cas d’utilisation non ajustés (Unadjusted Use Case Points, UUCP).
- Le Tableau 1 montre le degré d’influence des facteurs techniques. Calculer le Facteur de Complexité Technique (Technical Complexity Factor, TCF). Le TCF évalue l'impact des contraintes techniques sur la complexité du projet.
- Le Tableau 2 montre le degré d’influence des facteurs d'environnement. Calculer le Facteur de Complexité Environnementale (Environmental Complexity Factor, ECF). L'ECF prend en compte des éléments liés à l'équipe et au contexte du projet.
- Calculer le nombre de points de cas d’utilisation ajustés (Adjusted Use Case Points, AUCP).
- Soit le facteur de productivité (Productivity Factor, PF) est égal à 22 heures par point de cas d’utilisation. Calculer l’effort de développement (ED) pour l’application, sachant qu'on dispose d'une équipe de 10 personnes.
- Estimer l'enveloppe globale de développement pour une charge de 200 dh par heure de travail.
Tableau 1 : Degré d’influence des facteurs techniques
| Facteur technique | Influence |
|---|---|
| Système distribué | 3 |
| Portabilité | 2 |
| Objectifs de performance | 4 |
| Simplicité, évolutivité | 2 |
| Efficacité élevée d’utilisation en ligne pour l’utilisateur | 5 |
| Application multithread concurrente | 0 |
| Traitement interne complexe | 2 |
| Exigences de sécurité | 5 |
| Réutilisabilité du code | 4 |
| Accès direct offert à d’autres systèmes | 0 |
| Facilité d’installation | 3 |
| Nécessité d’un système d’aide pour la formation des utilisateurs | 0 |
| Ergonomie générale | 4 |
Tableau 2 : Degré d’influence des facteurs d'environnement
| Facteur d’environnement | Influence |
|---|---|
| Maîtrise du processus de développement | 5 |
| Motivation de l’équipe | 3 |
| Maîtrise du domaine fonctionnel | 5 |
| Stabilité des exigences | 2 |
| Expérience des technologies objet | 4 |
| Membres de l’équipe à temps partiel | 1 |
| Forte capacité de l’analyste | 3 |
| Complexité du langage de programmation | 2 |
Exercice 2 : Planification de projet avec PERT et Gantt
Un projet doit être réalisé au sein du service informatique d'une société. En fonction des disponibilités des différents intervenants, le chef de projet vous fournit le tableau ci-dessous. Notez que la date de lancement du projet est le 1er janvier.
Tableau des tâches du projet
| N° de tâche | Libellé | Durée (en j) | Tâche(s) précédente(s) |
|---|---|---|---|
| A | Constitution de l'équipe | 1 | B |
| B | Analyse préalable | 5 | |
| C | Analyse conceptuelle | 8 | A |
| D | Développement | 9 | C |
| E | Commande du matériel | 10 | B |
| F | Livraison du matériel par les fournisseurs | 10 | E |
| G | Installation du matériel | 2 | F |
| H | Installation des applications | 1 | D, G |
| I | Tests des applications | 4 | D |
| J | Test du projet sur site | 2 | G, H |
| K | Réception du projet | 1 | H, J |
| L | Formation des utilisateurs | 2 | I, K |
Questions de planification
- Trouver la matrice des antériorités.
- Calculer les dates au plus tôt : date de début au plus tôt (DTO) et date de fin au plus tôt.
- Calculer les dates au plus tard : date de début au plus tard et date de fin au plus tard.
- Calculer la Marge totale.
- Identifier le Chemin critique.
- Calculer la Marge libre.
- Réaliser un diagramme de GANTT afin de déterminer la durée du projet via GanttProject.
- À quelle date le projet peut-il être terminé ?
- Suite à un problème interne à l'un des fournisseurs, le matériel ne pourra commencer à être livré qu'à partir du 21 Janvier. Quelle sera l'incidence sur le déroulement du projet ?
- La phase 1 ne peut commencer que le 5 Janvier (au plus tôt). Cela modifie-t-il la date de fin au plus tôt du projet ?
- La réception du projet peut démarrer le 1er Février. Quelle est alors la date de fin au plus tôt du projet ?
Pourcentage de répartition proportionnelle des charges
Remarque : Pourcentage de répartition proportionnelle des charges :
| Phase | Ratio |
|---|---|
| Étude préalable | 10% de la charge totale |
| Étude détaillée | 25% de la charge totale |
| Étude technique | 10% de la charge "Réalisation" |
| Réalisation | 2 fois la charge "Étude détaillée" |
| Mise en œuvre | 20% de la charge "Réalisation" |
Exercice 3 : Guide de démarrage Scrum
L’étude de cas prise en considération lors de ce travail concerne un système de réservation de vols pour une agence de voyages. Les utilisateurs principaux de cette application sont les clients et le gérant.
- Le gérant peut réaliser toutes les opérations CRUD (Créer, Lire, Mettre à jour, Supprimer) sur les vols, compagnies et réservations.
- Un client peut chercher un vol selon plusieurs critères.
- Un client peut réserver un vol ou demander son annulation.
Scrum est la méthode Agile la plus utilisée dans le monde.
1. Définir les rôles clés de Scrum
Commencer par déterminer :
- Équipe de développement : Le groupe de professionnels qui réalise le travail de livraison d'un incrément de produit potentiellement livrable et de qualité.
- Scrum Master : Le facilitateur et le coach de l'équipe Scrum, responsable de l'application de Scrum et de la suppression des obstacles.
- Product Owner : Le représentant des parties prenantes, responsable de la maximisation de la valeur du produit résultant du travail de l'équipe de développement, principalement via la gestion du Product Backlog.
2. Réunion de planification de sprint
Durée maximum de la réunion de planification de sprint : 2 heures par semaine de sprint.
- Phase 1 : Le « Quoi »
- Discuter le quoi (l’application à développer) ?
- Créer le Product Backlog (liste ordonnancée de tout ce qui est nécessaire dans le produit).
- Créer les User Stories (description simple et concise d'une fonctionnalité du point de vue de l'utilisateur).
- Une fois le Product Backlog est suffisamment complet et ordonnancé, on peut planifier un sprint.
- Phase 2 : Le « Comment »
L’équipe de développement :
- Spécifie les tâches nécessaires pour chaque User Story (c.-à-d. convertir les exigences sélectionnées en fonctionnalités utilisables).
- Priorise les tâches selon la suite de Fibonacci : Fn+2=Fn+1+Fn , F1=1 et F0=0. Cette suite est couramment utilisée pour l'estimation de la complexité des User Stories ou des tâches, plutôt que pour leur priorisation directe.
Exemple de tableau des tâches (utiliser Trello pour la visualisation et la gestion).
3. Caractéristiques d’une User Story
Une fonctionnalité peut être rédigée selon le principe de la « User Story » défini par les méthodes Agiles. Une « User Story » doit être :
- Courte : généralement une ou trois phrases environ.
- Négociable : elle peut être discutée avec l’équipe chargée de la réalisation du produit, notamment lors de l’estimation.
- Source de valeur : elle doit être porteuse d’une valeur pour le client ou l’utilisateur.
- Indépendante : des autres histoires d’utilisateur (dans la mesure du possible).
- Estimable : elle peut être estimée par l’équipe de réalisation avec un risque d’erreur faible.
- D’une taille appropriée : sa taille doit être relativement petite afin de faciliter son estimation. Elle doit pouvoir être conçue, développée et testée au sein d’une itération.
4. Mêlée quotidienne ou « Stand-up Meeting »
Durée maximum : 15 minutes. La réunion se fait debout, ce qui permet aux membres de l’équipe de :
- Se synchroniser.
- Remonter les obstacles rencontrés.
- S’entraider (esprit d’équipe).
- Vérifier l’avancement du sprint.
Chaque personne répond à 3 questions :
- Qu'ai-je fait hier qui a aidé l'équipe de développement à atteindre l'objectif du Sprint ?
- Que vais-je faire aujourd'hui pour aider l'équipe de développement à atteindre l'objectif du Sprint ?
- Est-ce que je vois des obstacles susceptibles de m'empêcher ou d'empêcher l'équipe de développement d'atteindre l'objectif du Sprint ?
5. Graphique d’avancement (Burndown Chart)
Tracer le Burndown Chart du sprint en cours pour connaître son état d’avancement.
- Le graphique est simple.
- Il trace la charge de travail restante (généralement en heures) en fonction du temps (en jours).
- Pour tracer ce graphique, il suffit de mettre à jour (lors de chaque mêlée quotidienne par exemple) le sprint backlog.
Exemple de Sprint Backlog.
6. Revue de Sprint
Durée maximum de la réunion de revue de sprint : 1 heure par semaine de sprint (autrement dit : 2 heures pour des sprints de 2 semaines). Fréquence : À la fin de chaque sprint. L’objectif est de :
- Inspecter l’incrément produit au cours du sprint écoulé.
- Faire un point sur l’avancement de la Release et adapter au besoin le plan et le Product Backlog.
- L’équipe de développement présente à tout acteur projet intéressé les nouvelles fonctionnalités développées au cours du sprint.
- Le Product Owner donne un feedback à l’équipe de développement, il accepte ou refuse les fonctionnalités présentées.
7. Rétrospective de Sprint
Durée maximum de la rétrospective de sprint : 45 minutes par semaine de sprint (autrement dit : 1 heure 30 pour des sprints de 2 semaines). Fréquence : À la fin de chaque sprint.
Cette réunion est généralement animée par le Scrum Master qui s’adresse à son équipe. Elle a pour but d’améliorer continuellement le processus de développement de l’équipe en mettant les idées de chacun à contribution. Il existe différentes techniques d’animation de rétrospectives.
Foire Aux Questions (FAQ)
Qu'est-ce que l'estimation par points de cas d'utilisation (UCP) ?
L'estimation par UCP est une méthode qui quantifie l'effort de développement logiciel en attribuant des points aux cas d'utilisation et aux acteurs en fonction de leur complexité. Ces points sont ensuite ajustés par des facteurs techniques (TCF) et environnementaux (ECF) pour obtenir une estimation plus réaliste de la charge de travail nécessaire.
Quel est l'objectif principal d'un diagramme de Gantt ?
Le diagramme de Gantt est un outil de planification visuel qui permet de représenter graphiquement l'ensemble des tâches d'un projet sur une échelle de temps. Son objectif principal est de faciliter la gestion des délais, l'identification des dépendances entre tâches, le suivi de l'avancement et la communication du calendrier du projet.
Quelle est l'importance de la mêlée quotidienne (Daily Scrum) en Scrum ?
La mêlée quotidienne est une brève réunion de synchronisation pour l'équipe de développement. Son importance réside dans le fait qu'elle permet à l'équipe d'inspecter l'avancement vers l'objectif de sprint, d'identifier rapidement les obstacles et de planifier le travail pour les prochaines 24 heures, favorisant ainsi la collaboration et l'adaptation continue.