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



Documents pareils
HISTOIRE D UNE DIGITAL FACTORY

Concilier Agilité, Exigences et Continuous Delivery : Retour d expérience PagesJaunes

Serena Software. Damien Terrien Solution Architect

Les 10 pratiques pour adopter une démarche DevOps efficace

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

L'agilité appliquée à nous-mêmes. Philippe Krief, PhD Development Manager IBM France Lab

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

e-obs : Conception et utilisation Rémy Decoupes Ether // ums3365

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

REX Scrum Master du terrain

Catalogue Formations Jalios

Ingénierie des méthodes Agiles : Que cache l opposition entre déploiement et livraison en continu? Faut-il adopter DevOps 1?

Vérifier la qualité de vos applications logicielle de manière continue

Des millions de visiteurs avec France Télévisions

OPTIMISER SON PROCESSUS DE TEST AVEC UNE APPROCHE BOITE GRISE

Projet de Java Enterprise Edition

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

Catalogue Formation «Vanilla»

Gildas Le Nadan. Thomas Clavier

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

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

Réussir ses Déploiements Applicatifs

SCRUM chez BWIN : implémentation d une méthode agile dans Focalpoint Spasija Taseva et Corinne Bacle

DevOps en pratique. Philippe Bauquel,

GWT à l'épreuve du feu. by Sami Jaber (DNG Consulting)

Isabelle Nicolas

Architecture pragmatique pour la gestion du cycle de vie des applications (ALM)

GESTION DU CYCLE DE VIE. Albert Amar Avant-vente Middleware

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

Stéphane DERACO, DSI CNRS l Argos Devops : de l hyperviseur aux conteneurs l 11/12/2014 DOCKER

FOURNIR UN SERVICE DE BASE DE DONNÉES FLEXIBLE. Database as a Service (DBaaS)

Techniques de tests sur mobiles et automatisation avec TMAP Mobile - Orange

Gestion de projet Agile. STS IRIS Module «Gérer et organiser un projet informatique»

AGILE IPHONE DEVELOPMENT

L Intégration Continue & Agilité

OFFRES DE STAGE 2014 / 2015

Modèle de cahier des charges pour un appel d offres relatif à une solution de gestion des processus métier (BPM)

Cassandra et Spark pour gérer la musique On-line

Yassine ZAKARIA SÉMINAIRE : MÉTHODES AGILES

Guide d installation JMap 5.0

Marie-Christine Spengler

Modelio by Modeliosoft

L ecoute, Le service, l echange,

Agilitéet qualité logicielle: une mutation enmarche

Migration vers l'open-source de l infrastructure de pare-feu du campus CNRS d Orléans

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

Vers une meilleure gouvernance des plateformes d ingénierie

Une Histoire de Migration Agile

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Cyrille GUERIN 823, place Soulanges Brossard, J4X1L8

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

La reconquête de vos marges de manœuvre

Optimiser pour les appareils mobiles

NOVA BPM. «Première solution BPM intégr. Pierre Vignéras Bull R&D

ENJEUX NUMÉRIQUES AUTOUR DU COMPTE PERSONNEL D ACTIVITÉ

Ophcrack - Windows XP/Vista

WORKSHOP OBIEE 11g (version ) PRE-REQUIS:

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

THÉMATIQUES. Comprendre les frameworks productifs. Découvrir leurs usages. Synthèse

Usine de développement : étude comparative

VOTRE OFFRE CRM 360 ALL INCLUSIVE. crm.amabis.com

Le Product Owner Clé de voute d un projet agile réussi

25/12/2012

Service Cloud Recherche

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

Celui qui vous parle. Yann Vigara

PRESENTATION COMMERCIALE

Conduite de projets SI. Les méthodes «Agiles» N QUAL/1995/3660e ORESYS

Un business model d éditeur open source

La solution IBM Rational pour une ALM Agile

Sommaire. Présentation OXIA. Le déroulement d un projet d infogérance. L organisation du centre de service. La production dans un centre de service

Fonctions Informatiques et Supports Opérationnels

Cloud et PaaS: les développeurs reprennent le

