TP2 — Planifier, capaciter et piloter un projet SI orienté data

Modalité : travail individuel.<br> Outils : OpenProject, LibreOffice Calc ou Excel et diagrams.net.

1. Compétences évaluées

À la fin du TP, vous devez être capable de :

  1. construire une PBS, une WBS et une OBS cohérentes ;
  2. estimer une charge ascendante et la comparer à une estimation paramétrique ;
  3. construire un réseau PERT, calculer les marges et identifier le chemin critique ;
  4. confronter charge, capacité et calendrier ;
  5. construire une RACI exploitable ;
  6. replanifier un projet après un changement et documenter la décision.

Le TP reprend les principes de cadrage du TP1, mais utilise un cas indépendant pour évaluer le transfert des méthodes. Le passage du cadrage au pilotage est évalué par la traçabilité des objets, des hypothèses et des décisions, et non par la simple juxtaposition de fichiers. Les identifiants utilisés pour ce transfert sont créés dans le TP2 ; ils ne prétendent pas être des objets du TP1.

2. Cas professionnel

Une collectivité souhaite construire une plateforme analytique pour suivre les incidents de ses bâtiments et préparer un jeu de données destiné à la maintenance prédictive. La première version doit ingérer des événements, contrôler leur qualité, produire une zone analytique et exposer un tableau de bord pour un site pilote.

Données et équipe

Le fichier data/incidents_batiments.csv est synthétique et ne représente pas les incidents réels de la collectivité.

Hypothèses imposées pour la comparaison

Périmètre et repères de cohérence

Le chiffre de 12 KLOC représente le produit complet envisagé. Les charges des sept lots représentent le pilote data utilisé dans ce TP ; elles ne décrivent donc pas nécessairement la totalité du produit de 12 KLOC. Cette distinction doit apparaître dans le README de remise et dans la comparaison COCOMO.

Repères de contrôle non notés : la somme des charges initiales est de 139 j.h, la réserve de 15 % vaut 20,85 j.h et la charge planifiée vaut 159,85 j.h. Avec six personnes à 15 j.h par mois, cette charge représente environ 1,78 mois d’équipe. Le résultat COCOMO doit être comparé à ces valeurs, expliqué et non transformé automatiquement en engagement.

3. Contrôle qualité du fichier d’incidents

Conservez le fichier original et créez une feuille controle_qualite avec les colonnes ID, champ, règle, résultat, impact, action, responsable, statut, preuve.

Règle Critère attendu
category valeur non vide
severity entier compris entre 1 et 4 inclus
resolution_hours valeur présente pour un incident fermé ; valeur positive si présente
doublon métier unicité de (batiment,date,category,severity,resolution_hours,status) en ignorant incident_id
status open ou closed

Repérez les anomalies, expliquez leur impact sur le planning ou la qualité et proposez une action. Distinguez les erreurs bloquantes des exceptions surveillées : l’absence de resolution_hours pour I-005, dont le statut est open, est conforme à la règle conditionnelle mais doit rester suivie jusqu’à la clôture. Une anomalie ne doit pas être masquée par une suppression silencieuse.

4. Conventions de pilotage

Utilisez les conventions communes suivantes, également valables pour le TP1 :

Consultez également templates/conventions-openproject.md et templates/openproject-checklist.md.

Si OpenProject n’est pas encore installé, utilisez le Kit Docker OpenProject attaché aux ressources complémentaires du module. Le guide fournit le fichier Compose, la version de l’image, la persistance des données et la procédure de repli hors ligne.

5. Missions et checkpoints

Mission 1 — Installer le pilotage et qualifier les données

Créez un projet OpenProject nommé Plateforme incidents — TP2. Configurez les vues Liste, Tableau et Gantt, puis ajoutez les membres de l’équipe avec un rôle. Créez un lot [QUALITE] pour le fichier d’incidents.

Appliquez les cinq règles de qualité. Ajoutez une proposition de traitement, un responsable, un statut et une preuve pour chaque anomalie. Conservez le fichier original inchangé.

Checkpoint 1 : une personne extérieure peut retrouver le projet, les rôles, les règles de qualité, les anomalies et leurs preuves sans modifier le CSV.

Mission 2 — Construire le périmètre, le travail et les responsabilités

Dans diagrams.net :

