extreme programming

52
e X treme Programming 1 LSI_FSTT XP Ayyoub LASRI Bilal ZIANE Sara Lekhchyn

Upload: ziane-bilal

Post on 25-Jul-2015

44 views

Category:

Documents


0 download

DESCRIPTION

Extreme Programming XP, méthode agile pour la gestion de projet de la réalisation des applications informatique.

TRANSCRIPT

Page 1: eXtreme Programming

e X t r e m e

Programming

1 LSI_FSTT

X P

Ayyoub LASRI

Bilal ZIANE

Sara Lekhchyn

Page 2: eXtreme Programming

Copyright © Wondershare Software 2

Page 3: eXtreme Programming

Copyright © Wondershare Software 3

Le Cycle en CASCADE

→Très bureaucratique, très lourd, mais un grand bond dans la bonne direction.

Page 4: eXtreme Programming

Copyright © Wondershare Software 4

Le Cycle en V

→Le cycle en V est devenu un standard de l'industrie du développement

de logiciel et de la gestion de projet depuis les années 1980.

Page 5: eXtreme Programming

Copyright © Wondershare Software 5

Les Méthodes Agiles

Page 6: eXtreme Programming

Copyright © Wondershare Software 6

Les Méthodes Agiles

Page 7: eXtreme Programming

Copyright © Wondershare Software 7

Les Méthodes Agiles

Page 8: eXtreme Programming

Copyright © Wondershare Software 9

Définition: XP

Méthodologie efficace de

développement rapide de logiciels,

Qui exige que les membres d’une équipe

de développeurs soient physiquement

proches les uns des autres.

XP est une méthode de développement dédiée à

des petites équipes confrontées à

un environnement changeant ou des Besoins Mal connus.

Page 9: eXtreme Programming

Copyright © Wondershare Software 10

Méthode Allégé: XP

Une méthodologie logicielle

est un ensemble de règles et de pratiques

mises en œuvre pour la création de

programmes.

Ces règles sont trop difficiles à suivre, les

procédures complexes et mal comprises et la

quantité de documentation à produire hors de

contrôle.

Page 10: eXtreme Programming

Copyright © Wondershare Software 11

Méthode Allégé: XP

Pour essayer de rester dans le planning,

il est nécessaire de simplifier les règles,

Garder celles qui contribuent à la qualité

et

Laisser de côté celles qui ralentissent le projet.

Page 11: eXtreme Programming

Copyright © Wondershare Software 12

Historique:

D’après une étude américaine menée sur 8000 projets,

Majorité des projets n’ont pas respecté les délais et le

budget initial et autres n’ont jamais abouti.

Page 12: eXtreme Programming

Copyright © Wondershare Software 13

Historique:

La méthode est née réellement en 1999 après la parution du premier livre de

Kent Beck :

« eXtreme Programming Explained »,

Acteur très actif dans domaine de “Design Patterns”, domaine qui a beaucoup

inspiré XP

Page 13: eXtreme Programming

Copyright © Wondershare Software 14

Historique:

inventer pendant leur travail sur un projet « C3 » . Kent Beck, chef de projet

en mars 1996 commença à affiner la méthodologie de développement utilisée

sur le projet.

(Chrysler Comprehensive Compensation)

Page 14: eXtreme Programming

Copyright © Wondershare Software 16

Pourquoi XP

?

Kent Beck, qui structure et présente XP, explique que les pratiques sur lesquelles est bâtie XP sont autant de boutons de contrôle… qu’il pousse au maximum. De ce point de vue, XP est la réunion cohérente de pratiques efficaces, telles que le test omniprésent, l’esprit d’équipe, le rôle prépondérant du client dans l’équipe, etc.

Le bon sens est poussé à son extrême !

Page 15: eXtreme Programming

Copyright © Wondershare Software 17

Pour qui XP

?

Petites à moyennes équipes écrivant des logiciels dont les besoins sont vagues ou changent rapidement

Page 16: eXtreme Programming

Copyright © Wondershare Software 18

« Projet »

Client Chef de projet

Analyste Développeur Testeur

Organisation Hiérarchique

Page 17: eXtreme Programming

Copyright © Wondershare Software 19

Programmeur Responsabilisation

Retour du programmeur comme rôle central

A la fois : codeur, testeur, concepteur et analyste

Apprentissage - Qualités humaines nécessaires

XP : Ecole de l’excellence

Responsabilisés pour donner le meilleur d’eux même

ex. : estimation des charges et délais

Pratiques XP

Programmation en binôme

Tests unitaires

Conception simple

Remaniement

Responsabilité collective du

code

Règles de codage

Intégration continue

Rythme durable

Page 18: eXtreme Programming

Copyright © Wondershare Software 20

Client Responsabilisation

Description informelle d’une fonctionnalité ou d’une interaction

avec l’utilisateur

Le plus simple possible

Des scénarios initiaux sont dégagés et Présentés, classés par

priorité et répartis en itérations

Pratiques XP

Planification itérative

Rédaction des scénarios

clients

Séances de planification

Tests de recette

Intégration continue

