📊 Gestion de Projet Informatique
BTS SIO SLAM - Bloc 1 : Support et mise à disposition de services informatiques
🎯 Fondamentaux de la Gestion de Projet
📋 Qu'est-ce qu'un Projet ?
Un projet est un ensemble d'activités temporaires, uniques et coordonnées, visant à atteindre un objectif spécifique dans un délai déterminé avec des ressources limitées. Il se caractérise par un début et une fin clairement définis.
Objectif Défini
Résultat attendu clairement spécifié, mesurable et atteignable dans le temps imparti.
Temporalité
Durée limitée avec une date de début et une date de fin précises.
Unicité
Chaque projet est unique et produit un livrable ou service spécifique.
Ressources Limitées
Budget, équipe et moyens techniques définis et contraints.
⚠️ Triangle de la gestion de projet : Qualité, Délai, Coût - modifier l'un impacte nécessairement les deux autres.
👥 Rôles et Responsabilités
🏗️ Équipe Projet
Une équipe projet efficace réunit des compétences complémentaires et des rôles clairement définis pour atteindre les objectifs dans les meilleures conditions.
🎯 Chef de Projet
Responsabilités :
• Planification et coordination générale
• Gestion des risques et des délais
• Communication avec les parties prenantes
• Suivi budgétaire et reporting
• Planification et coordination générale
• Gestion des risques et des délais
• Communication avec les parties prenantes
• Suivi budgétaire et reporting
💼 Product Owner
Responsabilités :
• Définition des besoins fonctionnels
• Priorisation des fonctionnalités
• Validation des livrables
• Interface avec les utilisateurs finaux
• Définition des besoins fonctionnels
• Priorisation des fonctionnalités
• Validation des livrables
• Interface avec les utilisateurs finaux
🏗️ Scrum Master
Responsabilités :
• Animation des cérémonies agiles
• Facilitation et résolution d'obstacles
• Coaching de l'équipe
• Garant de la méthodologie
• Animation des cérémonies agiles
• Facilitation et résolution d'obstacles
• Coaching de l'équipe
• Garant de la méthodologie
💻 Développeurs
Responsabilités :
• Conception et développement
• Tests unitaires et intégration
• Documentation technique
• Estimation des charges
• Conception et développement
• Tests unitaires et intégration
• Documentation technique
• Estimation des charges
🧪 Testeurs/QA
Responsabilités :
• Conception des plans de tests
• Exécution des tests fonctionnels
• Détection et signalement des anomalies
• Validation de la qualité
• Conception des plans de tests
• Exécution des tests fonctionnels
• Détection et signalement des anomalies
• Validation de la qualité
🎨 UX/UI Designer
Responsabilités :
• Conception de l'expérience utilisateur
• Création des maquettes et prototypes
• Tests d'utilisabilité
• Respect des standards d'accessibilité
• Conception de l'expérience utilisateur
• Création des maquettes et prototypes
• Tests d'utilisabilité
• Respect des standards d'accessibilité
💡 Communication : La réussite d'un projet dépend principalement de la qualité de la communication entre les membres de l'équipe.
📈 Diagramme de Gantt
📊 Outil de Planification
Le diagramme de Gantt est un outil graphique de planification qui représente les tâches d'un projet dans le temps, leurs dépendances et l'avancement des travaux.
Planification Temporelle
Visualisation claire des dates de début et fin de chaque tâche sur une échelle de temps.
Dépendances
Identification des liens entre tâches : antériorité, simultanéité, succession.
Suivi d'Avancement
Comparaison entre planifié et réalisé, identification des retards et ajustements.
Chemin Critique
Séquence de tâches déterminant la durée minimale du projet.
📊 Exemple : Projet de Développement d'Application Web
Tâches
S1
S2
S3
S4
S5
S6
S7
S8
S9
S10
S11
S12
Analyse des besoins
Conception UX/UI
Développement Backend
Développement Frontend
Tests et Intégration
Déploiement
Jalons
💡 Outils recommandés : Microsoft Project, GanttProject (gratuit), Trello, Asana, ou des solutions intégrées comme Azure DevOps.
🏁 Jalons (Milestones)
🎯 Points de Contrôle
Les jalons sont des événements clés du projet qui marquent l'achèvement d'une phase importante ou la livraison d'un résultat majeur. Ils permettent de mesurer l'avancement et de valider la conformité.
🚀
Lancement Projet
Validation du cahier des charges et démarrage officiel
📋
Fin d'Analyse
Spécifications fonctionnelles validées par le client
🎨
Maquettes Validées
Design et ergonomie approuvés par les utilisateurs
⚙️
Prototype Fonctionnel
Version de démonstration des fonctionnalités clés
🧪
Tests Validés
Recette utilisateur réussie et anomalies corrigées
🎉
Mise en Production
Déploiement réussi et formation utilisateurs terminée
⚠️ Critères SMART : Chaque jalon doit être Spécifique, Mesurable, Atteignable, Réaliste et Temporellement défini.
🔄 Méthodologies de Gestion de Projet
⚖️ Approches Complémentaires
Les méthodologies de gestion de projet offrent des cadres structurés pour organiser, planifier et exécuter les projets selon leur nature, complexité et contraintes.
📐 Méthode en V
Approche séquentielle où chaque phase de développement correspond à une phase de test. Idéale pour les projets avec des exigences stables et bien définies.
✅ Avantages :
• Structure claire et prévisible
• Documentation complète
• Contrôle qualité rigoureux
• Adapté aux projets critiques
❌ Inconvénients :
• Peu flexible aux changements
• Feedback tardif du client
• Risque de dérive des coûts
• Structure claire et prévisible
• Documentation complète
• Contrôle qualité rigoureux
• Adapté aux projets critiques
❌ Inconvénients :
• Peu flexible aux changements
• Feedback tardif du client
• Risque de dérive des coûts
🏃 Méthode Agile
Approche itérative et collaborative privilégiant l'adaptation au changement et la livraison continue de valeur. Basée sur des cycles courts (sprints).
✅ Avantages :
• Flexibilité et adaptabilité
• Feedback client régulier
• Livraisons fréquentes
• Collaboration renforcée
❌ Inconvénients :
• Moins de documentation
• Difficulté d'estimation
• Nécessite une équipe expérimentée
• Flexibilité et adaptabilité
• Feedback client régulier
• Livraisons fréquentes
• Collaboration renforcée
❌ Inconvénients :
• Moins de documentation
• Difficulté d'estimation
• Nécessite une équipe expérimentée
📋
Scrum
Framework agile avec sprints de 2-4 semaines, cérémonies définies et rôles spécifiques
🔄
Kanban
Méthode visuelle de gestion des flux avec limitation du travail en cours
📐
Cycle en V
Modèle séquentiel avec phases de test correspondant aux phases de développement
💡 Choix de méthodologie : Agile pour l'innovation et l'incertitude, V pour la stabilité et la conformité réglementaire.
🔧 Versionning avec Git
📚 Gestion des Versions
Git est un système de contrôle de version distribué qui permet de suivre les modifications du code, collaborer efficacement et gérer les différentes versions d'un projet.
Branches
Lignes de développement parallèles permettant de travailler sur différentes fonctionnalités simultanément.
Commits
Instantanés du code à un moment donné avec description des modifications apportées.
Merge
Fusion de branches pour intégrer les développements dans la branche principale.
Tags
Marqueurs pour identifier les versions stables et les releases du projet.
🔧 Workflow Git Standard
📥 1. Initialisation du projet
Cloner le repository depuis GitHub/GitLab
git clone https://github.com/username/project.git
cd project
🌿 2. Création d'une branche de fonctionnalité
Créer une branche dédiée pour développer une nouvelle fonctionnalité
git checkout -b feature/nouvelle-fonctionnalite
💡 Convention de nommage : feature/, bugfix/, hotfix/
💻 3. Développement et commits
Développer la fonctionnalité et commiter régulièrement
git add .
git commit -m "feat: ajout de la fonctionnalité X"
📝 Utiliser les Conventional Commits : feat, fix, docs, style, refactor, test
🚀 4. Publication de la branche
Pousser la branche vers le repository distant
git push origin feature/nouvelle-fonctionnalite
🔍 5. Demande de révision (Pull Request)
Créer une Pull Request via l'interface web
🌐 Via GitHub, GitLab ou Azure DevOps
👥 Assigner des reviewers et ajouter une description détaillée
✅ 6. Intégration dans la branche principale
Après validation, merger dans main/master
git checkout main
git pull origin main
git merge feature/nouvelle-fonctionnalite
git branch -d feature/nouvelle-fonctionnalite
🧹 Supprimer la branche locale après merge
GitFlow
Modèle de branches avec main, develop, feature, release et hotfix pour projets complexes.
GitHub Flow
Workflow simplifié avec main et branches de fonctionnalités pour déploiement continu.
CI/CD
Intégration et déploiement continus automatisés via GitHub Actions, GitLab CI.
Conventional Commits
Convention de nommage des commits : feat, fix, docs, style, refactor, test.
⚠️ Bonnes pratiques : Commits atomiques (le moins de mots possibles), messages clairs, branches courtes, reviews systématiques, tests automatisés.
📊 Suivi et Contrôle de Projet
📈 Pilotage de Projet
Le suivi de projet consiste à mesurer l'avancement, identifier les écarts par rapport au plan initial et prendre les actions correctives nécessaires pour respecter les objectifs.
Indicateurs KPI (Key Performance Indicator)
Métriques de performance : vélocité (nombre de points d'un sprint), taux de défauts et de réussites, respect des délais (Time to Market).
Suivi Budgétaire
Contrôle des coûts réels vs prévisionnels, analyse des écarts et projections.
Gestion des Risques
Identification, évaluation et mitigation des risques techniques, humains et organisationnels.
Communication
Reporting régulier, réunions de suivi, tableaux de bord et communication avec les parties prenantes.