SlideShare une entreprise Scribd logo
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
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é
Bouygues Telecom Products
> 10 HW products
Set Top Box
(TV portal + firmware)
Gateway
(firmware)
Tablets, smartphones
xDSL
FTTH
Cable
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
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
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
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
Outils des usines logicielles
RRC
Gestion des
exigences
RTC
PlanificationDashboards
Gestion des
sources
Gestion des
anomalies
Builds
Qualimétrie
QC
Gestion des
tests
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
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
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
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
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)
Inspection globale Sonar
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
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
• 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
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
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
• 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
Conclusion – modèle de maturité
Bilan - maturité usine
Questions / réponses

Contenu connexe

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

BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesBreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
Xavier MARIN
 
Nouveaux scénarios de déploiement avec SCCM 2012 SP1
Nouveaux scénarios de déploiement avec SCCM 2012 SP1Nouveaux scénarios de déploiement avec SCCM 2012 SP1
Nouveaux scénarios de déploiement avec SCCM 2012 SP1
Microsoft Technet France
 
CV Saddam ZEMMALI Professionel Fr
CV Saddam ZEMMALI Professionel FrCV Saddam ZEMMALI Professionel Fr
CV Saddam ZEMMALI Professionel Fr
Saddam ZEMMALI ☁
 
REX Devops Docker
REX Devops DockerREX Devops Docker
REX Devops Docker
Romain Chalumeau
 
REX Devops Docker
REX Devops DockerREX Devops Docker
REX Devops Docker
Romain Chalumeau
 
La diffusion vidéo avec le Cloud Azure
La diffusion vidéo avec le Cloud AzureLa diffusion vidéo avec le Cloud Azure
La diffusion vidéo avec le Cloud Azure
Microsoft
 
Présentation solutions nemo (anite) 2014
Présentation solutions nemo (anite) 2014Présentation solutions nemo (anite) 2014
Présentation solutions nemo (anite) 2014
Patrick Medenou
 
2012 02-09-eranea-presentation-jug-lausanne
2012 02-09-eranea-presentation-jug-lausanne2012 02-09-eranea-presentation-jug-lausanne
2012 02-09-eranea-presentation-jug-lausanne
Didier Durand
 
Stratégie OpenJDK
Stratégie OpenJDKStratégie OpenJDK
Stratégie OpenJDK
Michel-Marie Maudet
 
Docker, Pierre angulaire du continuous delivery ?
Docker, Pierre angulaire du continuous delivery ?Docker, Pierre angulaire du continuous delivery ?
Docker, Pierre angulaire du continuous delivery ?
Adrien Blind
 
OpenStack & DevOps, l'Open Source au service du Cloud
OpenStack & DevOps, l'Open Source au service du CloudOpenStack & DevOps, l'Open Source au service du Cloud
OpenStack & DevOps, l'Open Source au service du Cloud
Michel-Marie Maudet
 
Flex4.5 air3.0
Flex4.5 air3.0Flex4.5 air3.0
Flex4.5 air3.0
Mathurin Body
 
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...
Publicis Sapient Engineering
 
8 Rex : Mise en place de DevOps sur Azure
8   Rex : Mise en place de DevOps sur Azure8   Rex : Mise en place de DevOps sur Azure
8 Rex : Mise en place de DevOps sur Azure
aOS Community
 
Plateformes et infrastructure infonuagique natif de ville de Montréall
Plateformes et infrastructure infonuagique natif de ville de MontréallPlateformes et infrastructure infonuagique natif de ville de Montréall
Plateformes et infrastructure infonuagique natif de ville de Montréall
CloudOps2005
 
Migration vers Active Directory 2012 et 2012 R2 : les meilleures pratiques
Migration vers Active Directory 2012 et 2012 R2 : les meilleures pratiques Migration vers Active Directory 2012 et 2012 R2 : les meilleures pratiques
Migration vers Active Directory 2012 et 2012 R2 : les meilleures pratiques
Microsoft Technet France
 

Similaire à 20131210 - Rex Bouygues Telecom - Integration et inspection continue avec RTC_Sonar (20)

BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseriesBreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
BreizhCamp 2019 - IoT et open source hardware pour la collecte de timeseries
 