Rythme durable

Page 19: eXtreme Programming

Copyright © Wondershare Software 21

Testeur Responsabilisation

Définit et automatise les tests de recette

Conseille le client sur la testabilité d’une Fonctionnalité.

Utilisation d’outils différents pour scripter.

Garant du sentiment de réussite sur le projet

Test fonctionnel réussi→ Progression.

Communiquer pour motiver (graphique de

progression...).

Pratiques XP

Suivi des tests (planification

itérative)

Tests de recette

Intégration continue

Rythme durable

Page 20: eXtreme Programming

Copyright © Wondershare Software 22

Tracker Responsabilisation

Pas un supérieur hiérarchique

Quelqu’un a qui on peut se confier

De préférence pas un programmeur, mais quelqu’un d’extérieur

Pour éviter les discussions techniques

A défaut, ce rôle peut tourner entre les programmeurs à chaque

itération

Pratiques XP

Planificatio n itérative.

Page 21: eXtreme Programming

Copyright © Wondershare Software 23

Manager Responsabilisation

Il s’occupe matériellement de l’équipe

Il demande des comptes (sur les engagements pris)

Interface avec l’extérieur (dans le cadre d’un sous-projet)

Pratiques XP

Scénarios client

Planification itérative

Rythme durable.

Page 22: eXtreme Programming

Copyright © Wondershare Software 24

Coach Responsabilisation

Il réunit tout les autres rôles

Vérifie que chaque rôle est respecté

Ses buts ultimes :

Equipe autonome

Chaque programmeur est en amélioration continue

Ses qualités

Expert de la méthode XP

Expert technique

Programmeur chevronné

Architecte

Pédagogue et sensible

Sang-froid

Pratiques XP

Toutes !

Page 23: eXtreme Programming

Copyright © Wondershare Software 25

Plusieurs Rôles pour une Personne

Attention aux combinaisons possibles

Toutefois, pas de règle absolue

S’assurer qu’une cumulation ne pousse pas à

sacrifier une composante importante d’un rôle

Page 24: eXtreme Programming

Copyright © Wondershare Software 26

Plusieurs Personne pour un Rôle

Programmeur, le plus grand nombre

Tracker, une seule personne...

à un moment donné

Coach, une personne unique

Manager, une personne unique

Client+Testeur, d’une personne à une équipe

Page 25: eXtreme Programming

Copyright © Wondershare Software 27

Activité cadre de XP :

Scénarios

Segmenter le projet

Réunion d’équipe

Déplacer les personnes

Le code appartient à toute l’équipe

«ideal week»

Planification et gestion :

Page 26: eXtreme Programming

Copyright © Wondershare Software 28

KIS

Représenter une histoire utilisateur à la fois

Adopter un codage uniforme…

Ne jamais ajouter de fonctionalité trop tôt

Encourager la reconstruction

Conception :

Activité cadre de XP :

Conception :

Page 27: eXtreme Programming

Copyright © Wondershare Software 29

Le client priorise les histoires

La vitesse du projet est mesurée

Le test unitaire est produit avant le code

Le code pour livraison est programmé

par binômes (paire)

L’intégration est fréquente

Activité cadre de XP :

Les activités et processus

Page 28: eXtreme Programming

Copyright © Wondershare Software 30

Les pratiques de l’XP

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 29: eXtreme Programming

Copyright © Wondershare Software 31

Les pratiques de l’XP

1. Jeux de planning

Création des scénarios pour les fonctionnalités

souhaité par le client.

Evaluation de temps nécessaire pour l’implémentation par

l’équipe.

Page 30: eXtreme Programming

Copyright © Wondershare Software 32

Les pratiques de l’XP

2. Petites livraisons

Les livraisons doivent être les plus

fréquente possible.

Page 31: eXtreme Programming

Copyright © Wondershare Software 33

Les pratiques de l’XP

3. Utilisation des métaphores

Décrire le système et son fonctionnement .

Page 32: eXtreme Programming

Copyright © Wondershare Software 34

Les pratiques de l’XP

4.Conception simple

Implémentation des scénarios sélectionnées

par le client est l’objectif d’une itération .

Envisager les prochaines évolutions ferait perdre du temps

sans avoir le garantie d’un gain ultérieur .

Page 33: eXtreme Programming

Copyright © Wondershare Software 35

Les pratiques de l’XP

5. Les testes

Test de recette (fonctionnelle):

Rédiger par le client a partir

d’une langage formelle si c’est possible.

Vérifier que tous fonctionnent correctement et

conformément a la demande.

Test unitaire:

Ecrit par le programmeur dans le but d ’assurer le bon

fonctionnement du programme .

Page 34: eXtreme Programming

Copyright © Wondershare Software 36

Les pratiques de l’XP

6. Refactoring

Amélioration régulière de la qualité du

code sans modifier le comportement .

Page 35: eXtreme Programming

Copyright © Wondershare Software 37

Les pratiques de l’XP

7. Appropriation collective du code

L’équipe est collectivement responsable de l’application.

Page 36: eXtreme Programming

