Vous êtes sur la page 1sur 26

COURS IGL

Cycles de vie
de logiciels
Section 4 : Méthodologies
Agiles

56

Cours IGL, Copyright © 2011, ESI


Cours 2 – Cycle de vie de SECTION 4 –
logiciels MÉTHODES AGILES

Apparition

 Au milieu des années 90, un groupe d’expert en Cycles de


vie de logiciels voulaient proposer de nouveaux modèles

Cours IGL, Copyright © 2011, ESI


 Les nouveaux modèles sont plus « légers » : moins de
documentation et moins de contrôle sur le procédé
 Ces modèles s’adresse à des projets de petite ou moyenne
taille avec une équipe réduite
 Ces modèles permettent de s’ajuster rapidement aux
changements des spécifications tout en garantissant des
livraisons fréquentes
 Ces modèles sont qualifiés de « modèles agiles »

57
Cours 2 – Cycle de vie de SECTION 4 –
logiciels MÉTHODES AGILES

Principes agiles

Individus et Logiciel
interactions au fonctionnel au lieu

Cours IGL, Copyright © 2011, ESI


lieu de processus de documentation
et outils massive

Collaboration du Réagir au
client au lieu de changements au
négociation de lieu de suivre le
contrats plan
58
Cours 2 – Cycle de vie de SECTION 4 –
logiciels MÉTHODES AGILES

Principes

INDIVIDUS ET INTERACTIONS AU LIEU DE PROCESSUS ET


OUTILS

Cours IGL, Copyright © 2011, ESI


 Les collaborateurs sont la clé du succès
 Les « seniors » échoueront s’ils ne collaborent pas en tant
qu’équipe
 Un bon collaborateur n’est pas un forcément un bon
programmeur. C’est quelqu’un qui travaille bien en équipe
 Une surabondance d’outils est aussi mauvaise que le manque
d’outils
 Démarrer petit et investir peu au démarrage
 Construire l’équipe c’est plus important que construire
l’environnement

59
Cours 2 – Cycle de vie de SECTION 4 –
logiciels MÉTHODES AGILES

Principes

LOGICIEL FONCTIONNEL AU LIEU DE DOCUMENTATION


MASSIVE

Cours IGL, Copyright © 2011, ESI


 Un code sans documentation est un désastre
 Trop de documents est pire que pas de documents
 Difficulté à produire et à synchroniser avec le code
 Souvent les documents sont des « mensonges » formels
 Le code ne ment jamais sur lui-même
 Produire toujours des documents aussi courts que
possible

60
Cours 2 – Cycle de vie de SECTION 4 –
logiciels MÉTHODES AGILES

Principes

COLLABORATION DU CLIENT AU LIEU DE LA


NÉGOCIATION DE CONTRATS

Cours IGL, Copyright © 2011, ESI


 Très difficile de décrire la totalité du logiciel depuis le
début
 Les projets réussis impliquent les clients d’une manière
fréquente et régulière
 Le client doit avoir un contact direct avec l’équipe de
développement

61
Cours 2 – Cycle de vie de SECTION 4 –
logiciels MÉTHODES AGILES

Principes

RÉAGIR AUX CHANGEMENTS AU LIEU DE SUIVRE UN PLAN


 Un logiciel ne peut pas être planifié très loin dans le futur

Cours IGL, Copyright © 2011, ESI


 Tout change : technologie, environnement et surtout les
besoins
 Les chefs de projets classiques fonctionnent sur la base de
GANTT, PERT et le système de tâches
 Avec le temps, les diagrammes se dégradent car des tâches
s’ajoutent et d’autres deviennent non nécessaires
 Une meilleure stratégie est de planifier très court (02
semaines à 01 mois)
 Plannings détaillés pour la semaine à venir, rigoureux pour les
trois mois et très vagues au-delà

62
Cours 2 – Cycle de vie de SECTION 4 –
logiciels MÉTHODES AGILES

Principes

LES DOUZE PRINCIPES AGILES


1. Toujours satisfaire le client à travers des livraisons rapides

Cours IGL, Copyright © 2011, ESI


et continues
2. Bien accueillir tous les changements même les tardifs
3. Livrer fréquemment un système fonctionnel
4. Les clients et les développeurs doivent collaborer
5. Conduire le projet autour d’équipes motivées
6. La meilleure méthode de faire circuler l’information c’est le
contact direct entre collaborateurs
7. La première mesure d’avancement c’est un logiciel
fonctionnel

