44
Les méthodes Agiles dans le développement de logiciels Pierre-Emmanuel Dautreppe – Norman Deschauwer Cefora asbl - SIN81

Les méthodes Agiles dans le développement de logiciels

  • Upload
    orenda

  • View
    48

  • Download
    0

Embed Size (px)

DESCRIPTION

Les méthodes Agiles dans le développement de logiciels. Pierre-Emmanuel Dautreppe – Norman Deschauwer Cefora asbl - SIN81. Qui sommes-nous ?. Pierre-Emmanuel DAUTREPPE Architecte Microsoft.NET Coach eXtreme Programming [email protected] www.pedautreppe.com. Norman DESCHAUWER - PowerPoint PPT Presentation

Citation preview

Page 1: Les méthodes Agiles  dans le  développement  de  logiciels

Les méthodes Agiles dans le développement de logiciels

Pierre-Emmanuel Dautreppe – Norman DeschauwerCefora asbl - SIN81

Page 2: Les méthodes Agiles  dans le  développement  de  logiciels

2

Qui sommes-nous ?

Pierre-Emmanuel DAUTREPPE Architecte Microsoft.NET Coach eXtreme Programming

[email protected]

Norman DESCHAUWER SCRUM Practitionner Team Leader

[email protected]://www.methode-agile.org/

Page 3: Les méthodes Agiles  dans le  développement  de  logiciels

3

Agenda

Origine de l’agilité

Pourquoi les méthodes agiles ? Les objectifs

Quelques exemples de méthodes agiles

Présentation d’eXtreme Programming

Les 5 valeurs

Les 13 pratiques

Passons à l’action !

Page 4: Les méthodes Agiles  dans le  développement  de  logiciels

4

Agenda

Origine de l’agilité

Pourquoi les méthodes agiles ? Les objectifs Quelques exemples de méthodes agiles Présentation d’eXtreme Programming

Les 5 valeurs Les 13 pratiques

Passons à l’action !

Page 5: Les méthodes Agiles  dans le  développement  de  logiciels

5

Origine de l’agilité

Toyota (1962)

XP, Scrum,… (1999)

http://agilemanifesto.org/ (2001)

Page 6: Les méthodes Agiles  dans le  développement  de  logiciels

6

Agenda

Origine de l’agilité Pourquoi les méthodes agiles ? Les objectifs

Quelques exemples de méthodes agiles Présentation d’eXtreme Programming

Les 5 valeurs Les 13 pratiques

Passons à l’action !

Page 7: Les méthodes Agiles  dans le  développement  de  logiciels

7

Objectif : Réduire les coûts

Répondre strictement aux besoins (ni plus, ni moins) Réduire le nombre de bugs

Page 8: Les méthodes Agiles  dans le  développement  de  logiciels

8

Objectif : Eviter les dérives

Tout Projet = Succès

Page 9: Les méthodes Agiles  dans le  développement  de  logiciels

9

Objectif : Maximiser la business value du produit

Être à l’écoute des besoins du client Répondre aux contraintes opérationnelles Retour rapide sur investissements

Page 10: Les méthodes Agiles  dans le  développement  de  logiciels

10

Une nouvelle façon de travailler

Images de http://gris-bouilli.blogspot.com/ et www.crayola.fr

Client

FournisseurEquipe « Projet »

Page 11: Les méthodes Agiles  dans le  développement  de  logiciels

11

D’après un article d’E. Chenu

Page 12: Les méthodes Agiles  dans le  développement  de  logiciels

12

Organisation hiérarchique

Directeur

Chef de Service

Employé 1

Employé 2

Chef de Service

Employé 3

Employé 4

Chef de Service

Responsable Projet

Responsable Projet

Analyste Architecte Responsable technique

Dév. 1

Dév. 2

Côté Client Côté Fournisseur

Hiérarchie dans un projet « traditionnel »

« Projet »

Client Chef de projet Analyste Développeur Testeur

Hiérarchie dans un projet agile

Page 13: Les méthodes Agiles  dans le  développement  de  logiciels

