Top Banner
LES MÉTHODES AGILES Khalid Nafil Email : knafi[email protected] Année universitaire : 2011/12 1
41

Methodes agiles

Apr 16, 2017

Download

Software

Khalid Nafil
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Methodes agiles

LES MÉTHODES AGILES

Khalid NafilEmail : [email protected]

Année universitaire : 2011/12

1

Page 2: Methodes agiles

Méthodes agiles

Introduction

Contexte de développement

Méthodologies

Approche Prédictive contre Adaptative

2

Page 3: Methodes agiles

Introduction

Au cours des dernières années, Intérêt croissant pour les méthodes agiles (légères)

Alternatives aux méthodes classiques

Ont suscité l’intérêt de la communauté informatique

Orientées vers l’humain (people first)

3

Page 4: Methodes agiles

Contexte de développement

Le développement informatique classique est de type “coder puis débuguer”

Les logiciels sont écrits sans plan

Longue phase de tests

Alternative : l’adoption des méthodologies

4

Page 5: Methodes agiles

Les méthodologies

Imposent un processus rigoureux de développement

Objectif : rendre le développement plus prévisible et plus efficace

Maleureusement, elles ne débouchent pas sur un succès flagrant

Elles ne sont pas populaires

Elles sont qualifiées comme “bureaucratiques”5

Page 6: Methodes agiles

...Les Méthodologies

L’avancement du développement est ralenti

On parle de méthodologies lourdes ou “monumentales methodologies”

6

Page 7: Methodes agiles

...Les Méthodologies

...Un nouveau groupe de méthodologies est apparu :

Les méthodes agiles

7

Page 8: Methodes agiles

Les Méthodes Agiles (Caractéristiques)

Moins orientés documentation

Orientées code

S’adaptent au changement

Orientées client plutôt que processus

8

Page 9: Methodes agiles

Approche Prédictive contre Adaptative

Les méthodologies classiques s’inspirent des techniques d’ingénierie

Mise en avant de la planification avant la construction

On distingue entre conception et construction

9

Page 10: Methodes agiles

Imprésivibilité des besoins

Les besoins, en développement logiciel, changent souvent

Les changements de besoins sont la norme

Que faire pour s’adapter ?

10

Page 11: Methodes agiles

Adaptation aux besoins

Traiter les changements comme résultat d’une mauvaise analyse des besoins

Mettre en place des procédures pour limiter les changements après signature de l’utilisateur sur la base de ses besoins

11

Page 12: Methodes agiles

...Adaptation aux besoins

En réalité, Fixer les besoins avec les utilisateurs du logiciel demande beaucoup d'énergie

Ce qui peut être un bon ensemble de besoins maintenant, n'est pas forcément bon dans six mois

12

Page 13: Methodes agiles

PROBLÈME DE PRÉVISION

Est-il possible d’utiliser une méthode prédictive dans une situation imprévisible.

13

Page 14: Methodes agiles

Contrôler un processus imprévisible

Processus adaptatifs

Les seuls plans stables sont des plans à court terme qui sont faits d'une seule itération

Développement itératif

Livraisons intégrées et testées

14

Page 15: Methodes agiles

Durée des itérations

XP suggère une à trois semaines

SCRUM suggère un mois

Crystal étend plus la période

15

Page 16: Methodes agiles

L’humain au centre du processus

Équipes de développement plug and play

Programmeurs comme professionnels responsables

Processus orienté vers l’individu

Leadership Métier

Processus Auto-Adaptatif

16

Page 17: Methodes agiles

Équipe de développement

Dans l’approche classique

- Développer un processus où les personnes sont remplaçables

- Les rôles sont plus importants que les individus

• Les méthodes agiles rejettent cette notion de remplaçabilité

17

Page 18: Methodes agiles

Équipe de développement

Les personnes sont le facteur le plus important dans le développement logiciel

L’individu compte avant tout

18

Page 19: Methodes agiles

Les programmeurs sont des professionnels responsables

À la différence du Taylorisme

Reconnaître la compétence des programmeurs

Les personnes brillantes sont de plus en plus attirées par l’informatique

19

Page 20: Methodes agiles

Processus orienté vers l’individu

Acceptation du processus plutôt que imposition du processus

Accepter un processus demande une motivation et l’implication de toute l’équipe

Seuls les développeurs peuvent choisir de suivre un développement adaptatif

Les développeurs doivent être capables de prendre toutes les décisions techniques

L’accès à un poste de management, signifie une perte rapide de compétences techniques

20

Page 21: Methodes agiles

Rôle du leadership Métier

Les techniciens ne peuvent assumer l’ensemble du processus par eux mêmes

Requirent une assistance sur les besoins métiers