63
Cours 2 – Cycle de vie de SECTION 4 –
logiciels MÉTHODES AGILES

Principes

LES DOUZE PRINCIPES AGILES


8. Le développement doit être durable et à un rythme constant

Cours IGL, Copyright © 2011, ESI


9. La bonne conception et l’excellence technique augmentent
l’agilité
10. Simplifier au maximum
11. Les meilleurs architectures, besoins et conceptions
proviennent d’équipes qui s’organisent d’elles-mêmes
12. L’équipe s’améliore d’une manière autonome et régulière

64
Cours 2 – Cycle de vie de SECTION 4 –
logiciels MÉTHODES AGILES

Principales méthodologies agiles

Adaptive
Feature Driven
Software
Development Crystal Clear

Cours IGL, Copyright © 2011, ESI


Development
(FDD)
(ASD)

Dynamic
Rapid Application
Software
Development Scrum
Development
(RAD)
Method (DSDM)

Extreme
Programming
(XP)

65
Cours 2 – Cycle de vie de SECTION 4 –
logiciels MÉTHODES AGILES

Méthodologie XP

 eXtreme Programming
 Créée en 1995 Kent Beck and Ward Cunningham

Cours IGL, Copyright © 2011, ESI


 XP est un moyen léger, efficace, à bas risques, flexible,
scientifique et amusant de développer des logiciels
 Destinée à des équipes de moyenne taille avec des
spécifications incomplets et / ou vagues
 Le codage est le noyau de XP

66
Cours 2 – Cycle de vie de SECTION 4 –
logiciels MÉTHODES AGILES

Méthodologie XP - Fondamentaux

Implication Test unitaire

Cours IGL, Copyright © 2011, ESI


massive du client continu (TDD)

Itérations
Programmation courtes et
par paires livraisons
fréquentes

67
Cours 2 – Cycle de vie de SECTION 4 –
logiciels MÉTHODES AGILES

Méthodologie XP – Principales activités

Tests
Codage

Cours IGL, Copyright © 2011, ESI


(pendant le
(noyau de XP)
codage)

Ecoute (le Conception


client ou le (encore basée
partenaire) sur le codage)

68
Cours 2 – Cycle de vie de SECTION 4 –
logiciels MÉTHODES AGILES

Méthodologie XP – Les 12 pratiques

1- LE JEU DE PLANNING :
 Le client et les développeurs décident quoi mettre dans la

Cours IGL, Copyright © 2011, ESI


prochaine livraison en triant les spécifications par priorité
 L’estimation est la responsabilité du développeur, pas du chef
de projet ni du client
2 – DE PETITES ET FRÉQUENTES LIVRAISONS :
D’abord livrer un système minimaliste puis le faire évoluer à
travers des versions à des délais très courts

69
Cours 2 – Cycle de vie de SECTION 4 –
logiciels MÉTHODES AGILES

Méthodologie XP – Les 12 pratiques

3- LES MÉTAPHORES
 Exprimer de manière naturelle et très simples des fonctions

Cours IGL, Copyright © 2011, ESI


du système
 Le client et les développeurs doivent s’accorder sur les
métaphores
4 – CONCEPTION SIMPLE
Le système doit être conçu de la manière la plus simple possible
5 – TESTS
Les développeurs rédigent les tests unitaires d’une manière
continue, Le client rédige les tests d’acceptation des
fonctionnalités,

70
Cours 2 – Cycle de vie de SECTION 4 –
logiciels MÉTHODES AGILES

Méthodologie XP – Les 12 pratiques

6 – REFACTORING
Les développeurs améliorent continuellement le code tout en

Cours IGL, Copyright © 2011, ESI


veillant à le garder fonctionnel
7 – PROGRAMMATION PAR PAIRES
La totalité du code est écrite par deux programmeurs sur une
seule machine. L’un est appelé conducteur (driver) et l’autre
navigateur. Les rôles s’inversent régulièrement.
8 - PROPRIÉTÉ COLLECTIVE
N’importe qui peut changer le code n’importe où dans le
système à n’importe quel moment
9 - 40 HEURES LA SEMAINE
Le travail ne doit pas dépasser 40 heures par semaine

71
Cours 2 – Cycle de vie de SECTION 4 –
logiciels MÉTHODES AGILES

