Guide de la gestion de projet par secteur · Informatique, logiciel et numérique
Gestion de projet logiciel : cycle de vie, rôles, méthodes, KPI
La gestion de projet logiciel désigne la planification, la coordination et la livraison de produits et de fonctionnalités logiciels, de la découverte et des exigences à la conception, au développement, aux tests et à la mise en production, puis à l'amélioration continue. Comme un logiciel est facile à modifier mais difficile à estimer, la plupart des équipes logicielles gèrent le travail en itérations courtes et mesurent l'avancement par du logiciel opérationnel plutôt que par des documents.
À retenir
- La gestion de projet logiciel fonctionne en itérations courtes, car les exigences évoluent et les estimations sont incertaines.
- Choisissez Scrum, Kanban, DevOps ou une approche pilotée par le plan en fonction du travail, et non par habitude.
- Suivez la livraison avec les métriques DORA et les indicateurs de flux, et la réussite avec des indicateurs de résultats.
- Utilisez les outils de suivi des tickets des développeurs pour le travail au niveau du code et une plateforme comme Wrike pour la planification transverse.
Ce qui distingue la gestion de projet logiciel
- Les exigences évoluent. Les utilisateurs ne savent souvent ce qu'ils veulent qu'une fois qu'ils voient quelque chose fonctionner.
- L'estimation est incertaine. Une grande partie du travail consiste à résoudre des problèmes nouveaux : les équipes établissent donc des prévisions sous forme de fourchettes à partir du débit historique plutôt que de dates fixes.
- La livraison peut être continue. Grâce aux tests et au déploiement automatisés, les équipes peuvent livrer plusieurs fois par semaine.
- Dette technique. Les raccourcis pris pour tenir une date ralentissent le travail futur s'ils ne sont pas résorbés ; voir dette technique dans Scrum.
- La qualité est intégrée. La revue de code, les tests automatisés et la supervision remplacent les longues phases de test en fin de projet.
- Produit et projet se recoupent. De nombreuses équipes logicielles sont des équipes produit pérennes : le « projet » est donc souvent une release, un ensemble de fonctionnalités ou un nouveau produit.
Pour un aperçu de la façon dont les équipes appliquent les valeurs agiles au code, voir Développement logiciel agile.
Le cycle de vie du développement logiciel (SDLC)
| Phase | Ce qui se passe | Principaux livrables |
|---|---|---|
| Découverte | Comprendre les utilisateurs, les problèmes et les objectifs ; tester les idées par la recherche et le prototypage | Énoncé du problème, vision produit, premiers prototypes |
| Planification | Cadrer le périmètre, prioriser le backlog, planifier les releases et la capacité | Product Backlog, plan de release, feuille de route |
| Conception | Design UX, architecture et approche technique | Maquettes, décisions d'architecture, critères d'acceptation |
| Développement | Écrire le code par petits incréments, avec revue et tests automatisés | Incréments opérationnels et testés |
| Tests et assurance qualité | Tests automatisés, exploratoires, de performance et de sécurité | Résultats des tests, anomalies corrigées |
| Mise en production et déploiement | Déployer en production, souvent via un pipeline de livraison continue automatisé | Fonctionnalité livrée, notes de version |
| Exploiter et améliorer | Surveiller, assister les utilisateurs, mesurer les résultats et réinjecter les enseignements dans le backlog | Indicateurs, incidents, nouveaux éléments du backlog |
Dans les équipes agiles, ces phases se déroulent en continu au sein de chaque itération plutôt qu'une seule fois de manière séquentielle ; voir le cycle de vie du développement agile.
Rôles clés
| Rôle | Principales responsabilités |
|---|---|
| Product Owner / product manager | Porte la vision produit et ordonne le backlog selon la valeur ; voir Product Owner Scrum |
| Engineering manager | Encadre les ingénieurs, le recrutement, leur progression et les pratiques de livraison |
| Tech lead / architecte | Porte l'orientation technique et la qualité |
| Developers | Concevoir, développer et tester le logiciel |
| Ingénieurs QA / de test | Stratégie de test, automatisation et tests exploratoires |
| Designers UX / produit | Recherche utilisateur et conception d'interface |
| Scrum Master ou responsable de la livraison | Facilite le processus et lève les obstacles ; voir Rôle du Scrum Master |
| Chef de projet ou de programme technique | Coordonne les dépendances, les calendriers et les risques entre équipes ; voir chef de projet technique |
| DevOps / SRE | Construit les pipelines, l'infrastructure et la fiabilité |
Méthodologies pour les projets logiciels
| Approche | Quand elle convient | Remarques |
|---|---|---|
| Scrum | Équipes produit développant de nouvelles fonctionnalités avec des retours réguliers des parties prenantes | Sprints de durée fixe avec planification, revue et rétrospective |
| Kanban | Équipes de maintenance, de plateforme et de support ; flux continu | Limites de WIP et indicateurs de flux au lieu de sprints |
| Extreme Programming (XP) | Équipes qui veulent une forte discipline d'ingénierie | Programmation en binôme, développement piloté par les tests, intégration continue |
| DevOps | Équipes qui développent et exploitent leurs propres services | Automatise la livraison et partage la responsabilité de l'exploitation |
| cascade ou cycle en V | Contrats à périmètre fixe et logiciels réglementés ou critiques pour la sécurité | Phases formelles, documentation et vérification |
| Frameworks de mise à l'échelle | Nombreuses équipes sur un même produit | Voir SAFe et LeSS |
Comparez les options dans Agile vs cascade et Kanban vs Scrum.
Documents et modèles essentiels
| Document | Finalité | Modèle |
|---|---|---|
| Product Backlog | Liste ordonnée de tout ce dont le produit pourrait avoir besoin | Modèle de Product Backlog |
| User stories | Exigences rédigées du point de vue de l'utilisateur | Modèle de user story |
| Plan de sprint | Objectif du sprint et travail sélectionné | Modèle de Sprint Planning |
| Plan de release et feuille de route | Ce qui est livré et quand, dans les grandes lignes | Modèle de plan de release, modèle de feuille de route produit |
| Document d'exigences | Pour le travail à périmètre fixe ou sous contrat | Modèle de document d'exigences métier |
| Notes de rétrospective | Améliorations convenues par l'équipe | Modèle de Sprint Retrospective |
| registre RAID | Risques et dépendances entre équipes | Modèle de registre RAID |
Tenez en parallèle des registres de décisions d'architecture et une Definition of Done ; voir Definition of Done.
KPI de la gestion de projet logiciel
| KPI | Ce qu'il mesure | Usage type |
|---|---|---|
| Fréquence de déploiement | Fréquence à laquelle le code arrive en production | Capacité de livraison (métrique DORA) |
| Délai de mise en production des changements | Temps entre le commit et la mise en production | Vitesse du flux (métrique DORA) |
| taux d'échec des changements | Part des déploiements provoquant une défaillance | Qualité des mises en production (métrique DORA) |
| Délai de rétablissement du service | Rapidité de correction des défaillances | Résilience (métrique DORA) |
| Temps de cycle | Temps entre le début du travail et son achèvement | Prévoir et repérer les goulots d'étranglement |
| Débit ou vélocité | Travail terminé par semaine ou par sprint | Prévision des releases |
| Défauts échappés | Anomalies détectées après la mise en production | Efficacité des tests |
| Indicateurs de résultats | Adoption, conversion, rétention ou réussite des tâches | Si le logiciel apporte de la valeur |
Voir Indicateurs et KPI agiles pour en savoir plus.
Défis courants
- Dates fixes avec périmètre fixe. Fixez la date et faites varier le périmètre, et établissez des prévisions en fourchettes à partir du débit passé.
- Dette technique croissante. Réservez à chaque sprint de la capacité pour le refactoring et le travail sur la plateforme.
- Dépendances entre équipes. Cartographiez-les de façon visible, alignez-vous sur des jalons communs et utilisez un Scrum of Scrums ou une synchronisation similaire.
- Trop de travail en cours. Appliquez limites de WIP et terminez avant de commencer.
- Mesurer la production plutôt que les résultats. Reliez les mises en production aux objectifs des utilisateurs et de l'entreprise, pas seulement aux story points.
Logiciels pour la gestion de projet logiciel
Les équipes de développement ont besoin d'un outil de suivi des tickets connecté aux dépôts de code et aux pipelines CI/CD, ainsi que de tableaux, de backlogs et de rapports de sprint. Les product managers et les responsables de la livraison ont aussi besoin de feuilles de route, de vues des dépendances entre équipes et de rapports lisibles par des non-ingénieurs.
Jira est largement utilisé par les équipes d'ingénierie pour le suivi des tickets. Wrike est l'option tout-en-un la plus solide de notre classement des outils lorsque le travail logiciel doit être planifié avec le marketing, le support, le design et d'autres services, avec des tableaux agiles et des vues Gantt au même endroit. Voir aussi Outils logiciels Scrum.
Modèles gratuits sur ce sujet
Questions fréquentes
Qu'est-ce que la gestion de projet logiciel ?
La gestion de projet logiciel consiste à planifier, coordonner et livrer des produits et fonctionnalités logiciels, de la découverte au développement, aux tests et à la mise en production, puis à l'amélioration continue.
Quelles sont les phases de la gestion de projet logiciel ?
Les phases du SDLC sont la découverte, la planification, la conception, le développement, les tests, la mise en production et l'exploitation-amélioration, généralement répétées en itérations courtes.
Quelle est la meilleure méthodologie pour la gestion de projet logiciel ?
Scrum convient aux équipes fonctionnalités, Kanban au flux continu et au support, les pratiques DevOps aux équipes qui exploitent leurs propres services, et le cycle en cascade ou en V au travail à périmètre fixe ou réglementé.
Que sont les métriques DORA en gestion de projet logiciel ?
Quatre mesures de livraison issues du programme DevOps Research and Assessment : fréquence de déploiement, délai de mise en production des changements, taux d'échec des changements et délai de rétablissement du service.
Qui assure la gestion de projet logiciel dans une équipe agile ?
Les responsabilités sont partagées : le Product Owner gère les priorités, l'équipe planifie son propre travail, le Scrum Master facilite et un chef de projet technique peut assurer la coordination entre les équipes.
Comment estimer en gestion de projet logiciel ?
Utilisez des estimations relatives comme les story points ou établissez des prévisions à partir du débit et du temps de cycle historiques, et exprimez les dates sous forme de fourchettes.
Quels documents utilise-t-on en gestion de projet logiciel ?
Un Product Backlog, des user stories, des plans de sprint, des plans de release, des feuilles de route, une Definition of Done et, pour le travail sous contrat, un document d'exigences.
Quels logiciels utilise-t-on en gestion de projet logiciel ?
Des outils de suivi des tickets comme Jira connectés aux dépôts de code, complétés par une plateforme comme Wrike lorsque le travail logiciel doit être planifié avec d'autres services.
Comment gère-t-on la dette technique en gestion de projet logiciel ?
Rendez-la visible dans le backlog, réservez de la capacité à chaque itération pour la résorber et intégrez-la aux discussions de planification avec le Product Owner.
Quelle est la différence entre la gestion de projet logiciel et la gestion de produit ?
La gestion de produit décide quoi construire et pourquoi ; la gestion de projet logiciel se concentre sur la manière et le moment de la livraison.
Quelles compétences la gestion de projet logiciel exige-t-elle ?
Compréhension du processus de développement, pratiques agiles, gestion des risques et des dépendances, communication avec les parties prenantes techniques et métier, et prévisions fondées sur les données.