EXALOGIC ELASTIC CLOUD MANAGEMENT

Dailymotion: La performance dans le cloud

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

Fabriquant de Fabuleux logiciels

FORMATION Offre de Formation - Packaging. Les bonnes pratiques du packaging avec Installshield et AdminStudio. Contact et inscriptions

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

«clustering» et «load balancing» avec Zope et ZEO

Scrum et l'agilité des équipes de développement

proximite + qualite + competitivite

Méthodes Agiles et gestion de projets

Formation Scrum. 2 jours

1/15. Jean Bernard CRAMPES Daniel VIELLE

Eclipse Process Framework et Telelogic Harmony/ITSW

Une solution open source, sans commission sur les ventes, avec un engagement limité.

Echosgraphik. Ce document sert uniquement à vous donner une vision sur ma manière de travailler et d appréhender un projet

<Insert Picture Here> Maintenir le cap avec Oracle WebLogic Server

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

Dossier de compétences :

Smart Notification Management

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

Formation pour Product Owner

CONSULTANT AMOA/RECETTE à la recherche d un poste dans la région de Montpellier 7 ans d expérience

REX gros projets Drupal. Drupal Camp Toulouse Novembre - +qdelance

Pilot4IT Tableaux de Bord Agréger et consolider l ensemble de vos indicateurs dans un même portail.

OFFRE MDB Service & Architecture Technique. MyDataBall Saas (Software as a Service) MyDataBall On Premise

Infostructures Performances Management La sécurité, la robustesse er la performance de vos infrastructures de données

P s a sep e o p r o t S e S r e vi v ce c s Fabrice Dubost

Transcription:

Livrer chaque jour ce qui est prêt! Points clés du développement d un produit avec une livrasion par jour. Date : 10 avril 2015 Format : Conférence Speakers : Dimitri Baeli, Benjamin Degerbaix de Les Furets Contexte du daily delivery Le comparateur d assurances LesFurets.com propose 6 produits d assurance Le SI des Furets est composé de 2 applications : 1 front et 1 back. Leur base de code est repose quasi exclusivement sur Java. Les IHM sont codés en GWT et leurs web apps tournent sur Tomcat. Au total, les Furets c est 400 000 lignes de code Java, 22 développeurs et 2 architectes En 2012, lancement de la marque Lesfurets.com. Part d une base de code et de process existants : Build maven de 15mn 200 tests Selenium en 1h 12 releases par an avec des Sprints Depuis janvier 2013, LesFurets.com ont changé d organisation. Résultats : Build maven réduit à 3mn. Durée des tests Selenium passé à 10mn (avec le même nombre de tests) Livraison de ce qui est prêt à J+1. 208 releases du site en 2014 et 47 au 10 avril 2015. Le Sprint agile s est transformé en Marathon. Le temps de passage d un commit en prod est passé de 2 semaines à 2 jours (c est ce qu on appelle le lead time). Seul ce qui est prêt est livré en prod. L équipe de LesFurets.com ne raisonne plus avec une roadmap associée à une version. Points de repère Ce changement d organisation a été guidé par différentes sources d inspiration : Manifeste agile : le principe n 1 est la satisfaction du business Livrer tôt, livrer souvent : impacte sur l organisation de l équipe. Exemple : on ne donne plus de date au métier. Plus besoin d équipe QA car opportunité de corriger le lendemain. C est le développeur qui valide ses propres changements. Le livre «Continuous Delivery» leur a enseigné : o Nécessité d un build rapide. 15 mn c était trop long.

o Build robuste : vert tout le temps o Déploiements simples et automatisés : le développeur doit être autonome o Monitoring de production et alertes : le daily delivry impose de regarder la production tous les jours. Du monitoring fonctionnel a donc été ajouté. o Analyse des causes racines : permet d éviter qu un cataclysme revienne. Git Flow : son mécanisme de branches les a particulièrement bien aidé. Ils ont adapté à leur besoin la branche develop Points clés : de la conception à l exploitation Amélioration par la fin : 1. Monitoring & Exploitation 2. Mise en production 3. Release Création & Validation 4. Développement 5. Conception Flux de fonctionnalités : Fonctionnalités conçues pour être indépendantes. Les liens entre features sont coupés. Permet de ne pas les livrer en même temps (découplage). Une feature ne

