Bruno Marhic – IUT Amiens / UPJV – PROMEO – 09/2022
INFAL7 - Méthodes AGILEs
1 Présentation du manifeste AGILE
1.1 Introduction
Le Manifeste Agile est un texte qui établit les valeurs et les principes Agile à partir du moment où
l’agilité a gagné en popularité
En ingénierie logicielle, les pratiques agiles mettent en avant la collaboration entre des équipes auto-
organisées et pluridisciplinaires et leurs clients.
Elles s'appuient sur l'utilisation d'un cadre méthodologique léger mais suffisant centré sur l'humain et
la communication.
Elles préconisent une planification adaptative, un développement évolutif, une livraison précoce et
une amélioration continue, et elles encouragent des réponses flexibles au changement.
AGILE va au-delà de l’utilisation de l’agilité dans l’industrie du développement de logiciels. En effet,
l’agilité s’est étendue à des environnements de développement non liés à l’informatique. Des secteurs
comme la production, l’éducation, la santé, entre autres, deviennent agiles à des degrés différents.
Cette utilisation en dehors de l’informatique est traitée dans le présent guide.
L’agilité est-elle une approche, une méthode, une pratique, une technique de travail ?
Une partie ou la totalité de ces termes peut s’appliquer selon les situations
Bruno Marhic – IUT Amiens / UPJV – PROMEO – 09/2022
1.2 Historique
Le Manifeste pour le développement agile de logiciels est un texte rédigé aux États-Unis en 2001 par
dix-sept experts du développement logiciels. Ils estimaient que le taux important d'échecs des projets
de développements logiciels était dû à la lourdeur des méthodes traditionnelles inspirées du génie civil
et s'appuyant sur un cycle de développement en cascade. Chacun d'entre eux avait déjà mis au point
et expérimenté de nouvelles méthodes plus légères. Les méthodes agiles ne sont donc pas apparues
avec le manifeste agile. Cependant celui-ci a défini leurs dénominateurs communs et consacré le terme
d'« agile » pour les référencer.
1.3 Ambition
Les techniques Agile permettent de se concentrer sur la hiérarchisation des priorités.
Aujourd’hui, les leaders et équipes projet se trouvent dans un environnement perturbé par les
évolutions exponentielles de la technologie et des exigences des clients qui souhaitent obtenir plus de
valeur plus rapidement.
Les techniques et approches Agile permettent de gérer efficacement les technologies disruptives. En
outre, le premier principe Agile place la satisfaction du client comme priorité absolue afin de livrer des
produits et des services qui répondent à ses attentes.
Les retours clients rapides et ouverts sont désormais facilement accessibles avec l’utilisation massive
des médias sociaux. Ainsi, pour rester compétitives, les organisations doivent se concentrer non plus
uniquement sur leurs activités internes, mais surtout sur l’expérience du client.
Exo = 30 mins
** Les 4 valeurs AGILE sont déclinées en 12 Principes
+ Ecrire les 12 principes
+ Donner des exemples (ou contre-exemples) de situation pour illustrer les 12 principes
++ les exemples sont fictifs ou réels
En règle générale, il existe deux stratégies pour respecter les valeurs et les principes Agile.
1 : La première consiste à adopter une approche Agile formelle, intentionnellement conçue et
éprouvée pour atteindre les résultats souhaités. Il convient ensuite de prendre le temps d’apprendre
et de comprendre les approches Agile avant de les modifier ou de les adapter. Une adaptation
prématurée et peu rigoureuse peut minimiser les effets de l’approche et en limiter les bénéfices.
2 : La seconde stratégie consiste à modifier les pratiques du projet de manière à adapter le contexte
du projet et à progresser par rapport à une valeur ou à un principe fondamental. Utilisez les timeboxes
(intervalles de durée fixe) afin de créer des fonctionnalités ou des techniques spécifiques pour les
améliorer de façon itérative. Pensez à diviser un grand projet en plusieurs releases, si le contexte du
projet le permet. Enfin, apportez des changements qui contribueront à la réussite du projet. Ces
changements peuvent être réalisés hors du cadre des pratiques formelles de l’organisation. L’objectif
Bruno Marhic – IUT Amiens / UPJV – PROMEO – 09/2022
final n’est pas d’être Agile en soi, mais d’offrir un flux constant de valeur aux clients et d’atteindre de
meilleurs résultats.
Exo = 15 mins
++ Expliquer le timebox dans un contexte AGILE
--- Donner un exemple de situation
1.4 Différentes méthodes AGILE
Les approches et méthodes Agile sont des termes génériques qui recouvrent plusieurs cadres de travail
et méthodes. La figure ci-dessous replace l’agilité dans son contexte et la considère comme un terme
général pour faire référence à un type d’approche, de technique, de cadre de travail, de méthode ou
de pratique qui respecte les valeurs et les principes du Manifeste Agile.
Elle présente également les méthodes Agile et Kanban en tant que sous-ensembles de la méthode
Lean. En effet, ce sont des instances de réflexion Lean qui partagent des concepts Lean, tels que : la «
focalisation sur la valeur », les « petits lots » et l’« élimination des gaspillages »
Lean
C’est dans les années 50 que le mouvement lean est apparu au Japon, aussi appelé le lean
manufactoring, parce qu’il a été largement utilisé dans l’industrie automobile.
Bruno Marhic – IUT Amiens / UPJV – PROMEO – 09/2022
À la fin du dernier millénaire, il a commencé à être utilisé dans le développement de logiciels et, en
2008, a évolué vers les célèbres 5 principes du Lean (au départ il y en avait 7), créés par Eric Reis, avec
l’objectif principal d’aider les startups à :
« Élaborer des produits et des services dans
un contexte d’extrême incertitude ».
Les 5 principes du lean sont les suivants :
- Les entrepreneurs sont partout
- Entrepreneuriat signifie gestion
- Validation de l’apprentissage
- Comptabilité pour l’innovation
- Construire – Mesurer- Apprendre
Le but de tout cela est de suivre un cycle dans lequel on fait passer de nombreux tests, de préférence
liés à l’avis des consommateurs et usagers, dans le but de réduire les risques de développer un produit
qui n’intéresse pas le marché. On peut alors parler de méthodologie en ce qui concerne le Lean, et
Kanban vient le complémenter en tant qu’outil.
Kanban
À la différence du Lean, Kanban est un système de planification, développé à l’origine pour le contrôle
du stock (toujours au Japon…), mais qui a été adapté afin d’empêcher que les efforts productifs d’une
équipe soient fournis en excès ou en insuffisance, assurant ainsi une réduction considérable des
gaspillages et des retards.
Actuellement, on suit 4 principes lors de l’utilisation d’un tableau kanban
- Travail visuel pour augmenter la communication et la collaboration
- Limitation des travaux en cours afin d’éviter une série de tâches non prioritaires
sans fin
- Mesurer et optimiser les flux de travail, collecter des données et prévoir les
problèmes futurs
- Viser l’amélioration continue comme le résultat de ces analyses
Ainsi, pour ne plus confondre Lean et Kanban,
nous pouvons conclure que :
Lean et Agile sont des méthodologies, des vraies philosophies de gestion, tandis que kanban est
un outil pouvant être utilisé pour ces deux premiers concepts.
En fait, Lean est une méthodologie qui englobe Agile et les deux se servent de Kanban en tant que
support.
Lean Kanban
Certains théoriciens viennent à considérer Lean Kanban comme une autre méthodologie spécifique,
appelée Tableau Lean Kanban, et peut être définie comme :
Bruno Marhic – IUT Amiens / UPJV – PROMEO – 09/2022
Méthodologie qui vise à éviter tant la sous-production comme la surproduction, en mettant en
évidence les problèmes et en définissant ce qui devrait être fait, sans avoir besoin de l’orientation des
cadres supérieurs ou de la planification du contrôle de production.
Exo = 45 mins
++ Faire un document de synthèses sur les éléments de la figure ci-dessus
1.5 Mise en Pratique – Mise en situation non-AGILE
TD1 3h – Méthode Cascade (pas AGILE !)
Expliquer le modèle en cascade
o Texte de 10 lignes
Faire un schéma de principe de ce modèle
Un client à besoin de mettre en place un service de tri des données (croissant) et souhaite
pouvoir comparer le temps d’exécution de 2 algorithmes de tris pour différentes tailles de
tableau de données
o Un tri doit être non récursif de complexité O(N2)
o Le client souhaite aussi un tri « Tri Rapide » (QuickSort)
Mettre en place les éléments (services) pour la réalisation de ce projet
o Schémas fonctionnels, et Arbre Hiérarchique Fonctionnel
o Faire un maquettage du produit fini (Application démo)
Mettre en place l’organisation de travail
o Qui fait quoi quand ?
… to be continued
Sources
- Wikipedia
- Guide AGILE : [Link]