L Intégration Continue & Agilité



Documents pareils
INTEGRATION CONTINUE. Améliorer la qualité des logiciels et réduire les risques. Juillet 2009

XP DAY mai. Erwan Alliaume Nicolas Le Coz

Plateforme de capture et d analyse de sites Web AspirWeb

Hudson Serveur d Intégration Continue. Adrien Lecharpentier IR3 Ingénieurs2000, Université de Marne la Vallée

Méthodes Agiles et gestion de projets

PagesJaunes.fr Mise en place de Scrum de scrum. Fabien Grellier Agile Tour Octobre

Usine de développement : étude comparative

Squale Le portail qualimétrie open-source

Journée IJD. Moussa Tari Bako Bachir. 25 juin 2012 ARLES/INRIA. Introduction Travail Chez ARLES

Gestion Projet. Cours 3. Le cycle de vie

Projet de Java Enterprise Edition

Présentation UBO 12/2008 Présentation des méthodes agiles

WEB15 IBM Software for Business Process Management. un offre complète et modulaire. Alain DARMON consultant avant-vente BPM

Topologie du web - Valentin Bourgoin - Méthodes agiles & SCRUM

Lancelot Bertrand Expert Java J2ee

Les Bonnes PRATIQUES DU TEST LOGICIEL

OPTIMISER SON PROCESSUS DE TEST AVEC UNE APPROCHE BOITE GRISE

Serena Software. Damien Terrien Solution Architect

Industrialisation de la chaîne de production : validation, intégration, tests

DEVELOPPEMENT ET MAINTENANCE DE LOGICIEL: OUTIL DE PILOTAGE

Président d Inotekk Gestion de la société, développement du portefeuille clients, gestion et réalisation des projets informatiques

Alignement avec les métiers par le test fonctionnel et d acceptation en projets agiles

Construction et déploiement d applications Java avec Maven, Archiva, Groovy et Jenkins

GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET

Méthodes agiles. CONSEIL & DÉVELOPPEMENT DE SOLUTIONS E-BUSINESS. Jean-Louis Bénard jlb@businessinteractif.

Livrer chaque jour ce qui est prêt! Points clés du développement d un produit avec une livrasion par jour.

SonarQube : une autre vision de votre logiciel

Java à Murex: un retour d'expérience. Jean-Pierre DACHER & Craig MORRISON

RÉUSSIR L AUTOMATISATION DU PROCESSUS DE TEST FONCTIONNEL

INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É JAVA. 32 ans - 6 ans d'expérience

Testeur Agile Niveau Fondation Bertrand Cornanguer, Vice-chair Agile tester WG

INF2015 Développement de logiciels dans un environnement Agile Examen final hiver 2015

Retour d expérience RATP. Intégrer le test de performance au cœur du processus de développement agile. Challenges, techniques, résultats.

Marie-Christine Spengler

Environnement de Développement Outils Open-Source d'integration Continue. Exemple de Mise en Oeuvre

Retour d expérience implémentation Scrum / XP

Introduction au génie logiciel

Release Notes POM v5

Analyse et Conception objet du logiciel Analyse et conception objet du logiciel : Méthode de conception objet et notation UML.

Professeur superviseur Alain April

GL Processus de développement Cycles de vie

INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É JAVA - J2EE. 27 ans - 5 ans d'expérience

BLANC LIVRE. Enquête sur l usage. usage des technologies Open Source en entrerises.

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

Modernisation, développement d applications et DB2 sous IBM i Technologies, outils et nouveautés 2011/2012

Les méthodes itératives. Hugues MEUNIER

VIE ET STAGE liés aux Risques

Agile 360 Product Owner Scrum Master

Environnements de développement (intégrés)

Enterprise Scrum Organisation des développements chez exo. Agile Tour Rennes 2010 / 10 / 07

DÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques

Les 10 pratiques pour adopter une démarche DevOps efficace

1/15. Jean Bernard CRAMPES Daniel VIELLE

Isabelle Nicolas

Gestion de projets logiciels. Xavier Dubuc

INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É PHP - MAGENT O. 30 ans - 6 ans d'expérience

ACCORD-CADRE DE TECHNIQUES DE L'INFORMATION ET DE LA COMMUNICATION. PROCEDURE ADAPTEE En application des articles 28 et 76 du Code des Marchés Publics

Développement guidé par les tests d acceptation (ATDD/BDD) au Ministère de la défense nationale

Process 4D Catalogue de formations 2011

INGÉNIEUR LOGICIEL JAVAEE / GROOVY 8 ANS D EXPÉRIENCE

Développement itératif, évolutif et agile

HISTOIRE D UNE DIGITAL FACTORY

Direction des Technologies de l Information. Présentation OCDE. Contribution du Parlement européen. L utilisation de l OPEN SOURCE au PE

Expert technique J2EE

INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É JAVA - Android. 29 ans - 5 ans d'expérience