bloque pas les autres. Si malgré ces efforts il subsiste des dépendances entre 2 features, on attend ou on les fusionne Fast feedback : des petites tâches vont plus vites en production. Retour chiffré rapide pour prise de décision. Les projets non rentables peuvent être arrêtés très rapidement. Le métier a désormais les outils pour tester leurs idées. L environnement de développement : Fonctionnement en feature branch : la branche de feature est tirée depuis le master (code de production) Environnement quasi iso- prod Les développeurs ne sont pas gênés par le travail des autres Quid de l intégration continue avec le feature branch? o Effectué à chaque commit o Toutes les features branch sont mergées par l outil Octopus. Continous Merge Octopus Octopus est un outil open source développé par LesFurets?com et disponible sur leur github. Chaque feature branch est mergée avec les autres features branch et le master. C est sur ce commit jetable que l intégration continue fonctionne. C est cette branche qui est déployée sur l environnement de staging. Permet de tester les effets de bord du regroupement, notamment grâce aux tests Selenium. Release Création & Validation Création d une branche de release : Entièrement automatisée Regroupement des features prêtes (Octopus) Déploiement en préprod. Validation à l aide d outils manuels et automatiques pour prévenir les incidents majeurs. Code review systématique par un autre développeur. Validation fonctionnelle réalisée sur stage. Grid Selenium en préprod Outil de non régression : Zeno Pixel Grid Selenium on LXC En série, sur une seule machine, les 200 tests Selenium mettent 6h à s exécuter. Sur un Grid Selenium classique, ils mettent 1h. Avec l aide de leur Ops, LesFurets.com ont eu l agréable surprise que le Grid Selenium en RAM (sur RAM FS) ramené le temps d exécution des 200 tests Selenium à 10 minutes. Axe de performance non documentée.

Solution peu onéreuse : 1 Machine OVH, 128 Go de RAM, 300 euros / mois Activité disque très importante lors du bootstrap du navigateur vu par l Ops. Les accès disques généraient de l instabilité dans les tests Selenium. Un des points clés qui les ont permis de partir en prod chaque jour Zeno Pixel Les styles CSS en commun peuvent entrainer de graves problèmes. L outil Zeno Pixel a été développé en interne. Il se base sur de la comparaison d images. Cet outil prend des screenshots automatiques des pages du site sur les différents environnements et les différents devices (desktop, mobile, tablet) Comparaison des versions de chaque page entre la prod et la pré- prod. Calcul des différences graphiques. Test réalisés avant chaque MEP. Mise en production Pas de préprosé à la MEP. Chaque jour, un développeur différent effectue la MEP. Une grande partie automatisée avec Jenkins : création de la release branch, déploiement en prod, merge de la release branche dans le master, création et diffusion de la release note Possible grâce à l Infrastructure as Code : config des environnements dans git. Les bugs de configuration sont équivalents à des bugs de code. Déploiement Pas de downtime du site. Système Blue / Green. Environnement de production dupliqué : Version N et Version N- 1. On attend que les sessions http sur l ancienne instance soient terminés avant de couper tout le trafic (simple configuration de HAProxy). Utilisation de la même base de données : schéma rétro- compatible. Git Flow Résumé Master : la prod 1 branche par feature. Chacune d elle est créée à partir de la prod. Lorsque la tâche est terminée, elle est mergée dans la branche de pré- prod. Branche de pre- prod pour la release. Refusionnée dans le Master. Les développeurs peuvent être amenés à travailler sur la même feature branch. Si nécessaire, ils peuvent créer d autres branches à partir de cette feature branch. Monitoring et Exploitation Sondes Zabbix Indicateurs fonctionnels (ex : taux de conversion). Chaque log d erreur arrive par mail dans la boite mail du développeur

Post Mortem Post Mortem sur chaque incident de Production. Ne pas mettre en prod un jour est considéré comme un incident de prod.