Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

20131210 - Rex Bouygues Telecom - Integration et inspection continue avec RTC_Sonar

104 views

Published on

Rex Bouygues Telecom - Integration et inspection continue avec RTC_Sonar

Published in: Software
  • Be the first to comment

  • Be the first to like this

20131210 - Rex Bouygues Telecom - Integration et inspection continue avec RTC_Sonar

  1. 1. Ensemble protégeons l’environnement. N’imprimez ce document qu’en cas de nécessité. Présentation Club Qualité Logicielle 10/12/2013 André Foltier - Hervé Roux - Bouygues Telecom
  2. 2. Agenda • Développement s Bbox • Outils et environnements de dev • Mise en place d’un cycle de dev Agile • Intégration continue • Inspection continue Sonar • Conclusion: modèle de maturité
  3. 3. Bouygues Telecom Products > 10 HW products Set Top Box (TV portal + firmware) Gateway (firmware) Tablets, smartphones xDSL FTTH Cable
  4. 4. History and key dates commercial sept-08 IPTV box launch (TV+DSL) août-09 125k subscribers juin-10 Portal update (new GUI) juin-10 500k subscribers oct-10 DSL box 2nd source nov-10 Cable box launch janv-11 Bbox mediacenter avr-11 Wifi community juin-11 Number 1 customer relationship fix/mobile juin-11 1M subscribers juil-11 Playing TV Games mars-12 Mediacenter on Tablets Android/iPad juin-12 Bbox Sensation DSL, new 3D GUI launch juil-12 Bbox Sensation Fiber/cable oct-12 Bbox: Best Broadband Experience Award oct-12 Bbox games (cloud gaming) déc-12 Bbox Tab (iPad/Android) févr-13 1,8M subscribers mars-13 Bbox Tab: Best TV Experience Enhancement Award Insourced development & tools janv-09 insourced STB portal development start sept-10 RTC chosen as development platform déc-10 RRC /RQM chosen as req / test platform janv-11 insourced tablets develoment start mai-11 insourced middlweware STB & GW development start mai-11 First source codes in RTC nov-11 First RTC Build operationnal avr-12 Scrum / Agile chosen as development methodology août-12 All code assets in RTC sept-12 4,0 Jazz Upgrade sept-12 deliver blocking plugin delivered by IBM oct-12 CLM "collaborative Lifecycle Management" activation janv-13 RRC/RTC operationnal for scrum mars-13 Test and validation department switches on RTC août-13 4,02 Jazz Upgrade
  5. 5. Stratégie logicielle 2010 2011 2012 2013 2014 Plan Build Deploy Improve Delight • Choix Fournisseurs •Proof of concept du logiciel unifié • Plan de mise en place • Mise en place • Appropriation logiciels • Programme BBOX sensation • BBOX SENSATION •Portail 3D • BBOX TAB •Méthodes agiles • Amélioration QeC & QoS •Mise en place LSF Intégration continue Fondations Développement continu Imagine
  6. 6. Logiciel et technologies « embarqué » Ecosystème et produits complexes 2 gammes de produit: STB, GW • Nombreuses déclinaisons hardware (chipsets, réseaux) • 2 souches logicielles STB (MW / Portail) Développements applicatifs sur PC, Smartphones, Tablettes 4 équipes de développement • Différents langages, environnements Spécificités
  7. 7. Environnement de développement Outils de développement RTC, RRC, RQM Fermes de build Qualimétrie Mur de box Cloud VMs sur mesure B -LAB POC POD Boucle Locale Cable - CMTS Fibre - ONT DSL - DSLAM ACS Smash CMS VOIP PFS (simulateur/émulateur) SDK
  8. 8. Outils des usines logicielles RRC Gestion des exigences RTC PlanificationDashboards Gestion des sources Gestion des anomalies Builds Qualimétrie QC Gestion des tests
  9. 9. 9 Jazz in some numbers Hébergement DSI 4 plateformes (PROD, PREPROD, Recette, Formation) 34 serveurs Projets RTC 42 WI 47 550 Anomalies 24 300 User Story 5200 Projets RRC 26 Artéfacts 11 800 Documents 1 145 Use Cases 1 400 API 1900 Utilisateurs 700 Utilisateurs Bytel 530 Sociétés partenaires 22 PLATEFORME PRODUCTION Redondance actif / passif Réplication + backup Base Oracle Bascule sur site secours Supervision DataBase 1,4 To
  10. 10. Contexte Agilité: Use Cases, User Stories Capitalisation = RRC SERVICE - A SERVICE - B Besoin : UC • Call Flow E2E • Non fonctionnel (sécurité…) • Ecrans et enchainements • Non fonctionnel (sécurité…) • API/STI • Spec d’Ingénierie • Spec d’Archi Logiciel Besoin : UC Le principe Réponse au « quoi ? » avec les éléments de spécifications : techniques, architecture, sécurité… des Services et Systèmes Techniques. MW xxxPortail xxx US USUS US L’objectif Décrire le Comment (spécification de la solution) Capitaliser sur les Services et les Systèmes Techniques (référentiel de spécifications) Justifier la traçabilité besoins/spécifications Analyser les impacts : évolution, régression,… le quoi le comment Traçabilité horizontale Planification = RTC
  11. 11. Contexte Agilité: planification Service UC Run Run Run MW Portail USUS USUS US Le principe Planification du développement, de la pré-intégration, de la validation Contrôle des dépendances, pré-requis. Pré intégration et validation… Task(s) Task(s) Task(s) Les User Stories et les Tâches sont planifiées dans les RUN Task(s) Task(s) L’objectif Décrire le Quand ? (planification) Gérer le Backlog de Sprint (état des US) Un UC est complètement implémenté lorsque toutes les US qui s’y rattachent sont implémentées Allocation
  12. 12. Cycle de développement Agile DEV & INT. LOGICIEL Release n DEV & INT. LOGICIEL Release n-1 DEV & INT. LOGICIEL Release n+1 CONCEPTION Release n+1 CONCEPTION Release n CONCEPTION Release n+2 BUG FIXING Release n-1 BUG FIXING Release n-2 BUG FIXING Release n RUN Mois n-1 RUN Mois n RUN Mois n+1 Before KickOff Rétro, Démo Rituels Release n Livrables Releases Build Release Candidate Livraison Closing BRC2BRC1 Build UC Spec Fiche de livraison Spec de tests Fiche de livraison US réalisés Spec Sanity Check Release à déployer en VSR US engagées Spec Périmètre du RUN
  13. 13. Intégration continue Blocage du deliver si build en cours ou build KO Local Workspace Local Workspace Personal Build Personal Build 13 (1) OK KO (1) (3) (3) (2) (2) (4) (4) (5) (6) (7) (8) (9)
  14. 14. Inspection globale Sonar
  15. 15. Architecture Sonar H. Roux- 09/12/201315 LSN Serveur de Production Crypté( BD, code source) 100 Gb en source 50 Gb en base Postgré Serveur de Tests Crypté (BD, code source) SONAR 4.0 SONAR 4.0 RTC Postes Développeurs En chiffres : • 20 streams de développement • Plusieurs millions de lignes de code analysées chaque nuit • 110 utilisateurs
  16. 16. Analyses quotidiennes, poste du développeur, Intégration continue 16 RTC Développeurs Développeurs, Manageurs Contrôles GLP Sonar Base Postgré DAF.STM GLP.STM Streams Developpement Check-In Deliver Build Notification, HTTP HTTP HTTP User Repository Workspace Contrôles Intégration Continue Local Workspace Poste du développeur Manageurs H. Roux- 09/12/2013
  17. 17. • Plugin Views 2.3 pour agréger et différencier le code Bbox selon son origine (code développé par Bytel, Open source, BSP, code provenant de fournisseurs externes, code d’origine externe modifié par Bytel) • Plugin SQALE 2.0 pour suivre globalement l’amélioration de la qualité du code • Plugin C ++ 1.3 avec 36 règles en production • Plugin AS avec 42 règles en production • Plugin Javascript 1.4 avec 35 règles en production Certaines de ces règles ont été adaptées, d’autres développées pour répondre au besoin spécifique de Bouygues Telecom. Focus sur les règles et les plugins
  18. 18. Sonar: exemple de tableaux de bord Domaine 1 1/ Tableau de bord Domaine 2/ Evolution du nombre de violations majeures et du nombre de lignes de code dans un domaine en Intégration continue Taille du code Complexité du code Evolution du Rule Compliance Index et du nombre de lignes de code Liste des versions d’analyse Evolution des métriques par version d’analyse Commentaires Cartouche Transgressions D1.P1
  19. 19. Sonar: cartographie du code - utilisation de Sqale Comparaison de la note SQALE des projets : Quelque soit : Leur technologie, Leur volume. En rapport avec le risque : Le calcul du RCI (Rule compliance Index) permet d’estimer la qualité des applications. Analyse des Applications La navigation dans les modules d’une application permet de se concentrer sur les point faibles de chaque projet. Domaine 1 Domaine 2 D2.P1 D2.P1 D1.P1 D1.P1 Domaine 1 Domaine 2 Application 34 Application 34 Module 1 Module 2 Module 3 Module 4 Module 5 Module 6 Module 6 Module 7 Module 8 Module 9 Module 10 Module 11
  20. 20. • Utilisation de SONAR sur le software Bbox depuis plus de 2 ans, par plusieurs équipes, co-localisées sur le même site. • SONAR permet de diminuer la dette technique par la mise en place d’une intégration continue et le lancement des analyses par le développeur sur son poste de travail, avant de livrer sur le stream de développement • Bon accueil de certaines équipes qui voient en Sonar un outil bénéfique pour améliorer la qualité, grâce à l’indication des violations directement dans le code. D’autres sont plus réticentes par résistance au changement. • Outils adapté au niveau du développeur (Analyses sur le poste du développeur), comme au niveau du manager (Agrégations permises par le plugin Views , notations fournies par le plugin SQALE) • SONAR est facile à déployer et c’est un outil flexible (permet le développement et l’adaptation de règles spécifiques). Bilan, retour d’expérience
  21. 21. Conclusion – modèle de maturité
  22. 22. Bilan - maturité usine
  23. 23. Questions / réponses

×