Clément DAVID, Pierrick KNECHT, Pierre LALLEMENT, Ronan PRESLE

Glassfish dans le milieu médical. Sun Aquarium Paris 26 Juin 2009 Jacky Renno

Vertec Engineering L ERP professionnel pour ingénieurs

Bonnes Pratiques de Développement PHP. Pascal MARTIN SQLI Forum PHP 2009, Paris

Paul FLYE SAINTE MARIE

AGILE IPHONE DEVELOPMENT

CQP Développeur Nouvelles Technologies (DNT)

Agilitéet qualité logicielle: une mutation enmarche

Scrum + Drupal = Julien Dubois

S10 - Automatisez la compilation et le déploiement de vos applications IBM i avec Arcad Pack for Rational

Chef de projet H/F. Vous avez au minimum 3 ans d expérience en pilotage de projet de préférence dans le monde du PLM et de management d équipe.

Les mécanismes d'assurance et de contrôle de la qualité dans un

Rational Software Rational Portfolio Manager

LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1

L enseignement de méthodes agiles dans un contexte d apprentissage actif

serena.com Processus et réussite Accélérez avec Serena TeamTrack

Projet de développement

UM2 - Master 2 Année Sensibilisation aux Tests de Projets Informatique - Managed Testing -

Le génie logiciel. maintenance de logiciels.

ÉVALUATION DE LA MAINTENABILITÉ DE S3MDSS AVEC L OUTIL SONAR

Qualité du logiciel: Méthodes de test

DESCRIPTION DES PRODUITS ET MÉTRIQUES

Comment optimiser votre. utilisation de POM? 23 avril 2015

Planon Universe. Une plateforme de Gestion Intégrée de l Environnement de travail innovante, facile à utiliser et qui a fait ses preuves

Projet de développement. Introduction à Eclipse. Application à votre projet. Philippe Collet. Organisation. Cours 1 : principes généraux - svn

Cyrille GUERIN 823, place Soulanges Brossard, J4X1L8

Eclipse Process Framework et Telelogic Harmony/ITSW

Règles d engagement. Présentation Diapositives Bibliographie Questions Les vertus de la marche

Chef de projet / Architecte JEE 15 ans d expérience

Cahier des charges : gestion de projets agiles. Programmation d Algorithmes Distribués (PAD)

ITIL V2 Processus : La Gestion des Configurations

Sage FRP Treasury Universe Edition Module Cash L expert en gestion de trésorerie et flux financiers

Olivier Deheurles Ingénieur conception et développement.net

Transcription:

L Intégration Continue & Agilité " des outils efficaces. " Agile NANTES - Mars 2010 17/03/2010 Agile Nantes

Introduction Qui sommes nous? Fabian PIAU fabian.piau@netapsys.fr Ingénieur développement chez NETAPSYS Diplômé MIAGE Nantes 2009 Sébastien ROUL sebastien.roul@netapsys.fr Directeur NETAPSYS Atlantique 15 ans de développement Co-fondateur : www.nantes-jug.org 17/03/2010 Agile Nantes 2 26

Sommaire Problématique Agilité et Intégration Continue Les concepts Fonctionnement général Les outils utilisés chez Netapsys Retour d expérience Vision Développeur Vision Chef de projet Conclusion 17/03/2010 Agile Nantes 3 26

Problématique Livrer un logiciel De qualité Avec le moins de bogues possibles (encore moins des régressions ) Complètement testé (idéalement ) En assurant une maintenance facile à long terme Dans un temps restreint Le plus rapidement Mise en commun du développement Plusieurs personnes Besoin d intégrer Réutiliser des composants existants Développement modulaire Avec un suivi rigoureux Transparence pour le client Rétroaction 17/03/2010 Agile Nantes 4 26

Outils Un outil : L Agilité Des principes Accepter le changement et l accueillir favorablement Apprendre à apprendre Viser l excellence technique Remettre en cause les pratiques régulièrement Des valeurs La communication et la transparence Le courage et la responsabilité La solidarité et l esprit d équipe L humilité La rétroaction La simplicité 17/03/2010 Agile Nantes 5 26

Outils Un autre outil : l intégration Continue (IC) Une méthode agile Principe: plus l intégration est fréquente, moins elle est longue Sans IC Avec IC 17/03/2010 Agile Nantes 6 26

Fonctionnement général Intégration Continue Tout changement du code d un logiciel est immédiatement pris en compte par une construction automatique d intégration 17/03/2010 Agile Nantes 7 26

Intégration Continue Construire des builds tous les jours Chargement de la dernière version du projet depuis le gestionnaire de version Compilation Exécution des tests unitaires Inspection du code (en vue de générer les métriques de qualité) Génération de la documentation, des rapports, des notes de release (par exemple la Javadoc, rapport Checkstyle) Construction de la release Déploiement de l application sur l'environnement d intégration Exécution des tests d'intégration 17/03/2010 Agile Nantes 8 26

