Methodes Agiles

Télécharger au format docx, pdf ou txt
Télécharger au format docx, pdf ou txt
Vous êtes sur la page 1sur 14

Inter-State School Of Higher Education

PAUL BIYA TECHNOLOGICAL CENTRE OF EXCELLENCE


P.O Box 13 719 Yaounde (Cameroon) Tel. (237) 22 72 99 58
Web site: www.iaicameroun.com E-mail: [email protected]

METHODES AGILES

I. Généralités sur les méthodes agiles


1. Définition
Les méthodes agiles sont des moyens de gérer les projets informatiques de
manière à favoriser le dialogue entre toutes les parties prenantes (quelles sont les
différentes parties prenantes d’un projet ?). Il s'agit ici de rompre avec les
pratiques plus traditionnelles bien trop rigides et trop exigeantes en matière de
spécifications (contractuelles).
Pour les méthodes agiles, le client représente le cœur du projet et de ce fait,
ses attentes doivent être prises en considération à la lettre afin de réduire le taux
d’échec, car un produit réussi est celui qui correspond le mieux aux besoins du
client et pour cela, la communication claire sans intermédiaire reste la clé.
N.B : L’expression « méthode agile» est trompeuse car il ne s’agit pas d’un
ensemble de prescriptions qui déterminent des actions à effectuer pour le
développement logiciel mais plutôt d’un Framework ou cadre de travail qui
permet de mieux gérer un projet informatique.
2. Historique

C’est en 1991, que le terme agile prend son sens à travers JAMES MARTIN
qui s’appuie sur l’évolution continue des techniques informatiques pour créer
une méthode de développement rapide d’application (RAD) qui est la base des
approches agiles actuelles grâce à sa structure itérative, incrémentale (c’est
quoi ?) et adaptative. Puis au fil des années des méthodes comme EXTREME
PROGRAMMING, SCRUM ont vu le jour. Néanmoins c’est en 2001 que 17
1
Cours proposé et dispensé par Mme Belinga Estelle- Master en Sécurité des Systèmes
d’Informations
Année Académique 2022-2023
Inter-State School Of Higher Education
PAUL BIYA TECHNOLOGICAL CENTRE OF EXCELLENCE
P.O Box 13 719 Yaounde (Cameroon) Tel. (237) 22 72 99 58
Web site: www.iaicameroun.com E-mail: [email protected]

professionnels du développement logiciel parmi lesquels : WARD


CUNNINGHAM (wiki), KENT BECK (Extreme programming), KEN
SCHWABER (SCRUM) etc. se réunissent pour mettre en place de bonnes
pratiques et rédigent alors le manifeste agile qui décrit la philosophie de cette
nouvelle et adopteront ainsi les points suivants :

1. la satisfaction client, la grande priorité ;


2. une ouverture aux demandes et aux changements, qui donnent de la valeur au
projet ;
3. des livraisons fréquentes reposant sur des cycles courts ;
4. une coopération étroite, voire la co-construction, avec les utilisateurs ;
5. un cadre de travail motivant qui favorise l’autonomie des parties prenantes ;
6. les communications en face à face sont privilégiées, car plus riches et plus
efficaces ;
7. des livraisons d’éléments opérationnels uniquement
8. un rythme soutenable et constant adapté aux acteurs du projet ;
9. une qualité technique de l’équipe pour s’adapter en permanence ;
10. de la simplicité, en allant à l’essentiel et en minimisant tout travail inutile ;
11. une équipe autonome, qui s’organise elle-même pour une meilleure
performance ;
12. une adaptation régulière des méthodes, processus et outils, pour gagner en
efficacité.

3. Principe
Les méthodes agiles reposent essentiellement sur le manifeste agile qui
préconisent la fixation d’objectifs à court terme en prenant en compte le
réajustement si nécessaire afin de satisfaire le client. Les méthodes agiles
mettent l’accent sur le renforcement des relations entre l’équipe et le client.
2
Cours proposé et dispensé par Mme Belinga Estelle- Master en Sécurité des Systèmes
d’Informations
Année Académique 2022-2023
Inter-State School Of Higher Education
PAUL BIYA TECHNOLOGICAL CENTRE OF EXCELLENCE
P.O Box 13 719 Yaounde (Cameroon) Tel. (237) 22 72 99 58
Web site: www.iaicameroun.com E-mail: [email protected]

