extreme programming
DESCRIPTION
Extreme Programming XP, méthode agile pour la gestion de projet de la réalisation des applications informatique.TRANSCRIPT
e X t r e m e
Programming
1 LSI_FSTT
X P
Ayyoub LASRI
Bilal ZIANE
Sara Lekhchyn
Copyright © Wondershare Software 2
Copyright © Wondershare Software 3
Le Cycle en CASCADE
→Très bureaucratique, très lourd, mais un grand bond dans la bonne direction.
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.
Copyright © Wondershare Software 5
Les Méthodes Agiles
Copyright © Wondershare Software 6
Les Méthodes Agiles
Copyright © Wondershare Software 7
Les Méthodes Agiles
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.
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.
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.
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.
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
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)
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 !
Copyright © Wondershare Software 17
Pour qui XP
?
Petites à moyennes équipes écrivant des logiciels dont les besoins sont vagues ou changent rapidement
Copyright © Wondershare Software 18
« Projet »
Client Chef de projet
Analyste Développeur Testeur
Organisation Hiérarchique
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
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
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
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.
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.
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 !
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
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
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 :
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 :
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
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
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.
Copyright © Wondershare Software 32
Les pratiques de l’XP
2. Petites livraisons
Les livraisons doivent être les plus
fréquente possible.
Copyright © Wondershare Software 33
Les pratiques de l’XP
3. Utilisation des métaphores
Décrire le système et son fonctionnement .
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 .
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 .
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 .
Copyright © Wondershare Software 37
Les pratiques de l’XP
7. Appropriation collective du code
L’équipe est collectivement responsable de l’application.
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.
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.
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 …
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 .
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
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:
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:
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:
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...)
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é:
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 :
Copyright © Wondershare Software 49
Architecture et valeurs
Communication
Feedback
Simplicité Courage
Respect
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.
• …
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
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.
Copyright © Wondershare Software 53
Copyright © Wondershare Software 54