Approche Agile 1
Approche Agile 1
Approche Agile 1
et de la Promotion du Travail
M110
ADOPTER L’APPROCHE AGILE
2022/2023
0
INTRODUCTION
Dans cette vie, Nous avons tous des projets : Qu’ils soient d’ordre privé ou professionnel, ils
donnent du sens à notre vie, et nous projettent vers un futur que nous voulons meilleur … Un
projet, au-delà de la part de rêve qu’il contient, appelle à la réalisation, à la concrétisation de l’idée
de départ. Mais comme le dit cet adage bien connu « l’intention ne vaut pas l’action ». Il faut donc
se donner les moyens de mener à bien une démarche plus ou moins compliquée pour atteindre
l’objectif du projet.
Les projets sont partout (la vie quotidienne, société, etc.) et nous sommes tous des chefs des
projets qui s’ignorent, cependant la conduite d’un projet exige plusieurs facteurs:
OBJECTS DU COURS
1
SOMMAIRE
2
ADOPTER L’APPROCHE AGILE
Cet objectif général peut être décliné en objectifs spécifiques qui vont préciser quels sont les
résultats observables attendus du projet.
- ... par des acteurs : Qu'appelle-t-on " les acteurs " dans un projet ?
Est considéré comme acteur du projet toute personne qui a des intérêts en jeu dans le projet et
dispose du pouvoir plus ou moins grand de faire agir les autres dans son sens.
- ... dans un délai donné : Qu'appelle-t-on " le délai " d'un projet ?
Un projet ne peut s'articuler qu'à l'intérieur d'un planning de réalisation comportant une date
de début (ou lancement du projet), une date de fin (ou clôture du projet), et un certain nombre de
jalons permettant de vérifier la validité du produit à des étapes clefs de sa réalisation.
- ... avec des moyens définis. : Qu'appelle-t-on " les moyens " d'un projet ?
Les moyens d'un projet sont les ressources humaines, financières, techniques,
méthodologiques et logistiques.
Elles doivent être évaluées avant la prise en charge du projet par le chef de projet. Ce dernier
affinera par la suite cette évaluation.
3
B. LES ACTIVITÉS DE GESTION DE PROJET?
La gestion de projet est « l’application de connaissances, de compétences, d’outils et de
méthodes aux activités d’un projet afin de répondre à ses besoins ». Il convient toutefois de
distinguer deux catégories d’activités dans un projet :
• les activités de production: sont celles qui sont nécessaires pour réaliser le produit ou
service visé par l’objectif du projet ;
• les activités de gestion de projet: sont celles qui consistent à planifier le travail, l’organiser
et suivre l’avancement des activités de production.
Le champ de la conduite de projets informatiques est calé sur les trois aspects représentés par le
triangle Projet. Ainsi :
Le délai donne lieu à une gestion du temps dont le rôle est de définir le parcours et de le
jalonner, d’établir des calendriers et de maîtriser la consommation de l’enveloppe temps.
Les moyens affectés constituent le budget du projet, qui est transformé en travail, locaux,
matériel, temps machine, déplacement... Cette transformation nécessite une gestion des
ressources portant sur les ressources humaines et les moyens matériels.
L’objectif du projet doit à son terme être concrétisé par une ou plusieurs fournitures. Cela
implique une gestion de la production, qui a pour but de suivre et diriger l'avancement vers
l'objectif tout au long du projet. On parle parfois de « faire converger le projet » : cela
signifie qu’il faut sans cesse s’assurer que l’on se rapproche du but et que l’on ne part pas
dans des directions remettant en cause un avancement consolidé.
Analyser: consiste à déterminer le chemin que l’on va emprunter pour avancer vers
l’objectif. Pour cela, on étudie les caractéristiques du projet, son contexte, les risques qui le
menacent et l’état de son avancement. Cela conduit à un découpage du projet en actions à
entreprendre et à une estimation de l'effort nécessaire. La maille de cette analyse varie selon
le moment du projet auquel on se place.
Organiser: signifie repérer les contraintes d'enchaînement entre les tâches afin de les
ordonnancer. Cela permet d’établir un calendrier. L’organisation recouvre aussi la
constitution d’une équipe, c'est-à-dire des personnes qui sont affectées et imputées au projet,
4
en déterminant les bons profils. Les relations avec tous les partenaires nécessaires sont
également prises en compte. Dès que la charge est importante, on répartit le travail entre
plusieurs personnes, voire plusieurs équipes, ce qui conduit à mettre en place des moyens de
partage d’informations pour éviter les incohérences.
Produire : consiste à assurer les actions diverses (cultures, fabrications, etc.) qui
concourent à fournir sur le marché commercial certains biens ou services.
Pour la norme ISO10006: 2003, les activités de gestion de projet sont organisées en processus,
et réparties en quatre familles :
La première famille ne comprend qu'un seul processus, appelé processus stratégique, qui
regroupe les activités relevant de la responsabilité de la direction de l'entreprise, telle que la
nomination des chefs de projet.
La deuxième famille comprend des processus qui touchent à la gestion des ressources, en
particulier le personnel.
La troisième famille structure les activités de gestion de projet orientées vers la réalisation
du produit, c'est-à-dire la production du bien ou service visé par l'objectif. Elle comprend la
coordination des activités, la maîtrise des tâches de production, la maîtrise des délais et des
coûts, la gestion de la communication, la maîtrise des risques et celle des achats pour le
projet.
La quatrième famille de processus réunit les activités de gestion de projet, qui visent
l'amélioration, c'est-à-dire le management des connaissances issues des projets achevés.
• le maître d’œuvre et
• le maître d’ouvrage ;
• l’équipe de projet ;
• les utilisateurs.
5
Les intervenants du projet informatique doivent être identifiés avec leurs rôles et les fonctions
qu’ils doivent remplir dans quel ordre et dans quelles conditions. Cette notion de responsable à
chaque niveau d’intervention est essentielle à la bonne marche du projet. La première démarche
consiste à définir les conditions d’intervention des différents partenaires et la seconde à préciser les
liens qui peuvent exister entre eux.
Maître d'ouvrage:
Personne ou entité à l'origine du projet: exprime un objectif, un problème à résoudre au
moyen d'une conduite de projet.
Rôles:
• Sélectionne le projet • Rédige un cahier des charges
• Précise les objectifs • Nomme le chef de projet
• Détermine sa faisabilité • Valide les résultats
• Évalue le budget • Assure l'exploitation du produit fini
Équipe projet:
Ensemble des personnes chargées de la réalisation du produit du projet.
Rôles:
• Réalise les travaux . • Rend compte de leur avancement au chef de projet.
Experts:
Personnes compétentes dans un domaine spécifique qui vont remplir un rôle de conseil/
formation et/ou d'évaluation.
6
Rôles:
• Interviennent de façon ponctuelle à la demande du chef de projet.
• Donnent des avis techniques, méthodologiques...
Utilisateurs:
Personnes qui seront en interaction avec le produit du projet lors de l'usage de celuici.
Rôles:
• Interviennent en tant que conseil
• Testent le produit
Garant de l’état d’avancement d’un projet informatique, le CPI doit ajuster les évolutions et
les besoins y afférents si cela s’avère nécessaire. Il doit également tenir compte des contraintes en
termes de financement et de délais. Il se doit donc de posséder de multiples capacités regroupant
des compétences techniques et managériales à la fois.
- Accompagné par son équipe, le CPI a pour rôle principal de concevoir et d’intégrer un
logiciel ou une solution informatique spécifique. Ses tâches sont multiples et couvrent l’ensemble
de toutes les étapes du projet depuis le brief client jusqu’à la réception par ce dernier ainsi qu’au
suivi et maintenance.
- La personne doit être capable de solutionner les différentes problématiques qui risqueraient
de nuire au projet. Elle doit avoir un esprit créatif pour pouvoir améliorer et sublimer sa création.
Elle est amenée à trouver des idées innovantes ainsi que des stratégies optimales qui seront
bénéfiques pour l’entreprise. Le chef de projet informatique est notamment spécialisé dans un
langage informatique particulier.
- Elle est utile pour clarifier les rôles et responsabilités dans des projets et des processus
transversaux ou, d’une manière plus générale, dans un département ou service, afin d’avoir une
vision claire de la répartition des tâches.
Qui ? Personne qui va être consultée dans l’exécution de la tâche : elle est force
de conseil.
Sa mission : Contribuer avec des conseils et opinions à ce que la tâche soit
effectuée le plus efficacement possible.
Particularité : Il peut y avoir plusieurs personnes consultées.
Ce sont souvent des experts.
-I- pour Informed:
Qui ? Personne qui sera mise au courant lorsque la tâche sera terminée:
elle est informée.
Sa mission : Être tenue à jour sur les progrès réalisés, souvent à l’issue
de la tâche ou du livrable.
Particularité : Elle n’intervient pas activement dans la réalisation de la tâche.
8
E. CONTRAINTES DANS LA GESTION D’UN PROJET:
Les contraintes de projet sont les limites générales d'un projet, notamment les délais, les
coûts et les risques. Il est important d'identifier les contraintes d'un projet, car elles ont des
répercussions sur les performances de ce dernier.
CONTRAINTES DE DELAIS:
Contrainte externe « fixe »: Elle est souvent contractuelle, généralement moins forte que la
contrainte externe absolue, elle est souvent assortie d'une pénalité de retard. Contrainte externe «
variable ». Elle concerne la réalisation d'une partie du projet qui est liée à un événement dont la
date n'est pas absolument fixe.
Par exemple, les projets de sous-traitance.
CONTRAINTES DE COUTS:
CONTRAINTES DE QUALITE:
- Contraintes fortes, leur non-respect est susceptible de remettre en cause le projet lui-même.
Par exemple, des impératifs légaux, de santé ou de sécurité publique.
- Des impératifs de nature commerciale, des engagements contractuels existent : le projet doit
s'y conformer.
- La certification de l'entreprise dans un système d'assurance qualité faite qu'elle se doit de
respecter certaines règles.
L'objectif d’un projrt doit être précisé de façon claire, chiffrée et datée. Le résultat doit être
conforme à des normes de qualité et de performances prédéfinies, pour le moindre coût et dans le
meilleur délai possible :
9
2) DECOUVRIR LES DIFFERENTES METHODES DE GESTION DE PROJET:
Une méthode définit une démarche en vue de produire des résultats. Une méthode permet
d’assister une ou plusieurs étapes du cycle de vie du logiciel. Les méthodes d’analyse et de
conception fournissent des notations standards et des conseils pratiques qui permettent d’aboutir à
des conceptions « raisonnables », mais nous ferons toujours appel à la créativité du concepteur. Il
existe différentes manières pour classer ces méthodes, dont:
Les stratégies orientées objet considèrent qu’un système est un ensemble d’objets
interagissant. Chaque objet dispose d’un ensemble d’attributs décrivant son état et l’état du
système est décrit (de façon décentralisé) par l’état de l’ensemble. La décomposition fonctionnelle
du haut vers le bas a été largement utilisée aussi bien dans de petits projets que dans de très grands,
et dans divers domaines d’application. La méthode orientée objet a eu un développement plus
récent. Elle encourage la production de systèmes divisés en composants indépendants, en
interaction.
Dans le cadre de cours, nous distinguerons alors quatre (4) types des méthodes à savoir :
- les méthodes objet, basées sur différents modèles (statiques, dynamiques et fonctionnels)
de développement logiciel.
10
Cette méthode présente comme les inconvénients suivants :
- Cette méthode ne favorise pas la réutilisation de composants, car les composants de bas
niveau sont souvent ad hoc et donc peu réutilisables.
- Les approches objet sont souvent qualifiées de « naturelles » car elles sont basées sur le
domaine d’application. Cela facilite en particulier la communication avec les
utilisateurs.
- Ces approches supportent mieux l’évolution des besoins que les approches
fonctionnelles car la modélisation est plus stable, et les évolutions fonctionnelles ne
remettent par l’architecture du système en cause.
- Les approches objet facilitent la réutilisation des composants (qui sont moins
spécifiques que lorsqu’on réalise une décomposition fonctionnelle).
-
11
C. LES METHODES ADAPTATIVES:
Les méthodes dites « adaptatives » sont subdivisées en 2 parties notamment : les méthodes
prédictives et les méthodes agiles (adaptatives).
Ce sont des méthodes qui correspondent à un cycle de vie itératif, qui considèrent que les
changements (des besoins des utilisateurs, mais également de l’architecture, de la conception, de
la technologie) sont inévitables et doivent être pris en compte par les modèles de développement.
Ces méthodes privilégient la livraison de fonctionnalités utiles au client à la production de
documentation intermédiaire sans intérêt pour le client.
Ainsi, Toutes les méthodes agiles prennent en compte dans leur modèle de cycle de vie trois
exigences :
- Une forte participation entre développeurs et utilisateurs;
- Des livraisons fréquentes de logiciel et ;
- Une prise en compte de possibles changements dans les besoins des utilisateurs au cours
du projet.
C’est pourquoi toutes font appel, d’une façon ou d’une autre, à un modèle itératif et
incrémental. De plus, elles préconisent en général des durées de cycle de vie des projets ne
dépassant pas un an. Parmi les méthodes agiles, les plus usuelles ; on peut citer :
La méthode RAD : Est un modèle linéaire (présentoir), structuré en cinq phases, et dont le
modèle itératif intervient à la phase Construction du logiciel en vu de la séquencer en plusieurs
modules Successivement livrés.
12
La participation des utilisateurs est placée au cœur du cycle. En effet, le déroulement d’une
phase comprend une ou plusieurs sous-phases, et chaque sousphase présente une structure à trois
temps, dans laquelle la tenue d’une session participative joue un rôle central. Des travaux
préparatoires rassemblent et construisent le matériau (modèle ou prototype) qui sera ensuite discuté
par les différents acteurs et ajusté.
La méthode DSDM: La méthode DSDM a évolué au cours des années. L’actuelle version
distingue le cycle de vie du système et le cycle de vie du projet. Le premier comprend, outre les
phases du projet lui-même, une phase de pré-projet qui doit conduire au lancement du projet et une
phase post-projet qui recouvre l’exploitation et la maintenance de l’application.
Le cycle de vie du projet comprend cinq phases, dont deux sont cycliques. Les flèches
pleines indiquent un déroulement normal. Les flèches en pointillé montrent des retours possibles à
une phase antérieure, soit après la phase Conception et construction, soit après celle de Mise en
œuvre.
Après une Étude de faisabilité, la phase Étude du métier permet, à travers des ateliers
(workshops) entre équipe de projet et manageurs, de définir le périmètre du projet, avec une liste
d’exigences prioritaires et une architecture fonctionnelle et technique du futur système.
La phase Modélisation fonctionnelle est une suite de cycles. Chacun permet de définir
précisément les fonctionnalités souhaitées et leur priorité. L’acceptation par toutes les parties
prenantes d’un prototype fonctionnel, sur tout ou partie du périmètre, permet de passer à la phase
Conception et construction. L’objectif de cette phase est de développer un logiciel testé, par des
cycles successifs de développement/acceptation par les utilisateurs.
13
Après une phase initiale d’Exploration des besoins, un plan de livraison est défini avec le
client. Chaque livraison, d’une durée de quelques mois, se termine par la fourniture d’une version
opérationnelle du logiciel. Une itération de livraison est découpée en plusieurs itérations de
développement de courte durée (deux semaines à un mois), chacune donnant lieu à la livraison
d’une ou plusieurs fonctionnalités pouvant être testées, voire intégrées dans une version en cours.
De façon plus détaillée, chaque itération de développement commence par l’écriture de cas
d’utilisation ou scénarios (user stories), c’est-à-dire des fonctions simples, concrètement décrites,
avec les exigences associées, qui participent à la définition d’une fonctionnalité plus globale.
Utilisateurs et développeurs déterminent ensemble ce qui doit être développé dans la prochaine
itération. Une fonctionnalité est ainsi découpée en plusieurs tâches. Les plans de test sont écrits, les
développeurs sont répartis en binôme; ils codent les tâches qui leur sont affectées, puis effectuent
avec les utilisateurs des tests d’acceptation. En cas d’échec, on revoit les scénarios et on reprend la
boucle. Sinon, on continue jusqu’à avoir développé tous les scénarios retenus. Une version livrable
est alors arrêtée et mise à disposition, ainsi que la documentation.
- La phase de Jeu (game) est itérative et qualifiée d’empirique, dans la mesure où le travail
effectué ne fait pas l’objet d’une planification. Une itération, dont la durée oscille entre une et
quatre semaines, est appelée un Sprint, en référence à ces poussées rapides et fortes que les joueurs
de rugby peuvent effectuer sur le terrain.
14
Un Sprint est découpé en trois sous-phases :
LE CYCLE ERP
La mise en place d’un progiciel de gestion intégré, souvent appelé du terme anglo-saxon
ERP (Enterprise Resource Planning) s’appuie sur un découpage spécifique.
15
LE MODELE RUP
Le modèle RUP (Rational Unified Process) est représentatif d’une approche combinant
plusieurs modèles. Sa structure fait l’objet d’un assez large accord, notamment parmi les praticiens
(figure 2.17). Il peut être lu de la façon suivante :
- Le cycle est constitué de quatre phases principales, que l’on retrouve globalement dans
toutes les approches descendantes: étude préalable (opportunité), conception de la solution
détaillée (élaboration), développement de la solution (construction) et mise en œuvre (transition).
- Il existe six types de tâches qui, au lieu d’être affectées exclusivement à une phase, se
retrouvent à des degrés divers dans chacune des phases.
Par exemple, l’étude des besoins peut apparaître jusqu’à la fin du projet, mais la plus grande
partie est effectuée dans les deux premières phases. L’implémentation (développement) a
principalement lieu dans la phase de construction, mais on peut réaliser un prototype dès la
première phase. Certaines tâches, comme la direction de projet, s’effectuent sur toute la durée du
projet.
- Certaines phases peuvent être menées de façon cyclique. Ainsi, l’élaboration se fait en
deux cycles, conduisant par exemple à la production de spécifications externes (vision utilisateur)
et spécifications techniques (vision développeur). La construction est itérative et incrémentale. De
plus, l’ensemble du modèle représente un tour de spirale, dans le cas d’une approche globale en
spirale.
16