13

Les difficultés rencontrées lors de la mise en œuvre de l’agilité

sont toujours le reflet de l’incapacité de l’organisation à accepter de résoudre ses

conflits internesJean-Pierre Vickoff

Page 14: Les méthodes Agiles  dans le  développement  de  logiciels

14

Agenda

Origine de l’agilité Pourquoi les méthodes agiles ? Les objectifs Quelques exemples de méthodes agiles

Présentation d’eXtreme Programming Les 5 valeurs Les 13 pratiques

Passons à l’action !

Page 15: Les méthodes Agiles  dans le  développement  de  logiciels

15

Représentation des méthodes Agiles

Agile

Scrum

XP

Page 16: Les méthodes Agiles  dans le  développement  de  logiciels

16

La vision SCRUM : conduite de projet agile – 1/2

3 réunions Daily scrum (stand-up) Planning Game Revue de sprint

3 rôles Scrum Master Product Owner Equipier

2 listes Product backlog Sprint backlog

Page 17: Les méthodes Agiles  dans le  développement  de  logiciels

17

La vision SCRUM : conduite de projet agile – 2/2

Page 18: Les méthodes Agiles  dans le  développement  de  logiciels

18

Agenda

Origine de l’agilité Pourquoi les méthodes agiles ? Les objectifs Quelques exemples de méthodes agiles Présentation d’eXtreme Programming

Les 5 valeurs

Les 13 pratiques

Passons à l’action !

Page 19: Les méthodes Agiles  dans le  développement  de  logiciels

19

Les 5 valeurs d’eXtreme Programming

Communication

Feedback

SimplicitéCourage

Respect5

Valeurs

Page 20: Les méthodes Agiles  dans le  développement  de  logiciels

20

Les 13 pratiques d’eXtreme Programming

Organisation

Planning Game

Client sur site

Rythme Soutenable

Communication / Feedback

Métaphore

Livraisons rapides

Stand Up

Organisation Technique

Convention de nommage

Appropriation Collective du

Code

Binômage

Développement

Conception Simple

Refactoring

Intégration Continue

Testing

Tests Unitaires

Tests de recette

Page 21: Les méthodes Agiles  dans le  développement  de  logiciels

21

Les 13 pratiques d’eXtreme Programming

Organisation

Planning Game

Client sur site

Rythme Soutenable

Communication / Feedback

Métaphore

Livraisons rapides

Stand Up

Organisation Technique

Convention de nommage

Appropriation Collective du

Code

Binômage

Développement

Conception Simple

Refactoring

Intégration Continue

Testing

Tests Unitaires

Tests de recette

Page 22: Les méthodes Agiles  dans le  développement  de  logiciels

22

Planning Game

Que veut dire « Terminé » ?

Page 23: Les méthodes Agiles  dans le  développement  de  logiciels

23

Client sur site

Page 24: Les méthodes Agiles  dans le  développement  de  logiciels

24

Rythme soutenable

Page 25: Les méthodes Agiles  dans le  développement  de  logiciels

25

Les 13 pratiques d’eXtreme Programming

Organisation

Planning Game

Client sur site

Rythme Soutenable

Communication / Feedback

Métaphore

Livraisons rapides

Stand Up

Organisation Technique

Convention de nommage

Appropriation Collective du

Code

Binômage

Développement

Conception Simple

Refactoring

Intégration Continue

Testing

Tests Unitaires

Tests de recette

Page 26: Les méthodes Agiles  dans le  développement  de  logiciels

26

Métaphore

Appelons un chat, un chat !

Page 27: Les méthodes Agiles  dans le  développement  de  logiciels

27

Livraisons rapides

Page 28: Les méthodes Agiles  dans le  développement  de  logiciels

28

Stand Up

Quels blocages ai-je rencontrés ?Qu’ai-je terminé la veille ?Que vais-je faire aujourd’hui ?

Page 29: Les méthodes Agiles  dans le  développement  de  logiciels

29

Les 13 pratiques d’eXtreme Programming

Organisation