Copyright © Wondershare Software 38

Les pratiques de l’XP

8. Intégration continue

Lorsque une tache est terminer ,

les modifications sont immédiatement

intégrés dans le produit complet.

Quand tous les testes passent ,l’intégration est terminer.

Page 37: eXtreme Programming

Copyright © Wondershare Software 39

Les pratiques de l’XP

9. Client sur site

Présence de représentant du client (Il doit avoir

les connaissances de l'utilisateur final et

avoir une vision globale du résultat

à obtenir )pendant toute la duré du projet

pour répondre aux question de l’équipe.

Page 38: eXtreme Programming

Copyright © Wondershare Software 40

Les pratiques de l’XP

10. Convention de nommage

Etablir ,respecter des normes de nommage

pour les variables , méthode , objet, classe …

Page 39: eXtreme Programming

Copyright © Wondershare Software 41

Les pratiques de l’XP

11. Rythme soutenable

L'équipe maintient sa capacité à rester efficace

en ne surchargeant pas le planning

et en s’aménageant des horaires raisonnables.

40 heures de travaille /semaine .

L’équipe ne fait pas d’heure supplémentaire .

Page 40: eXtreme Programming

Copyright © Wondershare Software 42

Les pratiques de l’XP

12. Programation en binome

La programmation se fait par deux:

Driver (pilote) :tient le clavier ,

travaille sur la portion du code a écrire .

Partner (copilote) : pour l'aider en suggérant des nouvelles

possibilités ou en décelant d'éventuels problèmes

Page 41: eXtreme Programming

Copyright © Wondershare Software 43

Architecture et valeurs

Le but d’XP est de trouver des solutions plus

ou moins simples pour tenter de diminuer

les risques et respecter les délais .

On souhaite réduire radicalement la production de documents

techniques très formelles et ce focalise plutôt sur un code bien

commenté .

Contrairement au solution rationnelle xp donne une grande

importance sur le développement.

Rendre moins lourdes les démarches:

Page 42: eXtreme Programming

Copyright © Wondershare Software 44

Architecture et valeurs

Le but d’XP est de se vouloir orienté sur les personnes plutôt que

sur les processus. Alors, le développement tentera d’être une

activité agréable plutôt qu’un cauchemar bureaucratique.

Permet une meilleure relation avec le client et la livraison d’un

produit conforme totalement aux exigences de ce dernier.

Changer les principes:

Page 43: eXtreme Programming

Copyright © Wondershare Software 45

Architecture et valeurs

Dans l’équipes:

code propriété de tous

Avec le client:

rapprochement du client par rapport aux informaticiens,

elle permet de déterminer de façon claire les besoins nécessaires

du client.

Communication:

Page 44: eXtreme Programming

Copyright © Wondershare Software 46

Architecture et valeurs

Avec le client:

les livraisons régulières.

Dans l’équipe:

Le Feedback au seins de l'équipe est garantit par les

commentaires .

Feedback: (retours, avis...)

Page 45: eXtreme Programming

Copyright © Wondershare Software 47

Architecture et valeurs

Dans XP on cherche toujours à

supprimer l’inutile pour

optimiser au maximum la productivité.

Un développeur XP doit la solution la plus simple qui peut

fonctionner,

garantir la flexibilité au changement et faire de l'économie.

La simplicité est aussi essentielle pour que le code puisse être

repris instantanément par n’importe quel développeur pour le

compléter ou le changer.

La simplicité:

Page 46: eXtreme Programming

Copyright © Wondershare Software 48

Architecture et valeurs

Le responsable doit avoir le courage de

commencer le projet avant que tout ait

été précisé clairement sur un document

contractuel.

Le client doit avoir le courage de donner

des priorités à ses besoins.

Le courage :

Page 47: eXtreme Programming

Copyright © Wondershare Software 49

Architecture et valeurs

Communication

Feedback

Simplicité Courage

Respect

Page 48: eXtreme Programming

Copyright © Wondershare Software 50

Avantages de l’ XP

•Le client étant présent dans l’équipe,

l’importance des documents liés au projet est

réduite.

•Grande satisfaction du client.

•Présence d’un coach potentiel afin de former

une équipe capable de travailler.

•Efficacité plus importante.

• …

Page 49: eXtreme Programming

Copyright © Wondershare Software 51

inconvénients de l’ XP

•Petits et moyens projets seulement

•Nécessite une forte implication du client

•Pas assez de documentation

Page 50: eXtreme Programming

Copyright © Wondershare Software 52

XP et UML

UML est un langage graphique de modélisation des besoins des utilisateurs, des concepts métier, des concepts techniques dans le cadre d’un développement informatique. UML est généralement associé à une méthodologie globale de gestion de projets fondée, si possible, sur les grandes activités : spécification, analyse, conception et développement, éventuellement itérative comme par exemple l’eXtreme Programming, selon les besoins et la maturité des équipes. UML peut aussi aider à organiser le travail des équipes.

Page 51: eXtreme Programming

Copyright © Wondershare Software 53

Page 52: eXtreme Programming

Copyright © Wondershare Software 54