Nouveaux scénarios de déploiement avec SCCM 2012 SP1
Nouveaux scénarios de déploiement avec SCCM 2012 SP1Nouveaux scénarios de déploiement avec SCCM 2012 SP1
Nouveaux scénarios de déploiement avec SCCM 2012 SP1
 
CV Saddam ZEMMALI Professionel Fr
CV Saddam ZEMMALI Professionel FrCV Saddam ZEMMALI Professionel Fr
CV Saddam ZEMMALI Professionel Fr
 
REX Devops Docker
REX Devops DockerREX Devops Docker
REX Devops Docker
 
REX Devops Docker
REX Devops DockerREX Devops Docker
REX Devops Docker
 
La diffusion vidéo avec le Cloud Azure
La diffusion vidéo avec le Cloud AzureLa diffusion vidéo avec le Cloud Azure
La diffusion vidéo avec le Cloud Azure
 
Présentation solutions nemo (anite) 2014
Présentation solutions nemo (anite) 2014Présentation solutions nemo (anite) 2014
Présentation solutions nemo (anite) 2014
 
BourrezCVFrançais
BourrezCVFrançaisBourrezCVFrançais
BourrezCVFrançais
 
2012 02-09-eranea-presentation-jug-lausanne
2012 02-09-eranea-presentation-jug-lausanne2012 02-09-eranea-presentation-jug-lausanne
2012 02-09-eranea-presentation-jug-lausanne
 
Stratégie OpenJDK
Stratégie OpenJDKStratégie OpenJDK
Stratégie OpenJDK
 
Docker, Pierre angulaire du continuous delivery ?
Docker, Pierre angulaire du continuous delivery ?Docker, Pierre angulaire du continuous delivery ?
Docker, Pierre angulaire du continuous delivery ?
 
OpenStack & DevOps, l'Open Source au service du Cloud
OpenStack & DevOps, l'Open Source au service du CloudOpenStack & DevOps, l'Open Source au service du Cloud
OpenStack & DevOps, l'Open Source au service du Cloud
 
Flex4.5 air3.0
Flex4.5 air3.0Flex4.5 air3.0
Flex4.5 air3.0
 
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...
 
§G-VisualDECO
§G-VisualDECO§G-VisualDECO
§G-VisualDECO
 
8 Rex : Mise en place de DevOps sur Azure
8   Rex : Mise en place de DevOps sur Azure8   Rex : Mise en place de DevOps sur Azure
8 Rex : Mise en place de DevOps sur Azure
 
NAGRA_WhitePaper_OPTV5_FR_Aout2015
NAGRA_WhitePaper_OPTV5_FR_Aout2015NAGRA_WhitePaper_OPTV5_FR_Aout2015
NAGRA_WhitePaper_OPTV5_FR_Aout2015
 
KAMAL 2016
KAMAL 2016KAMAL 2016
KAMAL 2016
 
Plateformes et infrastructure infonuagique natif de ville de Montréall
Plateformes et infrastructure infonuagique natif de ville de MontréallPlateformes et infrastructure infonuagique natif de ville de Montréall
Plateformes et infrastructure infonuagique natif de ville de Montréall
 
Migration vers Active Directory 2012 et 2012 R2 : les meilleures pratiques
Migration vers Active Directory 2012 et 2012 R2 : les meilleures pratiques Migration vers Active Directory 2012 et 2012 R2 : les meilleures pratiques
Migration vers Active Directory 2012 et 2012 R2 : les meilleures pratiques
 

Plus de LeClubQualiteLogicielle

20171122 03 - Les tests de performance en environnement DevOps
20171122 03 - Les tests de performance en environnement DevOps20171122 03 - Les tests de performance en environnement DevOps
20171122 03 - Les tests de performance en environnement DevOps
LeClubQualiteLogicielle
 
20171122 04 - Automatisation - formation et certifications
20171122 04 - Automatisation - formation et certifications20171122 04 - Automatisation - formation et certifications
20171122 04 - Automatisation - formation et certifications
LeClubQualiteLogicielle
 
20171122 02 - Engage developers to use better coding practices
20171122 02 - Engage developers to use better coding practices20171122 02 - Engage developers to use better coding practices
20171122 02 - Engage developers to use better coding practices
LeClubQualiteLogicielle
 