Besoin de contact rapproché et continu avec l’expertise métier

21

Page 22: Methodes agiles

Le processus Auto-AdaptatifLe processus, lui même, est sujet à l’adaptabilité

Faire des revues régulières du processus à la fin de chaque itération

Qu’est ce qu’on a bien fait ?

Qu’est ce qu’on a appris ?

Qu’est ce qu’on peut faire mieux ?

Qu’est ce qui nous inquiète/étonne ?

22

Page 23: Methodes agiles

Le processus Auto-Adaptatif

Ces questions vont apporter des idées pour adapter le processus à partir de la prochaine itération

Le processus, alors, s’améliore et s’adapte de mieux en mieux à l’équipe qui l’utilise

23

Page 24: Methodes agiles

Les MéthodologiesPlusieurs méthodes de type agiles existent

Se ressemblent et se distinguent

On peut citer :

XP

Crystal

Open Source

SCRUM

DFD

RUP 24

Page 25: Methodes agiles

La méthode XP (eXtreme Programming)

La plus connue

Apparaît en 1999 par Ken Beck de Chrysler

25

Page 26: Methodes agiles

La méthode XP

Marquée par ses quatre valeurs :

La communication

Le retour d’information

La simplicité

Le courage

26

Page 27: Methodes agiles

La méthode XP

Les tests sont au coeur du développement

Les tests sont intégrés dans un processus de compilation et d’intégration continue

27

Page 28: Methodes agiles

Les pratiques d’XP

XP décline ses valeurs en 13 pratiques, réparties sur 3 catégories :

• Programmation

• Collaboration

• Gestion de projet

28

Page 29: Methodes agiles

La famille Crystal de méthodologies

Crée par Alistair Cockburn

Très fortement adaptable aux spécifités de chaque projet

Plusieurs principes doivent être partagés par l’ensemble de l’équipe

29

Page 30: Methodes agiles

Principes de la famille Crystal

La communication et la collaboration entre les membres de l’équipe est omniprésente

Le nombre de membres de l’équipe ne peut dépasser 6 personnes

Toute l’équipe doit travailler dans la même pièce

Les diagrammes de modélisation doivent être élaborés en groupe et sur tableau blanc

La collaboration avec le client est étroite

Livrer fréquemment des parties exécutables30

Page 31: Methodes agiles

Démarche de Crystal

Observer les utilisateurs dans leur travail pour bien identifier les besoins

Classer par ordre de priorité les différents cas d’utilisation en concertation avec les utilisateurs

Élaboration d’une ébauche de conception, impliquant les outils à utiliser

Élaborer le planning des itérations (itération de 2 à 3 mois)

Développement des itérations31

Page 32: Methodes agiles

La méthode SCRUM

Scrum est une méthode agile pour la gestion de projets

Conçue pour améliorer la productivité dans les équipes

Développée en 1996, par J.Sutherland et K.Schwaber

32

Page 33: Methodes agiles

Philosophie de la méthode SCRUM

Scrum, terme emprunté au rugby, veut dire mêlée

Processus centré sur une équipe soudée qui cherche à atteindre un but

33

Page 34: Methodes agiles

Principes de SCRUM

Concentrer l’équipe, de manière itérative, sur un ensemble de fonctionnalités à réaliser

Une itération, appelée Sprint, dure 30 jours

Chaque Sprint a un but à atteindre

Un Sprint aboutit sur la livraison d’un produit partiel fonctionnel

La participation du client est déterminante pour le choix des priorités dans les fonctionnalités du logiciel

34

Page 35: Methodes agiles

Rôles définis par SCRUM

Le Directeur de produit

Le ScrumMaster

l’Équipe

35

Page 36: Methodes agiles

Les rôles dans SCRUM36

Page 37: Methodes agiles

Directeur du produit

Représentant des clients et des utilisateurs

Définit l’ordre de développement des fonctionnalités

Décide sur les orientations importantes du projet

Travaille, de préférence, dans la même pièce que l’équipe

37

Page 38: Methodes agiles

ScrumMaster

Veille sur la protection de l’équipe, des éléments perturbateurs, extérieurs à l’équipe

Veille à résoudre les problèmes non techniques

Veille à l’application des valeurs de Scrum

38

Page 39: Methodes agiles

Équipe

Auto-gérée

Décisions prises ensemble

Contact direct avec le directeur de produit (product owner)

39

Page 40: Methodes agiles

La planification de projet

Planification à trois niveaus :

Sprint : itération de 30 jours

Release/projet : regroupement d’itérations

Quotidien : réunion (srcum) de mise au point

40

Page 41: Methodes agiles

Outils pour Scrum

Outils libres :

IceScrum (open source)

Outils propriétaires :

ScrumWorks

VersionOne

41