Dans OpenProject, reproduisez la WBS par une hiérarchie parent-enfant et affectez un responsable aux lots. Construisez une RACI couvrant au minimum : priorisation, architecture, ingestion, transformations, tests, exposition et décision de mise en production. Vérifiez un seul A et au moins un R par activité.

Checkpoint 2 : les produits de la PBS, le travail de la WBS et les acteurs de l’OBS ne sont pas confondus ; les responsabilités sont retrouvables dans OpenProject et dans la RACI.

Ajoutez un tableau de correspondance obligatoire comportant au minimum les colonnes ID_PBS, ID_WBS, Code_PERT, ID_OpenProject, livrable, responsable et condition_de_fini. Chaque activité PERT doit être retrouvée dans la WBS et dans OpenProject ; une activité sans correspondance doit être justifiée dans le README.

Mission 3 — Estimer, comparer et capaciter

Utilisez les charges initiales suivantes :

Lot Charge initiale
Sources et exigences data 18 j.h
Architecture stockage et orchestration 15 j.h
Ingestion et transformations 32 j.h
Modèle analytique et tableau de bord 18 j.h
Qualité, observabilité et lignage 20 j.h
Tests et corrections 24 j.h
Documentation et déploiement pilote 12 j.h
Total à calculer

Calculez le total, la réserve de 15 % et la charge planifiée. Expliquez au moins deux incertitudes qui justifient la réserve.

Appliquez ensuite le modèle COCOMO :

Effort = 2,4 × KLOC^1,05
Durée  = 2,5 × Effort^0,38

Indiquez les unités, les arrondis, le nombre de jours-homme équivalent et au moins deux raisons possibles de l’écart avec l’estimation ascendante. Expliquez pourquoi le résultat ne doit pas être transformé automatiquement en engagement contractuel.

Répartissez d’abord la baseline de 139 j.h par activité PERT, lot d’origine, responsable et mois en utilisant templates/allocation-activites-template.csv. Dans cette baseline, la somme des efforts affectés doit être exactement 139 j.h et le sous-total de chaque lot doit être égal à sa charge initiale fournie. Reportez ces sous-totaux et leurs écarts dans templates/estimation-template.csv. Consolidez ensuite cette allocation dans templates/capacite-template.csv, puis comparez chaque mois la charge de chaque personne à sa limite de 15 j.h. Signalez toute surcharge et proposez une réaffectation, un décalage, une réduction de périmètre ou une réserve consommée. Ajoutez des lignes au modèle lorsqu’une activité est répartie entre plusieurs lots, responsables ou mois ; ne dupliquez pas un même effort dans deux lignes.

Conservez cette baseline comme référence. L’option 1 (attendre la source) conserve 139 j.h et modifie principalement le calendrier. Pour l’option 2, copiez la baseline dans un onglet ou un fichier séparé, ajoutez une ligne CHG-01 — Rapprochement source principale/secondaire de 4 j.h, puis recalculez la capacité et la comparaison. L’effort direct de l’option 2 est donc 143 j.h = 139 j.h + 4 j.h. Les 4 j.h ne doivent ni être inclus dans le contrôle de la baseline, ni être ajoutés une seconde fois. La réserve de 15 % de la baseline reste affichée séparément ; toute consommation ou augmentation de réserve doit être justifiée dans la comparaison des scénarios.

Checkpoint 3 : les charges initiales, la réserve, COCOMO et la capacité sont recalculables ; tout dépassement de capacité entraîne un arbitrage explicite.

Dans le tableau de remise, indiquez séparément la charge initiale, la réserve, la charge planifiée, la capacité disponible et l’écart. Une ligne « produit complet / pilote » doit expliquer l’écart d’échelle avec COCOMO.

Mission 4 — Construire et valider le planning

Utilisez les activités suivantes, en jours ouvrés :

Code Activité Durée Antécédents
A Cadrage data détaillé 3 —
B Exigences et inventaire des sources 5 A
C Architecture data 4 A
D Modèle analytique et transformations 5 B et C
E Développement des pipelines 10 D
F Règles de qualité et observabilité 6 C
G Tests de données et tableau de bord 5 E et F
H Documentation et formation 3 E
I Pilote data 2 G et H

Calculez les dates au plus tôt, les dates au plus tard, les marges totales et le chemin critique. Utilisez la convention imposée : le projet commence le lundi 2 mars 2026, le début est au jour ouvré 1, une activité de 3 jours finit au jour 3 et l’activité suivante commence au jour 4. Configurez le même calendrier dans OpenProject, sans contrainte de date supplémentaire ni décalage manuel.