N.B : Il faut bien choisir les projets sujets aux méthodes agiles et ne les
entreprendre qu’à deux conditions :

1. Le client maîtrise son besoin, est briefé sur les capacités et les limites des
méthodes agiles et prévoit une très grande disponibilité.

2. L'équipe est suffisamment chevronnée et qualifiée (pas plus de 9


personnes, les développeurs full stack sont les plus sollicités ) pour
suivre la métrique, respecter les contraintes de délais, de budget et surtout
de qualité du produit final.
Il ne s'agit pas de se laisser dominer par un client qui maîtrise mal son besoin et
de perdre le fil de son projet.
4. Quelques méthodes agiles
4.1 Kanban
L’origine de Kanban remonte à l’année 1947 et c’est l’entreprise Toyota
au Japon qui en fut le précurseur avant de passer la main à Microsoft quelques
années après. Kanban qui en japonais signifie « carte de signalisation » ou
etiquette est un Framework qui repose sur un travail effectué en toute
transparence et une communication en temps réel de la capacité où chaque tâche
est représentée sous la forme d’une carte distincte sur le tableau (tableau
kanban) permettant aux équipes de suivre la progression et le flux de travail. Ce
tableau est généralement divisé en 3 parties : A faire, En cours et Réalisé mais la
définition de ces parties peut être revue en fonction de l’équipe ( A développer,
En cours de développement, phase de test…). Kanban ne convient pas à tous les
secteurs, car pour un projet ne comportant pas de taches chronologiques à
effectuer (car les taches sont effectuées les unes à la suite des autres), la
méthode ne convient pas.
3
Cours proposé et dispensé par Mme Belinga Estelle- Master en Sécurité des Systèmes
d’Informations
Année Académique 2022-2023
Inter-State School Of Higher Education
PAUL BIYA TECHNOLOGICAL CENTRE OF EXCELLENCE
P.O Box 13 719 Yaounde (Cameroon) Tel. (237) 22 72 99 58
Web site: www.iaicameroun.com E-mail: [email protected]

Devoir : avantages et inconvénients de kanban

4.2 Extreme Programming


En abrégé XP, cette méthode a été créé dans les années 90 par Kent Beck, c’est
un cadre de développement logiciel qui repose sur des valeurs (communication,
simplicité, feedback, courage et respect), des principes (orientations sur les valeurs
afin de les éclairer) et des pratiques (ensemble de règles et de méthodes). Son objectif
est la production de logiciels de qualité qui s’adaptent aux exigences du client. Sa
particularité est qu’elle met l’accent sur les aspects techniques du développement car
l’une de ses pratiques est de favoriser la programmation en binôme.
Devoir : avantages et inconvénients de XP
4.3 RAD
En appelé Rapid Application Development (Developpement rapide
d’applications), le RAD est une méthode qui a été lancée par James Martin en 1991
qui base le développement d’applications sur des itérations et approbations fréquentes
avec des commentaires continus des clients. Elle met l’accent sur la conception des
prototypes agiles et rapides, la convivialité du logiciel, les commentaires des

4
Cours proposé et dispensé par Mme Belinga Estelle- Master en Sécurité des Systèmes
d’Informations
Année Académique 2022-2023
Inter-State School Of Higher Education
PAUL BIYA TECHNOLOGICAL CENTRE OF EXCELLENCE
P.O Box 13 719 Yaounde (Cameroon) Tel. (237) 22 72 99 58
Web site: www.iaicameroun.com E-mail: [email protected]

utilisateurs et une livraison rapide du logiciel (90 min et 120 jours maxi). RAD
découpe le projet en 4 principales phases :
- La phase de définition des besoins : Elle se matérialise par des sessions de
travail appelées JRP (Joint Requirements Planning) ou définition conjointe des
besoins. Cette phase définie l’organisation, le périmètre et le plan de
communication. Elle va permettre d’analyser et de définir l’ensemble des
exigences du système et ainsi se fixer les différents objectifs, les moyens pour
les atteindre et les solutions de mise en œuvre.
- La phase de conception utilisateur (user design) : Une fois le périmètre définit,
il faut élaborer le design utilisateur, c’est la phase pendant laquelle le client
travaille avec les développeurs pour s’assurer que leurs besoins sont satisfaits
au travers d’itérations d’un prototype. Cette méthode donne aux développeurs
la possibilité de modifier le modèle jusqu’à parvenir à un design satisfaisant.