20171122 - Accueil Club Qualité Logicielle
20171122 - Accueil Club Qualité Logicielle 20171122 - Accueil Club Qualité Logicielle
20171122 - Accueil Club Qualité Logicielle
LeClubQualiteLogicielle
 
20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des...
20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des...20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des...
20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des...
LeClubQualiteLogicielle
 
20151013 - Agirc arrco : Behavior driven development
20151013 - Agirc arrco : Behavior driven development20151013 - Agirc arrco : Behavior driven development
20151013 - Agirc arrco : Behavior driven development
LeClubQualiteLogicielle
 
20151013 - Réduire les coûts des tests de performance ?
20151013 - Réduire les coûts des tests de performance ?20151013 - Réduire les coûts des tests de performance ?
20151013 - Réduire les coûts des tests de performance ?
LeClubQualiteLogicielle
 
20151013 - Accueil Club Qualité Logicielle
20151013 - Accueil Club Qualité Logicielle 20151013 - Accueil Club Qualité Logicielle
20151013 - Accueil Club Qualité Logicielle
LeClubQualiteLogicielle
 
20151013 - DevOps et qualification continue
20151013 - DevOps et qualification continue20151013 - DevOps et qualification continue
20151013 - DevOps et qualification continue
LeClubQualiteLogicielle
 
20140410 - Cartographie applicative multi-technologies et analyse d'impact
20140410 - Cartographie applicative multi-technologies et analyse d'impact20140410 - Cartographie applicative multi-technologies et analyse d'impact
20140410 - Cartographie applicative multi-technologies et analyse d'impact
LeClubQualiteLogicielle
 
20140410 - Implémentation de squash TM-TA - Architecture et méthodologie
20140410 - Implémentation de squash TM-TA - Architecture et méthodologie20140410 - Implémentation de squash TM-TA - Architecture et méthodologie
20140410 - Implémentation de squash TM-TA - Architecture et méthodologie
LeClubQualiteLogicielle
 
20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu...
20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu...20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu...
20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu...
LeClubQualiteLogicielle
 
20140410 - Choisir et implanter un outil de test
20140410 - Choisir et implanter un outil de test20140410 - Choisir et implanter un outil de test
20140410 - Choisir et implanter un outil de test
LeClubQualiteLogicielle
 
20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...
20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...
20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...
LeClubQualiteLogicielle
 
20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e...
20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e...20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e...
20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e...
LeClubQualiteLogicielle
 
20130113 05 - Inspection continue et roadmap 2013
20130113 05 - Inspection continue et roadmap 201320130113 05 - Inspection continue et roadmap 2013
20130113 05 - Inspection continue et roadmap 2013
LeClubQualiteLogicielle
 
20130113 04 - Tests d'integration et virtualisation - La vision IBM
20130113 04 - Tests d'integration et virtualisation - La vision IBM20130113 04 - Tests d'integration et virtualisation - La vision IBM
20130113 04 - Tests d'integration et virtualisation - La vision IBM
LeClubQualiteLogicielle
 
20130523 06 - The mathematics the way algorithms think / the mathematics the ...
20130523 06 - The mathematics the way algorithms think / the mathematics the ...20130523 06 - The mathematics the way algorithms think / the mathematics the ...
20130523 06 - The mathematics the way algorithms think / the mathematics the ...
LeClubQualiteLogicielle
 
20130523 05 - Cyclomatic complexity
20130523 05 - Cyclomatic complexity20130523 05 - Cyclomatic complexity
20130523 05 - Cyclomatic complexity
LeClubQualiteLogicielle
 
20130523 04 - Grille d'évaluation - Gestion du patrimoine de test
20130523 04 - Grille d'évaluation - Gestion du patrimoine de test20130523 04 - Grille d'évaluation - Gestion du patrimoine de test
20130523 04 - Grille d'évaluation - Gestion du patrimoine de test
LeClubQualiteLogicielle
 

Plus de LeClubQualiteLogicielle (20)

20171122 03 - Les tests de performance en environnement DevOps
20171122 03 - Les tests de performance en environnement DevOps20171122 03 - Les tests de performance en environnement DevOps
20171122 03 - Les tests de performance en environnement DevOps
 
20171122 04 - Automatisation - formation et certifications
20171122 04 - Automatisation - formation et certifications20171122 04 - Automatisation - formation et certifications
20171122 04 - Automatisation - formation et certifications
 