Saisissez les neuf activités [ACT] dans OpenProject avec durée, effort, responsable, antécédents et jalons. Comparez le Gantt OpenProject avec votre calcul manuel et expliquez tout écart dans le tableau de correspondance.

Checkpoint 4 : le chemin critique, les marges, les responsables et les dépendances sont cohérents entre le tableau de calcul, le schéma et OpenProject.

Repère de contrôle : avec les durées et antécédents fournis, le chemin critique initial attendu est A → B → D → E → G → I, pour une durée de 30 jours ouvrés. Une différence est acceptable si la convention est documentée et si les trois supports sont cohérents entre eux.

Mission 5 — Traiter le changement et décider

La source principale nécessaire à l’activité B sera livrée trois jours ouvrés en retard après le démarrage du projet. Dans la baseline, B commence au jour 4 ; avec le changement, sa disponibilité est repoussée au jour 7. Créez un élément [CHANGEMENT] et :

  1. identifiez les tâches, lots et exigences affectés ;
  2. comparez au minimum les deux options suivantes : attendre la source et décaler le planning, ou utiliser un extrait/source secondaire disponible au jour 4, couvrant les mêmes champs, puis réaliser un rapprochement de 4 j.h à la réception de la source principale ;
  3. mettez à jour le Gantt et le chemin critique pour chaque option ;
  4. comparez délai, charge, capacité, qualité, périmètre et risque ; pour l’option 2, faites apparaître séparément les 139 j.h de baseline, les 4 j.h de delta et le total direct de 143 j.h ;
  5. nommez le décideur et consignez la décision retenue ;
  6. indiquez le risque résiduel, le responsable et la date de réexamen.

Pour rendre l’option 2 reproductible, modélisez CHG-01 — Rapprochement source principale/secondaire comme une activité de changement hors du réseau PERT de la baseline, planifiée aux jours 7 et 8 à raison de 2 j.h par jour, en parallèle de B. La source principale étant disponible au jour 7, le rapprochement démarre dès sa réception. Il consomme 4 j.h de capacité, mais ne prolonge pas la fin au jour 30 si la condition de qualité et la capacité sont respectées.

Ajoutez à l’élément de changement les versions avant/après du planning, les preuves de calcul et la décision retenue. Reliez l’élément [CHANGEMENT] à l’élément [QUALITE] par une relation OpenProject ou, à défaut, par leurs IDs explicitement reportés dans les deux descriptions. Le contrôle qualité conserve son propre responsable, état, date de résolution et lien vers la preuve.

Réalisez enfin une courte note de transfert des méthodes : reliez trois objets du TP2 — une exigence REQ-T2-*, un risque RISK-T2-* et un livrable DEL-T2-* — à des activités de planification ou de contrôle. Utilisez le modèle templates/transfert-methodes-template.csv et fournissez au moins trois lignes complètes. Cette note vérifie le transfert de la méthode, sans inventer des références à des objets réellement produits dans le TP1.

Utilisez la fiche templates/changement-template.md et joignez une comparaison avant/après comportant au minimum : date de fin, chemin critique, charge, capacité, périmètre, qualité et risque résiduel. Conservez le planning initial comme baseline ou fichier séparé avant de modifier le planning après changement.

Checkpoint 5 : le changement est enregistré, deux options sont comparées, le planning est réellement replanifié, une décision est prise et le risque résiduel est suivi avec un responsable et une date de réexamen.

6. Remise attendue

Déposez NOM_PRENOM_TP2.zip :

NOM_PRENOM_TP2/
├── 00-README-remise.pdf
├── 01-openproject-planning.pdf
├── 02-estimation-capacite.xlsx et .pdf
├── 03-cocomo-pert-capacite.xlsx et .pdf
├── 04-raci-controle-qualite.xlsx et .pdf
├── 05-structures-projet.pdf
├── 06-changement-et-transfert.pdf
├── 07-preuves/
└── 08-sources/

Le README indique les outils, versions, convention de calendrier, hypothèses, limites, tableau de correspondance et différences entre calcul manuel et OpenProject. Les sources éditables de PBS, WBS, OBS et PERT sont regroupées dans 08-sources/. Vous pouvez partir du modèle templates/README-remise-template.md.

7. Checklist avant remise