Intégration Continue Mais des builds différents! Build local / privé J exécute un build sur ma machine Compilation Tests unitaires Build d intégration Le serveur d intégration exécute un build Idem build local Build de nuit Le serveur exécute un build complet + Tests d intégration + Documentation, rapports, métriques + Release / Déploiement 17/03/2010 Agile Nantes 9 26

Exemples d outils Les outils utilisés Un gestionnaire de versions SVN Gestionnaire de dépendances, building Maven Tests unitaires junit, Mockito, Eclemma Un serveur d intégration continue Hudson Repository manager Artifactory Outils de qualimétrie Sonar 17/03/2010 Agile Nantes 10 26

Hudson Les outils utilisés Hudson, la «météo» de l intégration continue Un onglet = un projet Différents types de build par projet 17/03/2010 Agile Nantes 11 26

Hudson Le plugin Chuck 17/03/2010 Agile Nantes 12 26

Hudson Les outils utilisés Configuration d un build Scrutage du SVN 17/03/2010 Agile Nantes 13 26

Hudson Les outils utilisés Configuration d un build La commande Maven à lancer, les notifications par email, etc. 17/03/2010 Agile Nantes 14 26

Maven Les outils utilisés Build de nuit Utilisé pour la génération du Maven site 17/03/2010 Agile Nantes 15 26

Sonar Les outils utilisés Sonar Suivi qualité 17/03/2010 Agile Nantes 16 26

Sonar 17/03/2010 Agile Nantes 17 26

Sonar 17/03/2010 Agile Nantes 18 26

IC au quotidien Vision Développeur Réduction du temps de correction des bogues On intègre nos modifications régulièrement En cas de build en échec, la portion de code à débugger est faible Amélioration du travail collaboratif La fin du «Ca marche sur mon poste pourtant!» Confiance entre le développeur et le logiciel Le code et le design de l application répondent aux exigences des standards, le résultat du build est un produit complètement fonctionnel et testable L IC encourage des bonnes habitudes de test 17/03/2010 Agile Nantes 19 26

IC au quotidien Vision Développeur L exécution régulière des tests et des outils d inspection permettent de recueillir les informations pour l évaluation de la complexité, la détection des codes potentiellement «malicieux», Taux de couverture Taux de duplication Respect des conformités de Checkstyle Checkstyle, PMD CPD, Simian JDepend JNCSS Respect des règles de codage et des bonnes pratiques Contrôle l absence de copier/coller Analyse de dépendance et respect des règles d architecture Contrôle de la complexité cyclomatique et de la documentation technique Sonar génère une compilation de tous ces rapports en prenant en compte la notion d historique 17/03/2010 Agile Nantes 20 26

IC au quotidien Vision Chef de projet L intégration continue permet d obtenir automatiquement des indicateurs d avancement et d état qualitatif d un projet en cours de développement L objectif de la construction d intégration est de produire un logiciel exécutable qui peut être déployé et testé fonctionnellement. Une démonstration avec le client est toujours possible Les outils d assurance qualité participent au contrôle des risques : Risque de faible qualité logiciel Risque de découverte tardive des défauts 17/03/2010 Agile Nantes 21 26

IC au quotidien Vision Chef de projet Sonar, un outil central Permet d avoir une meilleure visibilité du projet. Il participe à la rétroaction Synthétise les indicateurs d assurance qualité produits par la construction Maven et fournit une vision chronologique de l évolution du logiciel Sonar est le tableau de bord de l état technique et qualitatif de l ensemble des projets de l entreprise 17/03/2010 Agile Nantes 22 26

Exemple de graphiques 17/03/2010 Agile Nantes 23 26

IC au quotidien Vision Chef de projet Pilotage / Suivi L intégration continue est devenue un outil fondamental pour le pilotage de nos projets : elle nous apporte plus de visibilité Qualité / Productivité L intégration continue est un formidable levier d amélioration de notre niveau d expertise technique : elle est l un des moteurs de nos gains en termes de qualité et de productivité Transparence / Rétroaction L intégration continue est un élément différenciant par rapport à nos concurrents : elle est révélatrice de notre positionnement stratégique 17/03/2010 Agile Nantes 24 26

La suite Au sein de Netapsys Intégration continue mis en place depuis deux ans sur l ensemble des projets. Tous les nouveaux projets sont systématiquement «mavenisés» et mis sous Hudson. Une fois mise en place, l intégration continue n est pas quelque chose de «figée» Evolution sur l intégration continue en 2010 : Actuellement: tests unitaires avec JUnit sur les projets Mise en place de tests intégration et scénarios métier avec Sélénium 17/03/2010 Agile Nantes 25 26

Le mot de la fin Pour aller plus loin http://martinfowler.com/articles/continuousintegration.html https://hudson.dev.java.net/ http://sonar.codehaus.org/ http://maven.apache.org/ Vous pouvez consulter un dossier sur l IC sur mon blog technique : http://carmaworld.free.fr/blog/?p=49 Vos questions 17/03/2010 Agile Nantes 26 26