Méthodologie XP – Les 12 pratiques

10 – intégration continue
Construire le système à chaque fois qu’une tâche est terminée.

Cours IGL, Copyright © 2011, ESI


11 – Le client est sur site
Le client est tout le temps présent avec l’équipe pour participer
et répondre aux questions
12 – Les standards de codage
À cause de la propriété collective, des standards (une charte de
codage) doivent être établis et adhérés par l’équipe de
développement

72
Cours 2 – Cycle de vie de SECTION 4 –
logiciels MÉTHODES AGILES

Méthodologie XP – Avantages

 Implication active du client


 Forte réactivité des développeurs

Cours IGL, Copyright © 2011, ESI


 Responsabilisation et solidarité de l’équipe
 Appel aux meilleurs pratiques de développement
 Souplesse extrême

73
Cours 2 – Cycle de vie de SECTION 4 –
logiciels MÉTHODES AGILES

Méthodologie XP – Inconvénients

 Demande une certaine maturité des développeurs


 La programmation par paires n’est toujours pas applicable

Cours IGL, Copyright © 2011, ESI


 Difficulté de planifier et de budgétiser un projet
 Stress dû aux devoir de l’intégration continue et des livraisons
fréquentes
 La faible documentation peut nuire en cas de départ des
développeurs

74
Cours 2 – Cycle de vie de SECTION 4 –
logiciels MÉTHODES AGILES

Méthodologie Scrum

 Inspiré par une approche développée en 1986 par H. Takeuchii


et II.. Nonaka, le terme « Scrum » utilisé dans « Wiicked
Problems, Rightteous Solutions » par DeGrace et Stahl en 1991

Cours IGL, Copyright © 2011, ESI


 Utilisé comme méthodologie dans le livre : « Agile Software
Developmentt with SCRUM” par K. Schwaber et M.. Beedlle en
2001

75
Cours 2 – Cycle de vie de SECTION 4 –
logiciels MÉTHODES AGILES

Méthodologie Scrum - Principes

Simple Empirique
• Peut être combiné avec • Itérations courtes (sprints)
d’autres méthodes • Feedback continu

Cours IGL, Copyright © 2011, ESI


• Compatible avec les best
practices

Techniques simples Equipes


• Sprints de 2 à 4 semaines • Auto-organisation
• Besoins capturés en tant que • Multi-compétences
user stories

Optimisation
• Détection rapide des
anomalies
• Organisation simple
• Requiert l’ouverture et la
visibilité
76
Cours 2 – Cycle de vie de SECTION 4 –
logiciels MÉTHODES AGILES

Méthodologie Scrum - Principes

Cours IGL, Copyright © 2011, ESI


77
Cours 2 – Cycle de vie de SECTION 4 –
logiciels MÉTHODES AGILES

Méthodologie Scrum - Principes


Processus Backlog
• Sprint • Product Backlog
• Sprint Backlog

Cours IGL, Copyright © 2011, ESI


Equipe Réunions
• Srum Master • Scrum quotidien
• Product Owner • Planning
• Team • Revue
• Users and stakeholders • Rétrospective

Suivi
• Rapports
• Vélocité

78
Cours 2 – Cycle de vie de SECTION 4 –
logiciels MÉTHODES AGILES

Méthodologie Scrum - Avantages

 Méthode très simple et très efficace


 Adoptée par les géants du marché : Microsoft, Google, Nokia..

Cours IGL, Copyright © 2011, ESI


 Orientée projet contrairement à XP qui est orientée
développement
 Peut inclure d’autres activité venant d’autres méthodologies
(surtout XP)

79
Cours 2 – Cycle de vie de SECTION 4 –
logiciels MÉTHODES AGILES

Méthodologie Scrum - Inconvénients

 N’est pas 100% spécifique au GL


 Difficulté de budgétiser un projet

Cours IGL, Copyright © 2011, ESI


80
Section 4 : Débat (10 mns) COURS IGL
• Quelles sont les différences entre une
méthode agile et une méthode classique ? Cycles de vie
de logiciels
• Quels sont les points forts des méthodes
agiles ?
• Quels en sont les points faibles ?
• Quelle est la différence entre Scrum et XP ?
• Est-ce que Scrum et XP peuvent -elles être
combinées ?

81

Cours IGL, Copyright © 2011, ESI

Vous aimerez peut-être aussi