N.B : Ces différentes phases peuvent dans une large mesure être parallélisées.
- La phase de construction : Cette phase concerne l’écriture du code et les tests
(citer les différents types de tests).
- La phase de finalisation :Elle comprend le produit final dont les modifications
finales ont été déployées ainsi que la formation des utilisateurs.

(En gros, la méthode RAD est implémentée par plusieurs outils appelés outils de nouvelles
générations notamment Delphi (ainsi que le Visual Basic) est un outil RAD en ce sens qu'il
permet assez facilement de créer des programmes à l'aide d'une interface graphique dotée de
nombreux outils et de modules prêts à l'emploi. WinDev (ainsi que WebDev) est un outil
RAD plus avancé car il permet à partir d'une analyse Merise ou UML de produire un
applicatif final et opérationnel.)

Devoir : Avantages et inconvénients de la méthode RAD.

5
Cours proposé et dispensé par Mme Belinga Estelle- Master en Sécurité des Systèmes
d’Informations
Année Académique 2022-2023
Inter-State School Of Higher Education
PAUL BIYA TECHNOLOGICAL CENTRE OF EXCELLENCE
P.O Box 13 719 Yaounde (Cameroon) Tel. (237) 22 72 99 58
Web site: www.iaicameroun.com E-mail: [email protected]

5. Gestion de projet agile Vs Gestion de projet traditionnel


La gestion de projet traditionnelle est une méthodologie établie où les projets sont menés
selon un cycle séquentiel et basés sur le modèle en cascade: (chaque phase doit être terminée
avant d’entamer la prochaine :expression des besoins, après analyse, ensuite conception,
ensuite codage ….).
Chaque méthodologie de gestion de projet a son propre ensemble d’avantages et
d’inconvénients :
Avantages de la gestion traditionnelle :
 Facile à comprendre et à utiliser
 Le temps et le budget sont des variables fixes
 Idéale pour des projets avec des exigences bien définies
 Le chef de projet a une vue d’ensemble claire du projet
 Une documentation détaillée est disponible
Avantages de la gestion agile:
 Idéal pour les projets complexes
 Très flexible et peut facilement s’adapter aux changements
 Satisfaction accrue du client
 Plus de transparence et de communication entre les membres de l’équipe et le client
 Collaboration accrue entre les membres de l’équipe
 Plus de contrôle sur le projet
Inconvénients de la gestion traditionnelle :
 Ne convient pas aux projets complexes
 Pas flexible et ne peut pas s’adapter facilement aux changements
 Ne convient pas aux projets dont les exigences évoluent rapidement
 Les membres de l’équipe peuvent se sentir contrôlés
Inconvénients de la gestion agile :
 Le client doit être d’une extrême disponibilité
6
Cours proposé et dispensé par Mme Belinga Estelle- Master en Sécurité des Systèmes
d’Informations
Année Académique 2022-2023
Inter-State School Of Higher Education
PAUL BIYA TECHNOLOGICAL CENTRE OF EXCELLENCE
P.O Box 13 719 Yaounde (Cameroon) Tel. (237) 22 72 99 58
Web site: www.iaicameroun.com E-mail: [email protected]

 Possible incompréhension du concept d’agilité par le client


 Exige un haut niveau de discipline de la part des membres de l’équipe
 Ne convient pas aux petits projets avec des exigences bien définies
 Difficile de prévoir le cout, le délais et les ressources nécessaires
 L’équipe de développement doit être assez chevronnée

II. La méthode agile SCRUM


1. Définition
Scrum est une démarche de gestion de projet qui se base sur le manifeste agile. Scrum
qui signifie « mêlée » tire son origine du rugby dont le principe s’appuie sur une équipe
toujours prête et soudée pour avancer dans la même direction. Scrum est devenue aujourd’hui
l’une des méthodes agiles les plus utilisées dans le monde, faisant du client le centre du projet.
Dire de Scrum qu’elle est une méthode (c’est quoi une méthode ?) serait un abus de langage
car elle ne dit pas comment concevoir un logiciel, elle se contente juste d’offrir un cadre de
gestion de projet agile : un rythme itératif, des réunions régulieres, des artefacts (Product
backlog, sprint…) et des règles (afin de guider l’équipe).
En résumé, on peut définir SCRUM comme un cadre de travail permettant de répondre
à des problèmes complexes en trouvant des solutions adaptatives satisfaisant les besoins du
client.
2. Principe

