Title: La mthode XP applique la supervision de mtro
1- La méthode XP appliquée à la supervision de métro
- Florent Brossier (Génigraph)
Florent Brossier Génigraph 104 rue de Castagnary
75015 PARIS Melfbrossier_at_genigraph.fr http//www.
genigraph.fr Tél. 01 45 33 64 63
2Sommaire
- Les projets sans XP
- Supervision de métro avec XP
- Les nouveaux projets
- Conclusion
3Les projets abordés sans XP
- Projets de recherche (Esprit)
- Partenaires multiples éparpillés géographiquement
- Pas de contraintes clients, pas de méthode
- Projet détude de faisabilité
- Micro équipe
- Contraintes faibles, pas de méthode
- Projet opérationnel militaire
- Méthode imposée, cycle en V
- Développement modulaire 70 développeurs
4Problèmes rencontrés avec le cycle en V
- Rigidité du contrat
- Conception de 3 mois seul
- Développeurs non impliqué dans la conception
- Le codage fait évoluer la conception
- Documentation lourde etdifficile à mettre à jour
5le cycle en V (suite)
- Développement modulaire
- Manque dhomogénéité et intégration difficile
- Ressources humaines difficiles à gérer
- Tests tardifs
- Phase de mise au point longue
- Bilanretard, stress, mauvaise qualité du code,
insatisfaction du client
6Projet de supervision de métro
- Entreprise 600 p. dont 150 développeurs
- 50 prestataires de services
- Charge estimée de 6 à 8 développeurs sur un an
- Système temps réel distribué
- Un poste de commande centralisé redondé
- 12 postes distants
- 5 postes de opérateurs
7Les compétences de léquipe
- Le coach
- Il croit en XP, il connaît bien XP
- Il met en place la méthode
- Il tranche (Les choix de conception par ex.)
- Il donne les priorités (En l'absence de client
XP) - Les programmeurs
- Débutant (Apprentissage rapide)
- Expérimenté (Forme et formalise son savoir,
propose larchitecture, des design patterns) - Compétences métier (lien métier/technique)
8Mise en place progressive dXPLa programmation
en binôme 1
- Binôme
- Bien perçu des programmeurs
- Garantit lhomogénéité du code, le respect des
règle de codage - Responsabilité et connaissance collective du code
- Facilite la communication
- Pousse à bien faire (Motivation et satisfaction)
- Stand up meeting chaque soir
- Faire tourner les binômes
- Répartition des compétences
9Mise en place progressive dXPLa programmation
en binôme 2
- Exploration dun problème (Spike)
- Nom des objets (bonne compréhension)
- Prend le temps de bien le faire (Métaphore local)
- Documenter le code
- Pas de documentation mais un code bien commenté
(Déclaration) - Espace de travail
- Espace de développement central
- Bureautique en périphérie
- Grande table de réunion dans le bureau
- Grand écrans pour le développement
- Tout le monde se voit (mobilier spécifique?)
10Mise en place progressive dXPLes tests unitaires
- Tests unitaires
- Aide à la conception détaillé
- Systématiquement avant le code (inhabituelle)
- Ne doit pas passer au début (Iconoclaste?)
- Ne pas développer plus que se qui est nécessaire
pour le test - Auto-vérifiant
- Tous les tests de tous les modules doivent passer
sans erreur avant dintégrer le code - Super aide à la non régression, au changement de
conception et au remaniement
11Mise en place progressive dXPLa planification
collective
- La planification collective en début dincrément
(Une journée) - Incrément de trois semaines
- Lecture et explications des cas dutilisation
- Grandes lignes de la conception
- Définition et évaluation des tâches
- Évaluation en temps idéal Load factor
- Évaluation en deux groupes. Le minimum est choisi
si aucune difficulté na été oubliée.
12Mise en place progressive dXPLa conception
collective
- Conception détaillée en binôme (avec lécriture
des tests) - Conception en groupe si le binôme ne suffit pas
- Définition de métaphore local
- Choix des noms de classe
- Topos
- Sur le langage C, les règles de codage
- Sur XP
- Sur les design paterns
- Le remaniement
13Mise en place progressive dXPLes règles de
codage et le remaniement
- Les règles de codage sont mises en place
progressivement - Des design patterns sont mis en place
- Ex Subject/observer, Médiateur, State
- Remaniement
- Simplification de grosse méthodes
- Factorisation de code
- Mise en place de hiérarchies de classe
-
14Enthousiasme et désillusion
- A mi-projet léquipe est très en avance sur le
planning - Les programmeurs sont satisfaits, motivés,
enthousiasmes - Problèmes de temps de compilation
- Léquipe de validation démarre 8 mois après et
met en évidence des défauts - Difficile à corrigé après 8 mois
- Évaluation faussée
- Les programmeurs surmontent et finissent le
projet presque dans le temps estimé
15Bilan 1
- Léger dérapage des coûts et des délais malgré
deux points durs - Décalage des tests fonctionnels (contraire à XP)
- Absence dimplication du client (contraire à XP)
- Point de vue du management
- Bons indicateurs davancement
- Équipe motivée (Facilité de la gestion des
ressources humaines) - Manque de documentation
- Adaptation du système qualité à prévoir
16Bilan 2
- Point de vues des développeurs
- Grande motivation, satisfaction personnelle
- Transfert des connaissances efficaces
- Gain de productivité
- Pas de développement inutiles
- Moins danomalies rencontrées
- Problèmes rencontrés liés à lapplication
incomplète dXP - Problème du temps de compilation et dédition de
lien
17Projet avec quelques techniques XP
- Utilisation de règles de codage
- Topo pour les nouveaux programmeurs
- Tests unitaires
- Effectués seul
- Pas systématiquement réalisés avant le code
- Parfois non réalisés
- Efficacité moindre mais bien perçus malgré tout
- Équipe moins soudée
18Un nouveaux projet encore plus XP
- Une personne joue le rôle du client
- Tests encore plus poussés (IHM, Distribués)
- Tests fonctionnels en Python réalisées par le
client - Évaluation avec calcul vélocité
- Tri de scénarios (Indispensable / essentiel /
Utile) avec risque (Fort / Moyen / Faible) - Mise en place dun Wiki interne
- Toujours la bonne ambiance Équipe XP gt Équipe
de foot !
19Conclusion
- XP a fait ses preuves dans des conditions
industrielles difficiles - Tout en XP cest mieux
- Les tests unitaires cest déjà ça!
- Encore plus XP cest possible