2. Qu'est-ce qu'un projet ?
Un projet est une entreprise temporaire entreprise pour créer un produit,
un service ou un résultat unique. Un projet est défini comme temporaire car
il a une heure de début et de fin définie, et il est unique car il comporte un
ensemble particulier d'opérations conçues pour atteindre un objectif.
• Les principales caractéristiques d'un projet sont :
• Il a un début et une fin définis
• Une fois le point final atteint, le projet est terminé
• Il tente de réaliser quelque chose de nouveau
• Le projet doit répondre aux exigences du client ou des parties prenantes
3. Qu'est-ce que la gestion de projet ?
La gestion de projet est une discipline qui permet de planifier, d'organiser, de
motiver et de contrôler les ressources pour atteindre des objectifs de projet
spécifiques. L'objectif principal de la gestion de projet est d'atteindre les objectifs
et les cibles du projet tout en gardant à l'esprit la portée, le temps, la qualité et le
coût du projet. Il facilite le flux de travail du projet avec une collaboration
d'équipe sur un seul projet.
4. Objectifs de la gestion de projet
Lors de la préparation d'un projet, vous devez examiner ces perspectives, ce qui
permet de mieux comprendre l'ensemble du processus.
Voici les principaux objectifs de gestion de projet logiciel :
• Comment le projet s'intègre-t-il dans l'organisation ?
• Comment le projet va-t-il évoluer dans le temps ?
• Quelles sont les compétences requises pour gérer le projet avec succès ?
• Elaboration et mise en place de procédures
• Communication efficace, collaboration et directives productives
• Atteindre les objectifs du projet dans les délais estimés avec une haute qualité
• Allouer et optimiser les ressources nécessaires pour atteindre les objectifs du
projet
• Répondre aux besoins et exigences exclusifs du client
5. Méthodologies de gestion de projet
Voici les différentes méthodologies disponibles pour la gestion de projet :
• Prince2
• Agile
• Six Sigma
• Scrum
• Kanban
• Lean
• Cascade
Nous examinerons chacun de ces éléments dans une partie ultérieure du
didacticiel. Divers outils sont disponibles pour suivre les tâches du projet et
mesurer les réalisations au cours du projet. Ceux-ci incluent les diagrammes de
Gantt, les diagrammes PERT et les structures de travail descendantes.
6. Qu'est-ce que la méthodologie Agile ?
Méthodologie Agile, c'est-à-dire une pratique qui favorise l'itération continue du
développement et des tests tout au long du cycle de développement logiciel du
projet.
Dans le modèle Agile de test logiciel, les activités de développement et de test
sont simultanées,
contrairement au modèle Waterfall.
7. Qu'est-ce que le développement logiciel agile ?
• La méthodologie de développement logiciel Agile est l'un des processus les
plus simples et les plus efficaces pour transformer une vision d'un besoin
métier en solutions logicielles. Agile est un terme utilisé pour décrire les
approches de développement de logiciels qui utilisent la planification continue,
l'apprentissage, l'amélioration, la collaboration d'équipe, le développement
évolutif et la livraison précoce. Elle encourage des réponses flexibles au
changement.
Le développement logiciel agile met l'accent sur quatre valeurs fondamentales.
• Interactions individuelles et d'équipe sur les processus et les outils
• Logiciel de travail sur une documentation complète
• Collaboration avec le client sur la négociation du contrat
• Répondre au changement au sujet d'un plan
8. Modèle agile vs modèle en cascade
• Les modèles Agile et Waterfall sont deux méthodes différentes pour le
processus de développement de logiciels. Bien qu'elles soient
différentes dans leur approche, les deux méthodes sont parfois utiles,
selon les besoins et le type de projet.
9. Modèle agile
Modèle de cascade
• Modèle en cascade : le développement du
logiciel se déroule de manière séquentielle
du point de départ au point final.
• Le processus de conception n'est pas divisé
en modèles individuels
• Le client ne peut voir le produit qu'à la fin
du projet
•Définition de la méthodologie agile : les
méthodologies agiles proposent une approche
incrémentale et itérative de la conception de
logiciels
•Le processus Agile en génie logiciel est divisé en
modèles individuels sur lesquels les concepteurs
travaillent
•Le client a des occasions précoces et fréquentes
d'examiner le produit et de prendre des décisions
et des modifications au projet
10. • Le modèle agile est considéré comme non
structuré par rapport au modèle en cascade
• Les petits projets peuvent être mis en
œuvre très rapidement. Pour les gros
projets, il est difficile d'estimer le temps de
développement.
• L'erreur peut être corrigée au milieu du
projet.
• Le processus de développement est itératif
et le projet est exécuté en courtes itérations
(2 à 4) semaines. La planification est très
moindre.
• Les modèles en cascade sont plus sûrs car ils sont
tellement orientés plan
• Toutes sortes de projets peuvent être estimés et
réalisés.
• Ce n'est qu'à la fin que l'ensemble du produit est
testé. Si l'erreur d'exigence est détectée ou si des
modifications doivent être apportées, le projet
doit recommencer depuis le début
• Le processus de développement est échelonné,
et la phase est beaucoup plus importante que
l'itération. Chaque phase se termine par la
description détaillée de la phase suivante
11. • La documentation est moins prioritaire que
le développement logiciel
• Chaque itération a sa propre phase de
test. Il permet de mettre en œuvre des tests
de régression à chaque fois que de
nouvelles fonctions ou logiques sont
publiées.
• Dans les tests agiles, lorsqu'une itération se
termine, les fonctionnalités livrables du
produit sont livrées au client. Les nouvelles
fonctionnalités sont utilisables juste après
l'expédition. Il est utile lorsque vous avez un
bon contact avec les clients.
• La documentation est une priorité absolue
et peut même être utilisée pour former le
personnel et mettre à niveau le logiciel avec
une autre équipe
• Ce n'est qu'après la phase de
développement que la phase de test est
exécutée car les parties séparées ne sont
pas entièrement fonctionnelles.
• Toutes les fonctionnalités développées sont
livrées en une seule fois après la longue
phase de mise en œuvre.
12. • Les testeurs et les développeurs travaillent
ensemble
• À la fin de chaque sprint, l'acceptation de
l'utilisateur est effectuée
• Cela nécessite une communication étroite
avec les développeurs et analyse ensemble
les exigences et la planification
• Les testeurs travaillent séparément des
développeurs
• L'acceptation par l'utilisateur est effectuée à
la fin du projet.
• Le développeur n'intervient pas dans le
processus d'exigence et de
planification. Habituellement, les délais
entre les tests et le codage
13. SCRUM
• Maître de mêlée
• Scrum Master est responsable de la mise en place de l'équipe, de la réunion de sprint et
de la suppression des obstacles à la progression
• Propriétaire du produit
• Le Product Owner crée le backlog du produit, hiérarchise le backlog et est responsable de
la livraison de la fonctionnalité à chaque itération
• Équipe Scrum
• L'équipe gère son propre travail et organise le travail pour terminer le sprint ou le cycle
14. Product backlog
• Il s'agit d'un référentiel où les exigences sont suivies avec des détails sur le
nombre d'exigences (histoires d'utilisateurs) à remplir pour chaque version. Il
doit être maintenu et priorisé par le Product Owner, et il doit être distribué à
l'équipe Scrum. L'équipe peut également demander l'ajout, la modification
ou la suppression d'une nouvelle exigence
16. Flux de processus des méthodologies Scrum :
Le flux de processus des tests Scrum est le suivant :
• Chaque itération d'une mêlée est connue sous le nom de Sprint
• Le backlog de produit est une liste où tous les détails sont entrés pour obtenir le
produit final
• Au cours de chaque sprint, les meilleures histoires d'utilisateurs du backlog de
produit sont sélectionnées et transformées en backlog de sprint
• L'équipe travaille sur le backlog de sprint défini
• L'équipe vérifie le travail quotidien
• À la fin du sprint, l'équipe livre les fonctionnalités du produit
17. Métriques agiles :
• Les métriques qui peuvent être collectées pour une utilisation efficace d'Agile
sont :
• Facteur de traînée
• Effort en heures qui ne contribue pas à l'objectif du sprint
• Le facteur de traînée peut être amélioré en réduisant le nombre de ressources partagées,
en réduisant la quantité de travail non contributif
• Les nouvelles estimations peuvent être augmentées en pourcentage du facteur de traînée
- Nouvelle estimation = (Ancienne estimation + facteur de traînée)
• Rapidité
• Quantité de backlog (user stories) convertie en fonctionnalité livrable du sprint
• Nombre de tests unitaires ajoutés
• Intervalle de temps nécessaire pour terminer la construction quotidienne
• Bugs détectés dans une itération ou dans des itérations précédentes
• Fuite de défaut de production
18. Scrum
• SCRUM est une méthode de développement agile qui se concentre spécifiquement sur la
gestion des tâches dans un environnement de développement en
équipe. Fondamentalement, Scrum est dérivé d'une activité qui se produit lors d'un match de
rugby. Scrum croit en l'autonomisation de l'équipe de développement et préconise de
travailler en petites équipes (disons de 7 à 9 membres). Agile et Scrum se composent de trois
rôles, et leurs responsabilités sont expliquées comme suit :
19. • Maître de mêlée
• Scrum Master est responsable de la mise en place de l'équipe, de la réunion de sprint et de la
suppression des obstacles à la progression
• Propriétaire du produit
• Le Product Owner crée le backlog du produit, hiérarchise le backlog et est responsable de la livraison de
la fonctionnalité à chaque itération
• Équipe Scrum
• L'équipe gère son propre travail et organise le travail pour terminer le sprint ou le cycle
20. Product Backlog
• Il s'agit d'un référentiel où les exigences sont suivies avec des détails sur le nombre
d'exigences (histoires d'utilisateurs) à remplir pour chaque version. Il doit être maintenu et
priorisé par le Product Owner, et il doit être distribué à l'équipe Scrum. L'équipe peut
également demander l'ajout, la modification ou la suppression d'une nouvelle exigence
21. Flux de processus des méthodologies Scrum :
Le flux de processus des tests Scrum est le suivant :
• Chaque itération d'une mêlée est connue sous le nom de Sprint
• Le backlog de produit est une liste où tous les détails sont entrés pour obtenir le produit final
• Au cours de chaque sprint, les meilleures histoires d'utilisateurs du backlog de produit sont
sélectionnées et transformées en backlog de sprint
• L'équipe travaille sur le backlog de sprint défini
• L'équipe vérifie le travail quotidien
• À la fin du sprint, l'équipe livre les fonctionnalités du produit
22. Programmation extrême (XP)
• La technique de programmation extrême est très utile lorsque les demandes ou les exigences
des clients changent constamment ou lorsqu'ils ne sont pas sûrs de la fonctionnalité du
système. Il préconise des « versions » fréquentes du produit dans des cycles de
développement courts, ce qui améliore intrinsèquement la productivité du système et
introduit également un point de contrôle où toutes les exigences des clients peuvent être
facilement mises en œuvre. Le XP développe des logiciels gardant le client dans la cible.
23.
24. • Les exigences métier sont rassemblées en termes d'histoires. Toutes ces histoires sont
stockées dans un endroit appelé le parking.
• Dans ce type de méthodologie, les versions sont basées sur des cycles plus courts appelés
itérations avec une durée de 14 jours. Chaque itération comprend des phases telles que le
codage, les tests unitaires et les tests système où, à chaque phase, des fonctionnalités
mineures ou majeures seront intégrées à l'application.
25. Phases de programmation eXtreme :
• Il y a 6 phases disponibles dans la méthode Agile XP, et celles-ci sont expliquées comme suit :
• Planification
• Identification des parties prenantes et des sponsors
• Exigences en matière d'infrastructures
• Informations et collecte liées à la sécurité
• Accords de niveau de service et ses conditions
• Une analyse
• Capture d'histoires dans un parking
• Prioriser les histoires dans le parking
• Nettoyage des histoires pour estimation
• Définir l'itération SPAN(Time)
• Planification des ressources pour les équipes de développement et d'assurance qualité
26. • Concevoir
• Répartition des tâches
• Préparation du scénario de test pour chaque tâche
• Cadre d'automatisation de la régression
• Exécution
• Codage
• Tests unitaires
• Exécution de scénarios de tests manuels
• Génération de rapport de défaut
• Conversion des cas de test de régression Manuel vers Automatisation
• Examen de mi-itération
• Examen de fin d'itération
27. • Emballage
• Petites versions
• Les tests de régression
• Démos et critiques
• Développer de nouvelles histoires en fonction du besoin
• Améliorations du processus basées sur les commentaires de la revue de fin d'itération
• Fermeture
• Lancement pilote
• Entraînement
• Lancement de la production
• Assurance de garantie SLA
• Revoir la stratégie SOA
• Support de production
28. • Deux storyboards sont disponibles pour suivre le travail au quotidien, et ceux-ci sont
répertoriés ci-dessous à titre de référence.
• Carton d'histoire
• Il s'agit d'une manière traditionnelle de collecter toutes les histoires dans un tableau sous la forme de
notes adhésives pour suivre les activités XP quotidiennes. Comme cette activité manuelle demande plus
d'efforts et de temps, mieux vaut passer à un formulaire en ligne.
• Scénario en ligne
• L'outil en ligne Storyboard peut être utilisé pour stocker les histoires. Plusieurs équipes peuvent
l'utiliser à des fins différentes.
29. Méthodologies de cristal
• La méthodologie Crystal est basée sur trois concepts
• Affrètement : diverses activités impliquées dans cette phase sont la création d'une équipe de
développement, la réalisation d'une analyse de faisabilité préliminaire, l'élaboration d'un plan
initial et la mise au point de la méthodologie de développement
• Livraison cyclique : La phase de développement principale consiste en deux ou plusieurs
cycles de livraison, au cours desquels le
• L'équipe met à jour et affine le plan de publication
• Met en œuvre un sous-ensemble des exigences via une ou plusieurs itérations d'intégration de test de
programme
• Le produit intégré est livré à de vrais utilisateurs
• Examen du plan de projet et de la méthodologie de développement adoptée
• Conclusion : les activités réalisées au cours de cette phase sont le déploiement dans
l'environnement de l'utilisateur, des revues et des réflexions post-déploiement sont
effectuées.
30. Méthode de développement logiciel dynamique (DSDM)
• DSDM est une approche de développement d'applications rapide (RAD) pour le développement de logiciels
et fournit un cadre de livraison de projet agile. L'aspect important de DSDM est que les utilisateurs doivent
être impliqués activement et que les équipes ont le pouvoir de prendre des décisions. La livraison fréquente
du produit devient l'objectif actif avec DSDM. Les techniques utilisées dans DSDM sont
• Time Boxe
• Règles MoSCoW
• Prototypage
• Le projet DSDM se compose de 7 phases
• Avant-projet
• Étude de faisabilité
• Étude commerciale
• Itération du modèle fonctionnel
• Concevoir et construire l'itération
• Mise en œuvre
• Post-projet
31. Développement piloté par les fonctionnalités (FDD)
• Cette méthode est axée sur les fonctionnalités de « conception et construction ». Contrairement à
d'autres méthodes Agile en génie logiciel, FDD décrit des phases de travail très spécifiques et courtes
qui doivent être accomplies séparément par fonctionnalité. Il comprend la visite guidée du domaine,
l'inspection de la conception, la promotion pour la construction, l'inspection du code et la
conception. FDD développe des produits en suivant les choses dans la cible
• Modélisation d'objets de domaine
• Développement par fonctionnalité
• Propriété du composant/classe
• Équipes de fonctionnalités
• Contrôles
• Gestion de la configuration
• Constructions régulières
• Visibilité des progrès et des résultats
32. Développement logiciel simplifié
• La méthode de développement logiciel Lean est basée sur le principe de « production juste à
temps ». Il vise à augmenter la vitesse de développement des logiciels et à réduire les
coûts. Le développement Lean peut être résumé en sept étapes.
• Éliminer les déchets
• Amplifier l'apprentissage
• Différer l'engagement (décider le plus tard possible)
• Livraison anticipée
• Responsabiliser l'équipe
• Construire l'intégrité
• Optimiser l'ensemble
33. Métriques agiles :
• Les métriques qui peuvent être collectées pour une utilisation efficace d'Agile sont :
• Facteur de traînée
• Effort en heures qui ne contribue pas à l'objectif du sprint
• Le facteur de traînée peut être amélioré en réduisant le nombre de ressources partagées, en réduisant la
quantité de travail non contributif
• Les nouvelles estimations peuvent être augmentées en pourcentage du facteur de traînée - Nouvelle
estimation = (Ancienne estimation + facteur de traînée)
• Rapidité
• Quantité de backlog (user stories) convertie en fonctionnalité livrable du sprint
• Nombre de tests unitaires ajoutés
• Intervalle de temps nécessaire pour terminer la construction quotidienne
• Bugs détectés dans une itération ou dans des itérations précédentes
• Fuite de défaut de production