Scrum privilégie l’implication et la participation active du client tout au long du projet,


l’acceptation du changement et la livraison rapide de produits opérationnels. De par sa
démarche, Scrum met en avant les principes suivants :

 L’autonomie et l’auto-organisation de l’équipe

 La collaboration

 La hiérarchisation ou priorisation des taches

7
Cours proposé et dispensé par Mme Belinga Estelle- Master en Sécurité des Systèmes
d’Informations
Année Académique 2022-2023
Inter-State School Of Higher Education
PAUL BIYA TECHNOLOGICAL CENTRE OF EXCELLENCE
P.O Box 13 719 Yaounde (Cameroon) Tel. (237) 22 72 99 58
Web site: www.iaicameroun.com E-mail: [email protected]

 Les dates fréquentes de livraison

 Le développement itératif

Son objectif est donc d’améliorer la productivité des équipes, tout en permettant une
optimisation du produit grâce à des feedbacks réguliers. La réussite de SCRUM dépend du
fait que les personnes qui l’utilisent deviennent plus compétents à travers les 5 valeurs
suivantes : l’engagement( Chacun s’engage personnellement à atteindre les objectifs et se
dédier au succès de l’équipe), la concentration (se concentrer sur le travail et sur les objectifs
fixés), l’ouverture (accepter d’être ouvert sur le travail et les défis liés à l’exécution du
travail), le respect ( respect mutuel entre les membres de l’équipe) et le courage (prêt à
affronter des problèmes difficiles, également admettre que telle fonctionnalité ne pourra pas
se faire).

3. Les acteurs Scrum


Scrum définit 3 rôles qui sont complémentaires et il est important de bien comprendre
les responsabilités de chacun :
- Le Product Owner : Il est le relais entre la partie métier (le client) et la partie
technique du projet (l’équipe de développement), c’est également un membre
de l’équipe à part entière car il est responsable de la rédaction des user stories
et chargé de maintenir le Product backlog à jour. Voici quelques une des taches
du Product Owner :
 Il définit l’orientation du produit en définissant les exigences, en gros il
est le garant de la vision du projet
 Il valide ou rejette les fonctionnalités développées
 Il les priorise en prenant en compte les contraintes techniques de
l’équipe et les différents objectifs fixés par le projet
 S’assure que le Product backlog est transparent, visible, à jour et
compris par tous.
N.B :

8
Cours proposé et dispensé par Mme Belinga Estelle- Master en Sécurité des Systèmes
d’Informations
Année Académique 2022-2023
Inter-State School Of Higher Education
PAUL BIYA TECHNOLOGICAL CENTRE OF EXCELLENCE
P.O Box 13 719 Yaounde (Cameroon) Tel. (237) 22 72 99 58
Web site: www.iaicameroun.com E-mail: [email protected]

 Le propriétaire du produit peut effectuer ce rôle ou peut en déléguer la


responsabilité à d’autres en s’assurant que celui- ait exactement maitrise les
exigences du projet de fond en comble.
 Le Product Owner est une personne pas un comité
 Si l’équipe de développement veut proposer ou modifier des fonctionnalités, le
Product Owner doit donner son accord.
 Le Product Owner doit être au courant des dates de livraison des user stories, et
se charge de les valider.

- Le Scrum Master : Il est nommé pour faire comprendre et respecter la


méthodologie SCRUM (il doit se rassurer que lui-même maitrise le concept ).
De ce fait, il joue le rôle de coach à la fois au près du Product Owner et de
l’équipe de développement. Voici quelques-unes des taches du scrum master :

 Il s’assure que les principes et les valeurs de Scrum sont


respectés d’une part par le Product Owner, d’autre part par
l’équipe

 Il vérifie que la communication entre les membres de l’équipe


est au top

 Il améliore la productivité et l’efficacité de l’équipe en


provoquant la suppression des obstacles (comment ?)

 Il répond aux besoins du Product Owner en l’aidant à mieux