20171122 02 - Engage developers to use better coding practices
20171122 02 - Engage developers to use better coding practices20171122 02 - Engage developers to use better coding practices
20171122 02 - Engage developers to use better coding practices
 
20171122 - Accueil Club Qualité Logicielle
20171122 - Accueil Club Qualité Logicielle 20171122 - Accueil Club Qualité Logicielle
20171122 - Accueil Club Qualité Logicielle
 
20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des...
20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des...20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des...
20151013 - Crédit Mutuel ARKEA : mise en place d'une traçabilité outillée des...
 
20151013 - Agirc arrco : Behavior driven development
20151013 - Agirc arrco : Behavior driven development20151013 - Agirc arrco : Behavior driven development
20151013 - Agirc arrco : Behavior driven development
 
20151013 - Réduire les coûts des tests de performance ?
20151013 - Réduire les coûts des tests de performance ?20151013 - Réduire les coûts des tests de performance ?
20151013 - Réduire les coûts des tests de performance ?
 
20151013 - Accueil Club Qualité Logicielle
20151013 - Accueil Club Qualité Logicielle 20151013 - Accueil Club Qualité Logicielle
20151013 - Accueil Club Qualité Logicielle
 
20151013 - DevOps et qualification continue
20151013 - DevOps et qualification continue20151013 - DevOps et qualification continue
20151013 - DevOps et qualification continue
 
20140410 - Cartographie applicative multi-technologies et analyse d'impact
20140410 - Cartographie applicative multi-technologies et analyse d'impact20140410 - Cartographie applicative multi-technologies et analyse d'impact
20140410 - Cartographie applicative multi-technologies et analyse d'impact
 
20140410 - Implémentation de squash TM-TA - Architecture et méthodologie
20140410 - Implémentation de squash TM-TA - Architecture et méthodologie20140410 - Implémentation de squash TM-TA - Architecture et méthodologie
20140410 - Implémentation de squash TM-TA - Architecture et méthodologie
 
20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu...
20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu...20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu...
20140410 - Gestion des identités, traçabilité des accés - Analogie avec la qu...
 
20140410 - Choisir et implanter un outil de test
20140410 - Choisir et implanter un outil de test20140410 - Choisir et implanter un outil de test
20140410 - Choisir et implanter un outil de test
 
20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...
20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...
20130113 02 - TMMI, un modèle pour rentabiliser une organisation de test et a...
 
20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e...
20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e...20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e...
20130113 06 - Travaux de recherche sur la corrélation entre qualité du code e...
 
20130113 05 - Inspection continue et roadmap 2013
20130113 05 - Inspection continue et roadmap 201320130113 05 - Inspection continue et roadmap 2013
20130113 05 - Inspection continue et roadmap 2013
 
20130113 04 - Tests d'integration et virtualisation - La vision IBM
20130113 04 - Tests d'integration et virtualisation - La vision IBM20130113 04 - Tests d'integration et virtualisation - La vision IBM
20130113 04 - Tests d'integration et virtualisation - La vision IBM
 
20130523 06 - The mathematics the way algorithms think / the mathematics the ...
20130523 06 - The mathematics the way algorithms think / the mathematics the ...20130523 06 - The mathematics the way algorithms think / the mathematics the ...
20130523 06 - The mathematics the way algorithms think / the mathematics the ...
 
20130523 05 - Cyclomatic complexity
20130523 05 - Cyclomatic complexity20130523 05 - Cyclomatic complexity
20130523 05 - Cyclomatic complexity
 
20130523 04 - Grille d'évaluation - Gestion du patrimoine de test
20130523 04 - Grille d'évaluation - Gestion du patrimoine de test20130523 04 - Grille d'évaluation - Gestion du patrimoine de test
20130523 04 - Grille d'évaluation - Gestion du patrimoine de test
 

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

  • 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. 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. Bouygues Telecom Products > 10 HW products Set Top Box (TV portal + firmware) Gateway (firmware) Tablets, smartphones xDSL FTTH Cable
  • 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. 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. 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. 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. 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 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. 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. 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. 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. 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)
  • 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. 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. • 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. 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. 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. • 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. Conclusion – modèle de maturité