27/09/2024
CH2 : Introduction
aux méthodes agiles
Mme Najla Allouche
[Link]@[Link]
Tek-Up University
Septembre 2023
37
Génie Logiciel : le constat
Années 2000, un postulat : le cycle de développement
traditionnel des logiciels ne correspond plus aux
contraintes et aux exigences du marché.
Entre le moment où le besoin est exprimé et le moment
où le logiciel est délivré il peut se passer plusieurs mois.
Les utilisateurs ne savent vraiment ce qu’ils veulent
qu’après avoir vu une première version de l’application
• Agile : origine USA, en 2001, 17 consultants, sur la
production de logiciels, 20 ans déjà !
38
38
1
27/09/2024
Faiblesses des méthodes classiques
39
39
Pour vous c’est quoi, être agile ?
Un effet de mode ?
40
40
2
27/09/2024
C’est quoi, être agile ?
Plusieurs réponses possibles, suivant le prisme choisi, la
plupart complémentaires :
Agilité
Bien-être et valeurs
…(Autonomie, responsabilité, sens, bien-être au travail)
…
Faire les bonnes choses
(satisfaction client)
…
Faire les choses efficacement
(productivité)
41
41
C’est quoi l’agilité ?
Jim Highsmith (un des signataires du Manifeste Agile)
« L’agilité est la capacité à favoriser le changement et à y répondre en vue de
s’adapter au mieux à un environnement turbulent. »
Et encore
« L’agilité est une combinaison
de flexibilité, pour les changements
attendus, et d’adaptabilité,
pour les changements inattendus. »
42
42
3
27/09/2024
L’agilité : les Objectifs
Trouver un compromis entre le minimum de méthode
permettant de mener à bien les projets, tout en restant
adaptable et créatif
Accepter le changement des besoins et être capable d’y
répondre de façon rapide et souple
Privilégier le code plutôt que la documentation
43
43
44
L’agilité : les moyens ?
Utiliser un développement itératif et incrémental
Découper le besoin et prioriser
Découper la réalisation
Livrer fréquemment des incréments de produit
Accepter les changements
Contrôler régulièrement l’avancement avec les
parties prenantes
L’accent devrait être mis sur POURQUOI
nous faisons quelque chose.
Edwards Deming
44
4
27/09/2024
DEF Partie prenante
C’est une personne qui est intéressée d’une façon ou
d’une autre, par le produit réalisé par l'équipe :
Les utilisateurs, les clients, des
représentants des utilisateurs
Mais aussi des sponsors, des gens du
marketing ou du commerce
Aussi les managers, des personnes
impliquées dans l’infrastructure, dans la
qualité, le service des membres d'autres
équipes, etc.
Ce sont les interlocuteurs privilégiés du Product Owner 45
45
Le « Manifeste Agile » 2001 : 4 valeurs de
l’Agilité
(Privilégier les éléments de gauche
bien que ceux de droite aient une certaine valeur)
Individus et interactions Procédures et outils
Un logiciel fonctionnel Documentation exhaustive
Collaboration avec le client Négociation du contrat
Adaptation au changement Exécution d'un plan
46
46
5
27/09/2024
L’agilité : les principes
Satisfaction
Client
Les
individus
Excellence Amélioration
Technique Continue
47
47
Satisfaction client
1. Notre plus haute priorité est de satisfaire le client en livrant rapidement
et régulièrement des fonctionnalités à grande valeur ajoutée.
Business value
2. Accueillez positivement les changements de besoins, même tard dans
le projet. Les processus Agiles exploitent le changement pour donner un
avantage compétitif au client.
s’engager seulement sur ce qui est clair et estimable.
3. Livrez fréquemment un logiciel opérationnel avec des cycles de
quelques semaines à quelques mois et une préférence pour les plus
courts. Travailler séquentiellement
48
48
6
27/09/2024
Les individus
1. Les utilisateurs ou leurs représentants et les développeurs doivent
travailler ensemble quotidiennement tout au long du projet.
2. La méthode la plus simple et la plus efficace pour transmettre de
l’information à l'équipe de développement et à l’intérieur de celle-ci est le
dialogue en face à face.
49
49
Les individus
3. Réalisez les projets avec des personnes motivées. Fournissez-leur
l’environnement et le soutien dont ils ont besoin et faites-leur
confiance pour atteindre les objectifs fixés.
4. Les meilleures architectures, spécifications et conceptions émergent
d'équipes auto-organisées.
5. Les processus Agiles encouragent un rythme de développement
soutenable. Ensemble, les commanditaires, les développeurs et les
utilisateurs devraient être capables de maintenir indéfiniment un
rythme constant.
50
50
7
27/09/2024
Excellence Technique
1. La simplicité – c’est-à-dire l’art de minimiser la quantité de travail
inutile – est essentielle.
2. Un logiciel opérationnel est la principale mesure d’avancement.
3. Une attention continue à l'excellence technique et à une bonne
conception renforce l’Agilité.
51
51
Amélioration continue
1. À intervalles réguliers, l'équipe réfléchit aux moyens de devenir plus
efficace, puis règle et modifie son comportement en conséquence.
52
52
8
27/09/2024
L’agilité vous invite à jouer !!!!
53
53
Agile Game n°1
Chaise Non Musicales
54
54
9
27/09/2024
Agile Game n° 2
Penny Game
55
55
Comparatif
Approche classique Approche Agile
Périmètre (CDC) Calendrier Coût Contraintes fixes
dirigé
par la
VALEUR
dirigé
par le
PLAN
Calendrier Coût Périmètre (CDC) Contraintes variables
56
56
10
27/09/2024
L’agilité en 2 slides (1/2)
En développement classique, phases
séquentielles
Expression des besoins
Conception
10% du
développement
Développement
achevé
Tests, recette & debugging
À mi parcours, le client ne voit statistiquement
que 10% de son application
57
57
En développement agile : itérations (2/2)
Backlog, user stories Expression de besoins
Codage, refactoring Conception
TDD, acceptance Développeme nt
Demos, reviews Tests, recette & debuggage
i1 i2 i3 i4 i5 in
À chaque itération, on a un incrément de produit 100% fonctionnel
À mi parcours, on a ~80% des fonctionnalités du logiciel 58
58
11
27/09/2024
Facteurs de succès des méth. agiles
Le client / l’utilisateur (ou son représentant) est impliqué
quotidiennement
Le management intermédiaire soutient l’équipe
L’équipe est auto-organisée
Les pratiques sont adaptées au mode incrémental
Des tests automatisés : rejoués souvent
Code compréhensible car va être sans doute modifié
Code collectif
59
59
Principaux freins à l’agilité
Résistance au changement
Parfois on a de belles paroles, de beaux discours sur Scrum...
Et en final les comportements, les structures et les processus
restent inchangés
Ex.: virage râté de la MACIF vers l’agilité en 2012
[Link]
• Son éditeur, qu’elle attaquait en justice, a reçu 1,45M€ en final après
jugement en 2016
Un manque de lâcher-prise du management
Accepter de faire confiance à l’équipe
60
60
12
27/09/2024
Taux de réussite Source : the Standish Group,
« Chaos Report 2015 »
Approche Traditionnelle
11%
Approche Agile
29% Succès
60% Echec 39%
Mitigé
Succès
52%
Echec
9% Mitigé
3x plus de projets réussis
3x moins d’échecs
61
61
Profils des projets Agile vs. Classique
62
62
13
27/09/2024
Bénéfices des Méth Agiles
1. Bien gérer les changements de priorité dans les besoins
des utilisateurs (71%)
2. Avoir une bonne visibilité des projets
3. Mieux aligner les attentes du Métier et de la DSI (65%)
4. Accélérer la livraison des logiciels et leur mise sur le marché
(62%)
5. Accroître la productivité des équipes (61%)
Source : VersionOne, rapport annuel 2017
(1492 réponses, 55% USA, 27% EU, 56% de SCRUM) 63
63
Considérer l’organisation dans
sa globalité
Accepter le collectif
64
64
14
27/09/2024
La puissance de l’équipe
65
65
Je retiens :
Constat d’échec des approches classiques
Les objectifs des Méthodes Agiles
Les moyens proposés
Les 4 valeurs des Méthodes Agiles
Le taux réussite par rapport aux approches classiques
Comprendre les schémas des profils Agile vs. Classique
66
66
15