comprendre et à gérer efficacement le Product backlog, il l’aide
également dans la planification du travail avec l’équipe

 Il est en charge du pilotage des évènements scrum :


planification, Daily meeting, sprint review et sprint
retrospective

9
Cours proposé et dispensé par Mme Belinga Estelle- Master en Sécurité des Systèmes
d’Informations
Année Académique 2022-2023
Inter-State School Of Higher Education
PAUL BIYA TECHNOLOGICAL CENTRE OF EXCELLENCE
P.O Box 13 719 Yaounde (Cameroon) Tel. (237) 22 72 99 58
Web site: www.iaicameroun.com E-mail: [email protected]

 Il s’assure de l’actualisation du Burndown chart

N.B :

- Le scrum master ne doit pas être celui qui commande ou qui contrôle l’équipe de
développement

- Le salaire d’un scrum master est plus élevé que celui d’un chef de projet car celui-ci
combine à la fois les aptitudes de chef de projet à celles de coach et d’animateur
d’équipe

- L’équipe de développement : Elle est chargée de transformer les


besoins exprimés par le Product Owner en fonctionnalités utilisables. Elle est
pluridisciplinaire et constituée de professionnels : développeurs, DBA, analystes, designers,
ingénieurs systèmes, testeurs etc. qui vont livrer à chaque sprint un incrément terminé. Voici
les responsabilités qui incombent à l’équipe de développement :

 Connaitre et comprendre le Framework scrum

 Comprendre les exigences spécifiées par le Product Owner

 Estimer les user stories

 Atteindre les objectifs définis pour chaque sprint

 Assister aux Daily scrum

 Valider les user stories à faire dans le sprint et développer la liste des taches en
fonction de celle-ci

 Signaler au scrum Master les éventuels obstacles s’opposant à l’avancement du projet

 Convenir de la durée de chaque sprint

10
Cours proposé et dispensé par Mme Belinga Estelle- Master en Sécurité des Systèmes
d’Informations
Année Académique 2022-2023
Inter-State School Of Higher Education
PAUL BIYA TECHNOLOGICAL CENTRE OF EXCELLENCE
P.O Box 13 719 Yaounde (Cameroon) Tel. (237) 22 72 99 58
Web site: www.iaicameroun.com E-mail: [email protected]

 Participer aux sprints review et aux sprints rétrospectives

 Développer le produit

 Se tenir mutuellement responsables en tant que professionnels

N.B :

- Idéalement une équipe de développement scrum ne devrait pas dépasser 9 personnes

- Chaque membre de l’équipe doit avoir des connaissances et des compétences techniques
(analyse, codage, sécurité, tests etc..)

- Chaque membre de l’équipe doit être motivé, autoorganisé, proactif, responsable, axé
sur le résultat

- Dans un projet agile toute personne qui n’est ni Product Owner, ni scrum master fait
partie de l’équipe de développement

4. Les Piliers de Scrum


Scrum s’appuie autour de 3 piliers qui visent à faciliter la mise en œuvre d’un projet. Ces
piliers sont : la transparence, l’inspection et l’adaptation.
 La Transparence : Pour mieux vérifier l’avancée et la progression d’un projet,
il faudrait que celui-ci soit visible par tous les membres de l’équipe et que
ceux-ci bénéficient de toutes les informations nécessaires à la compréhension
du projet. Les artefacts peu transparents peuvent conduire à des décisions qui
diminuent la valeur et augmentent les risques Le Scrum Master a pour tâche de
s’assurer que l’équipe travaille de manière transparente.

 Les artefacts peu transparents peuvent conduire à des décisions qui diminuent la valeur et
augmentent les risques.

11
Cours proposé et dispensé par Mme Belinga Estelle- Master en Sécurité des Systèmes
d’Informations
Année Académique 2022-2023
Inter-State School Of Higher Education
PAUL BIYA TECHNOLOGICAL CENTRE OF EXCELLENCE
P.O Box 13 719 Yaounde (Cameroon) Tel. (237) 22 72 99 58
Web site: www.iaicameroun.com E-mail: [email protected]

 l’inspection : des évaluations régulières


sont indispensables pour réadapter le projet
si nécessaire ;
 l’adaptation : la mise en œuvre de
nouvelles mesures est nécessaire lorsqu’une
inspection démontre des écarts sur les
résultats mesurés.

 L'inspection. Elle a pour but de vérifier, via des évaluations régulières, que le


