OCTO Technology Cabinet dArchitectes en Systèmes dInformation depuis 1998 Expérience importante dans lindustrialisation des développements depuis plusieurs années Aujourdhui : Retours dexpérience Open Source et Team System
Adresse deux volets La définition dune manière de faire Un outillage adapté
Nicolas Mangin Application Open Source de Micro Finance Solution dindustrialisation Open Source Djamel Zouaoui Refonte de SI pour une administration Solution basée sur Team System
OMFS : Octopus Micro Finance Suite Application Open Source C# Déployée au Tadjikistan, Afghanistan… Combattre la pauvreté Reconstruction de léconomie locale Un système dinformation intégré et gratuit pour les institutions de micro-finance Mohamed Yunus Prix Nobel de la paix 2006
Contexte Projet ambitieux: OXUS voit le projet comme un mythe. Besoin flou
Historique v0.1Beta. Première livraison v0.8 Début de maintenance évolutive Janvier 2007 Août 2006 Juin 2006 Début du projet Avril 2006 v1.0 Mise en production Site internet
Avril 2006: début du projet Début du projet Méthode de travail « imposée » par la MOA Zone dinnovation (méthodologique, technique et fonctionnelle) TDD incrémental Outils utilisés : NUnit (Tests unitaires) SVN (Référentiel de sources)
Juin 2006: Avant la première livraison Problème : Compile pas !!! Le code ne compile pas chez le chef de projet Intégrité des sources Besoin : Contrôler lintégrité des sources Solution : CruiseControl.NET (Intégration Continue)
Juin 2006: La première livraison Au Tadjikistan!!!!
Juin 2006: Après la première livraison Problème : Ecart produit / besoin important Besoins : Confronter les jeux de tests des opérationnels Documenter Contraintes : Optimiser la présence du chef de projet Spécifications « mouvantes » Solution : FitNesse (Spécifications exécutables)
FitNesse: Framework for Integrated Tests Tester en profondeur Raconter des histoires
Août 2006: des résultats Des résultats : Le code compile !!! Plus proche du besoin client. Stabilité Ok Besoin : Préparer la phase de maintenance évolutive Solutions : NDepend (Qualité du code) NCover (Couverture des tests unitaires)
Janvier 2007: mise à disposition En cours de déploiement Livraisons fréquentes (hebdomadaire) Augmentation du nombre de fonctionnalités Mise à disposition pour la communauté : Création dun site projet (Wiki + outil de suivi)
Au final OMFS, cest quoi? 2 solutions + 1 add-in VS2003 La solution principale : lignes de code 297 classes 997 tests unitaires Couverture 79% FitNesse : 33 histoires (7500 assertions)
Conclusion
Il était une fois un SI… Le SI dune administration avec Une constellation de 17 applications Plateformes hétérogènes Technologies vieillissantes Cloisonnées par métier Douleurs sur le déploiement Des besoins métiers qui ne sont pas encore informatisés
Il était une fois un projet… Un projet de refonte Ne pas refaire les applications à lidentique Ce nest pas une migration technique 3 domaines applicatifs (regroupement métier) Un socle de communication transverse pour les métiers Faire (faire) différemment : de la cascade à lagilité Technologies :.NET 2.0, ASP.NET
Il était une fois des Hommes… Tous rompus aux méthodologies de projet en cascade Une volonté de démarche nouvelle (liée aux douleurs de la cascade)
Problématiques et enjeux Aborder lagilité Outiller (toute) léquipe Assurer la gestion du changement de la cascade à lagilité Avoir un logiciel qui corresponde au besoin
Quest ce que lAgilité ? Un ensemble de « valeurs » et bonnes pratiques axé sur trois piliers :
Instancier la méthodologie Un gros travail méthodologique en amont réalisé collégialement : Une formation personnalisée « Agilité avec Team System » Définition dun processus adapté
Outiller léquipe Le but nest pas de contraindre mais de guider Team Foundation Server : Contrôleur de sources Framework de test Construction automatisée … Mais au-delà des briques « techniques »…
Outiller léquipe …Team System sert notre méthodologie !
TFS et lincrémental Les demandes de développement : Avant : Après :
TFS et lincrémental Intégration continue : Le pipeline de Build Plusieurs sas pour plusieurs besoins (environnement, rythme de livraison, cible) Intégration Pré-production
TFS et la communauté de projet Gestion de linformation Un portail collaboratif Des outils dédiés Standards de développement & binômage
TFS et le TDD Tests « développeurs » Les tests avant le code Couverture pertinente Tests « client » Réticences Pas doutils intégrés
Le lien avec la cascade Piloter le projet Vision externe de lavancement Gestion des risques Feedback pour les développeurs Responsabilisation Reporting Rapports « built-in » Rapports personnalisés propres à ma méthodologie
Conclusion : le socle aujourdhui
Le bilan… Une première mise en production Une équipe autonome Un engouement des utilisateurs finaux Un logiciel qui couvre les vrais besoins
Socle incrémental Construction itérative du socle en réponse à des douleurs/besoins (assemblage de briques OSS) Choix dun outil packagé et adaptation de loutil au démarrage du développement Guides apportés par loutil Team System permet daccompagner la méthodologie Pilotage Le référentiel commun de TFS permet un reporting « décisionnel »
Coût technique Prix de loutil Assemblage et paramétrage Coût humain Gestion du changement Appropriation de la méthodologie Le coût de loutil nest pas LE critère de choix
Quelle histoire vous correspond le plus ? Faites vous accompagner !
? Stand Team System
Cabinet dArchitectes en Systèmes dInformation Centre de compétences Team System
Sinformer - Un portail dinformations, des événements, une newsletter bimensuelle personnalisée Se former - Des webcasts, des articles techniques, des téléchargements, des forums pour échanger avec vos pairs Bénéficier de services - Des cursus de formations et de certifications, des offres de support technique Visual Studio Abonnement MSDN Premium Abonnement TechNet Plus : Versions déval + 2 incidents support
© 2007 Microsoft France Votre potentiel, notre passion TM