Planning Game

Client sur site

Rythme Soutenable

Communication / Feedback

Métaphore

Livraisons rapides

Stand Up

Organisation Technique

Convention de nommage

Appropriation Collective du

Code

Binômage

Développement

Conception Simple

Refactoring

Intégration Continue

Testing

Tests Unitaires

Tests de recette

Page 30: Les méthodes Agiles  dans le  développement  de  logiciels

30

Conventions de Nommage

Page 31: Les méthodes Agiles  dans le  développement  de  logiciels

31

Appropriation collective du code

Page 32: Les méthodes Agiles  dans le  développement  de  logiciels

32

Travail en binôme

Page 33: Les méthodes Agiles  dans le  développement  de  logiciels

33

Les 13 pratiques d’eXtreme Programming

Organisation

Planning Game

Client sur site

Rythme Soutenable

Communication / Feedback

Métaphore

Livraisons rapides

Stand Up

Organisation Technique

Convention de nommage

Appropriation Collective du

Code

Binômage

Développement

Conception Simple

Refactoring

Intégration Continue

Testing

Tests Unitaires

Tests de recette

Page 34: Les méthodes Agiles  dans le  développement  de  logiciels

34

Conception Simple

Page 35: Les méthodes Agiles  dans le  développement  de  logiciels

35

Refactoring

Page 36: Les méthodes Agiles  dans le  développement  de  logiciels

36

Intégration Continue

Serveur d’intégration

Binôme A

Binôme B

Binôme C

Build

Compil OK

Test 1x Test 2x Test 3….. Test N

Rapport

Page 37: Les méthodes Agiles  dans le  développement  de  logiciels

37

Les 13 pratiques d’eXtreme Programming

Organisation

Planning Game

Client sur site

Rythme Soutenable

Communication / Feedback

Métaphore

Livraisons rapides

Stand Up

Organisation Technique

Convention de nommage

Appropriation Collective du

Code

Binômage

Développement

Conception Simple

Refactoring

Intégration Continue

Testing

Tests Unitaires

Tests de recette

Page 38: Les méthodes Agiles  dans le  développement  de  logiciels

38

Tests Unitaires

Test

D riven

Development

Page 39: Les méthodes Agiles  dans le  développement  de  logiciels

39

Tests Unitaires – Le cycle Test Driven Development

Refactoring

Le test passe

Implémentation Le test compile, mais échoue

Ecriture de l’API

Le test ne compile pas

Ecriture d’un testRefa

ctorin

g

des t

ests

Refacto

ring

du co

de

Page 40: Les méthodes Agiles  dans le  développement  de  logiciels

40

Tests de recettes

Bon, on en est où ?Il est nouveau?Il est nouveau ?

Page 41: Les méthodes Agiles  dans le  développement  de  logiciels

41

Agenda

Origine de l’agilité Pourquoi les méthodes agiles ? Les objectifs Quelques exemples de méthodes agiles Présentation d’eXtreme Programming

Les 5 valeurs Les 13 pratiques

Passons à l’action !

Page 42: Les méthodes Agiles  dans le  développement  de  logiciels

42

XP GAME

Page 43: Les méthodes Agiles  dans le  développement  de  logiciels

43

Quelques références – 1/2

Quelques blogs http://www.pedautreppe.com http://www.methode-agile.org/ http://emmanuelchenu.blogspot.com/ http://www.objectmentor.com (Robert C. Martin) http://www.fredericdoillon.com/

Quelques conférences La Journée Agile 2011 – 7 avril (Bruxelles) XP Days (Benelux, France, Suisse, …) Agile Tour CITCON

Page 44: Les méthodes Agiles  dans le  développement  de  logiciels

44

Quelques références – 2/2

Quelques ouvrages « Méthode Agile – Les meilleures pratiques

– Compréhension et mise en oeuvre » par Jean-Pierre Vickoff

« Gestion de projet vers les méthodes agiles » par Véronique Messager Rota

« Agile Principles, Patterns, and Practices in C# » par Robert C. Martin