développement est toujours en phase avec les demandes du client et qu'il ne dévie pas par
rapport à ces dernières.
 L'adaptation. Un concept qui porte bien son nom. Son objectif ? Corriger la trajectoire
du projet si des écarts avec les résultats à atteindre sont détectés lors de la phase
d'inspection.
 Scrum utilise une approche itérative et incrémentale pour optimiser la prévisibilité et contrôler les
risques. Scrum engage des groupes de personnes qui ont collectivement toutes les compétences et
l'expertise pour faire le travail et partager ou acquérir ces compétences selon les besoins.
 Scrum combine quatre événements formels pour l'inspection et l'adaptation dans un événement
conteneur, le Sprint. Ces événements fonctionnent parce qu'ils mettent en œuvre les piliers
empiriques de Scrum que sont la transparence, l'inspection et l'adaptation.

 Transparence
 Le processus et le travail émergents doivent être visibles pour ceux qui exécutent le travail ainsi
que pour ceux qui reçoivent le travail. Avec Scrum, les décisions importantes sont basées sur l'état
perçu de ses trois artefacts formels. 
 La transparence permet l'inspection. L'inspection sans transparence est trompeuse et inutile.
 Transparence : pour inspecter et adapter efficacement, il est important que les
bonnes personnes puissent voir ce qui se passe. Mais c'est en fait beaucoup
plus difficile qu'il n'y paraît. Le Scrum Master a pour tâche de s'assurer que
l'équipe Scrum travaille de manière transparente. Il peut, par exemple, créer
des cartographies de stories et mettre à jour les pages Confluence avec les
idées de la rétrospective.

 Inspection
 Les artefacts Scrum et la progression vers les objectifs convenus doivent être inspectés
fréquemment et avec diligence pour détecter des écarts ou des problèmes potentiellement
indésirables. Pour aider à l'inspection, Scrum fournit une cadence sous la forme de ses cinq
événements.
 L'inspection permet l'adaptation. L'inspection sans adaptation est considérée comme inutile. Les
événements Scrum sont conçus pour provoquer le changement.

12
Cours proposé et dispensé par Mme Belinga Estelle- Master en Sécurité des Systèmes
d’Informations
Année Académique 2022-2023
Inter-State School Of Higher Education
PAUL BIYA TECHNOLOGICAL CENTRE OF EXCELLENCE
P.O Box 13 719 Yaounde (Cameroon) Tel. (237) 22 72 99 58
Web site: www.iaicameroun.com E-mail: [email protected]

 Adaptation
 Si des aspects d'un processus s'écartent des limites acceptables ou si le produit résultant est
inacceptable, le processus appliqué ou les matériaux produits doivent être ajustés. Le réglage doit
être effectué dès que possible afin de minimiser tout écart supplémentaire.
 L'adaptation devient plus difficile lorsque les personnes impliquées ne sont pas responsabilisées ou
autogérées. Une équipe Scrum est censée s'adapter au moment où elle apprend quelque chose de
nouveau grâce à l'inspection.

5. Les évènements Scrum


- Revue du backlog
- Sprint planning
- Daily scrum

 Qu’est-ce que j’ai fait hier ?


 Qu’est-ce que je vais faire aujourd’hui ?
 Quels obstacles ai-je rencontré ?
 L’objectif : que chacun soit transparent sur ses avancées et que les problèmes
rencontrés soient résolus plus rapidement.

- sprint review
- Sprint retrospective
6. Les artefacts agile
- Product backlog
-Burndown chart
- Increment
- Done
7. Les Avantages de Scrum
8. Scrum Vs Les autres méthodes agiles

13
Cours proposé et dispensé par Mme Belinga Estelle- Master en Sécurité des Systèmes
d’Informations
Année Académique 2022-2023
Inter-State School Of Higher Education
PAUL BIYA TECHNOLOGICAL CENTRE OF EXCELLENCE
P.O Box 13 719 Yaounde (Cameroon) Tel. (237) 22 72 99 58
Web site: www.iaicameroun.com E-mail: [email protected]

14
Cours proposé et dispensé par Mme Belinga Estelle- Master en Sécurité des Systèmes
d’Informations
Année Académique 2022-2023

Vous aimerez peut-être aussi