SlideShare a Scribd company logo
1 of 42
Download to read offline
SOFTWARE FACTORY:
LES CHALLENGES ET NOS
PRATIQUES
Johanne Sebaux – IBM - Architecte QA
Rémi Lejeune – IBM – Développeur
Mars 2019
AGENDA
1. INTRODUCTION
2. NOTRE CONTEXTE: LE DÉVELOPPEMENT D’ODM
3. NOTRE PARCOURS
4. DÉMONSTRATION
1. INTRODUCTION
IBM FRANCE LAB : DECISION ENGINEERING AT THE HEART OF AI
IBM France Lab
350 développeurs
250 experts service/support
100 PhDs
5 Phd students
1 Center for Advanced Studies
100+ brevets déposés depuis 2011
Paris-GentillyParis-Saclay
Sofia-Antipolis
• Correlations
(Predictive
Models)
• Classifiers
(Descriptive
Models)
• Rules
(Prescriptive
Models)
Decide
Outside
World
DescribePredict
Machine Learning, Deep learning,
NLP, Vision
Big Data
& Analytics
Decision
Engineering
Pornichet
C’ÉTAIT AVANT…
• Processus hérités d’industries
plus anciennes
• Modèle rigide et lent
… ET MAINTENANT
• Méthodologies agiles
• Intégration continue
• Livraison continue
• Devops
NOTRE FOCUS : LA SOFTWARE FACTORY
Bugfix Feature
Updated software
2. NOTRE CONTEXTE : LE
DÉVELOPPEMENT D’ODM
© 2016 IBM
ODM : UN PROJET DE DÉVELOPPEMENT XXL
• 10,000,000 lignes de code
• 15 ans d’historique
• 300 bugs internes / mois
• 10+ branches maintenues en permanence
• 60 composants principaux
• Environ 100 développeurs dans une dizaine d’équipes
UNE FORÊT DE COMPOSANTS INTERDÉPENDANTS
EXPÉRIENCE: "REMPLISSAGE D'ENVELOPPE"
- EXERCICE 1 (MODE BATCH)
- EXERCICE 2 (MODE BOUT EN BOUT)
1ère enveloppe 6e enveloppe
Équipe 1 2’20’’ 2’58’’
Équipe 2 1’21’’ 2’24’’
Équipe 3 2’13’’ 3’31’’
1ère enveloppe 6e enveloppe
Équipe 1 28’’ 2’35’’
Équipe 2 26’’ 2’31’’
Équipe 3 22’’ 2’32’’
3. NOTRE PARCOURS DANS LA
FABRICATION DE LOGICIEL
PRODUCTION LOGICIELLE POUR ODM
Bugfix Feature
Updated software
POINT DE DÉPART
Dev Dev Dev Dev Dev Dev Stabilization Stabilization RC1 RC2 RC3 GM
6-12 months 2 months 2 months
Dev Dev Dev DevDev
C
B
A
EXEMPLE: MYSOFT
A B C
MODE SÉQUENTIEL
A B C
MODE SÉQUENTIEL
Dev Dev Dev Dev Dev Dev Stabilization Stabilization RC1 RC2 RC3 GM
6-12 months 2 months 2 months
Dev Dev Dev DevDev
A
B
C
Beta Version
C
B
A
C
B
A
Version officielle
LIVRAISON SÉQUENTIELLE
EFFET TUNNEL
PROBLÈME 1
Automatisation
AUTOMATISATION - CÔTÉ TECHNIQUE
Gestionnaire
de Source
RTC / GitHub
A
B
C
Dev Dev Dev Dev Dev Dev Stabilization Stabilization RC1 RC2 RC3 GM
6 months 2 months 2 months
A
B
C
A
B
C
A
B
C
A
B
C
A
B
C
AUTOMATISATION - CÔTÉ ORGANISATIONNEL
RIGIDITÉ
PROBLÈME 2
INTÉGRATION MANUELLE &
DISCRÈTE
FIN DU PROCESSUS MANUEL
Automatisation
Orchestration
Intégration Continue
Bamboo
Travis
Gestionnaire
de Source
RTC / GitHub
Conteneur d’artéfact
Nexus/Maven
Artifactory
Agent
Agent
Agent
INTÉGRATION CONTINUE - CÔTÉ TECHNIQUE
INTÉGRATION CONTINUE - CÔTÉ CULTUREL
Dev Dev Dev Dev Dev Dev RC1 RC2 RC3 GM
6 months 2 months
Sta
biliz
atio
n
Sta
biliz
atio
n
Sta
biliz
atio
n
Sta
biliz
atio
n
Sta
biliz
atio
n
Sta
biliz
atio
n
Dev Dev Dev Dev Dev Dev Stabilization Stabilization RC1 RC2 RC3 GM
6 months 2 months 2 months
INTÉGRATION CONTINUE - CÔTÉ ORGANISATIONNEL
AVANT L'INTÉGRATION CONTINUE
APRÈS L'INTÉGRATION CONTINUE
CONSISTANCE
PROBLÈME 3
B1(A1)A1
A2 B2(A2)
C1(B1)
Automatisation
Orchestration
Livraison
Continue
LIVRAISON CONTINUE - CÔTÉ TECHNIQUE
Dev Dev Dev Dev Dev Dev RC1 RC2 RC3 GM
6 months 2 months
Sta
biliz
atio
n
Sta
biliz
atio
n
Sta
biliz
atio
n
Sta
biliz
atio
n
Sta
biliz
atio
n
Sta
biliz
atio
n
Dev Dev Dev Dev Dev Dev GM
6 months 3
weeks
Bu
ild
Bu
ild
Bu
ild
Bu
ild
Bu
ild
Bu
ild
LIVRAISON CONTINUE - CÔTÉ ORGANISATIONNEL
AVANT LA LIVRAISON CONTINUE
APRÈS LA LIVRAISON CONTINUE
ADOPTION
PROBLÈME 4
Automatisation
Orchestration
Livraison
Continue
DevOps
Dev Dev Dev Dev Dev Dev GM
6 months 3
weeks
Bu
ild
Bu
ild
Bu
ild
Bu
ild
Bu
ild
Bu
ild
Dev Dev Dev Refesh
3 months
Bu
ild
Bu
ild
Bu
ild
DEVOPS - CÔTÉ ORGANISATIONNEL
AVANT DEVOPS
APRÈS DEVOPS
Dev Refesh
1 month
Build
APRÈS DEVOPS AU MIEUX
DÉMONSTRATION
BACKUP
AGILITÉ: DÉFINITION
CULTURE & TECHNIQUE
Release
planning
•Critical function
that drive
release
roadmap,
project plan,
delivery
schedule
•Avoid waterfall
processes —>
Agile processes
•Small, frequent
releases —>
focus on quality
Collaboration
•Development,
QA, and
operations
organizations
need to
coordinate
Automation
•Tooling to
automate the
E2E software
development
and deployment
process
Continuous
integration
•Forcing
developers to
integrate their
work with other
developers
frequently
Continuous
Delivery
•Release more
rapidly, more
frequently
specifically on
Cloud and
Bluemix.
Get customer
feedback faster.
Continuous
testing
•Is not a just
about QA
people (Dev &
Infrastructure
needed)
Continuous
monitoring &
feedback
•Failures must be
found and fixed
asap  Tooling
Continuous
improvement
•On going
process for
improvement
inspired by
Toyota Kata and
iteration
retrospectives
•What are our
impediments ?
•How can we
accelerate this
?
IBM OPERATIONAL DECISION
MANAGER
39
ODM is platform for
• Capturing
• Governing
• Executing
frequent, repeatable business decisions
A
B (A1)
C (A2)
D
Itération 1 Itération 2 Itération 3 Livraison
A : feature a.3 +
bug fix
A : feature a.2 +
bug fix
A : feature a.1
B: feature b.2 +
Bug fix
B : feature b.1
Développement Agile
A : bug fix
B: bug fix

More Related Content

Similar to IBM Cloud Bordeaux Meetup - 20190325 - Software Factory

Agile - Iteration 0 CodeMash 2010
Agile - Iteration 0 CodeMash 2010Agile - Iteration 0 CodeMash 2010
Agile - Iteration 0 CodeMash 2010
kensipe
 
DevOps/Flow workshop for agile india 2015
DevOps/Flow workshop for agile india 2015DevOps/Flow workshop for agile india 2015
DevOps/Flow workshop for agile india 2015
Yuval Yeret
 

Similar to IBM Cloud Bordeaux Meetup - 20190325 - Software Factory (20)

給 RD 的 Kubernetes 初體驗 (GDG Cloud KH 2019-08 version)
給 RD 的 Kubernetes 初體驗 (GDG Cloud KH 2019-08 version) 給 RD 的 Kubernetes 初體驗 (GDG Cloud KH 2019-08 version)
給 RD 的 Kubernetes 初體驗 (GDG Cloud KH 2019-08 version)
 
Hardening Your CI/CD Pipelines with GitOps and Continuous Security
Hardening Your CI/CD Pipelines with GitOps and Continuous SecurityHardening Your CI/CD Pipelines with GitOps and Continuous Security
Hardening Your CI/CD Pipelines with GitOps and Continuous Security
 
Git workflows á la-carte, Presenation at jdays2013 www.jdays.se by Nicola Pao...
Git workflows á la-carte, Presenation at jdays2013 www.jdays.se by Nicola Pao...Git workflows á la-carte, Presenation at jdays2013 www.jdays.se by Nicola Pao...
Git workflows á la-carte, Presenation at jdays2013 www.jdays.se by Nicola Pao...
 
Openstack Summit Container Day Keynote
Openstack Summit Container Day KeynoteOpenstack Summit Container Day Keynote
Openstack Summit Container Day Keynote
 
Be a Happier Developer with Git / Productive Team #gettinggitright
Be a Happier Developer with Git / Productive Team #gettinggitright Be a Happier Developer with Git / Productive Team #gettinggitright
Be a Happier Developer with Git / Productive Team #gettinggitright
 
Agile - Iteration 0 CodeMash 2010
Agile - Iteration 0 CodeMash 2010Agile - Iteration 0 CodeMash 2010
Agile - Iteration 0 CodeMash 2010
 
Deploying Straight to Production
Deploying Straight to ProductionDeploying Straight to Production
Deploying Straight to Production
 
Android Continuous Integration and Automation - Enrique Lopez Manas, Sixt
Android Continuous Integration and Automation - Enrique Lopez Manas, SixtAndroid Continuous Integration and Automation - Enrique Lopez Manas, Sixt
Android Continuous Integration and Automation - Enrique Lopez Manas, Sixt
 
Continuous Delivery for Python Developers – PyCon Otto
Continuous Delivery for Python Developers – PyCon OttoContinuous Delivery for Python Developers – PyCon Otto
Continuous Delivery for Python Developers – PyCon Otto
 
Continuous Delivery the French Way – Dimitri Baeli
Continuous Delivery the French Way – Dimitri Baeli Continuous Delivery the French Way – Dimitri Baeli
Continuous Delivery the French Way – Dimitri Baeli
 
Continuous Delivery Agile Tour Beirut 2015
Continuous Delivery Agile Tour Beirut 2015Continuous Delivery Agile Tour Beirut 2015
Continuous Delivery Agile Tour Beirut 2015
 
Scaling Up Lookout
Scaling Up LookoutScaling Up Lookout
Scaling Up Lookout
 
Devops is (not ) a buzzword
Devops is (not ) a buzzwordDevops is (not ) a buzzword
Devops is (not ) a buzzword
 
Dev Ops for systems of record - Talk at Agile Australia 2015
Dev Ops for systems of record - Talk at Agile Australia 2015Dev Ops for systems of record - Talk at Agile Australia 2015
Dev Ops for systems of record - Talk at Agile Australia 2015
 
StackEngine Demo - Docker Austin
StackEngine Demo - Docker AustinStackEngine Demo - Docker Austin
StackEngine Demo - Docker Austin
 
DevOps/Flow workshop for agile india 2015
DevOps/Flow workshop for agile india 2015DevOps/Flow workshop for agile india 2015
DevOps/Flow workshop for agile india 2015
 
Speeding up your team with GitOps
Speeding up your team with GitOpsSpeeding up your team with GitOps
Speeding up your team with GitOps
 
給 RD 的 Kubernetes 初體驗 (gcpug 2019-06 version)
給 RD 的 Kubernetes 初體驗 (gcpug 2019-06 version)給 RD 的 Kubernetes 初體驗 (gcpug 2019-06 version)
給 RD 的 Kubernetes 初體驗 (gcpug 2019-06 version)
 
Use GitLab with Chaos Engineering to Harden your Applications + OpenEBS 1.3 ...
 Use GitLab with Chaos Engineering to Harden your Applications + OpenEBS 1.3 ... Use GitLab with Chaos Engineering to Harden your Applications + OpenEBS 1.3 ...
Use GitLab with Chaos Engineering to Harden your Applications + OpenEBS 1.3 ...
 
LKNL12: Kanban for the whole value stream
LKNL12: Kanban for the whole value streamLKNL12: Kanban for the whole value stream
LKNL12: Kanban for the whole value stream
 

More from IBM France Lab

20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
IBM France Lab
 
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
IBM France Lab
 

More from IBM France Lab (20)

20200113 - IBM Cloud Côte d'Azur - DeepDive Kubernetes
20200113 - IBM Cloud Côte d'Azur - DeepDive Kubernetes20200113 - IBM Cloud Côte d'Azur - DeepDive Kubernetes
20200113 - IBM Cloud Côte d'Azur - DeepDive Kubernetes
 
20200114 - IBM Cloud Paris Meetup - DevOps
20200114 - IBM Cloud Paris Meetup - DevOps20200114 - IBM Cloud Paris Meetup - DevOps
20200114 - IBM Cloud Paris Meetup - DevOps
 
20200128 - Meetup Nice Côte d'Azur - Agile Mindset
20200128 - Meetup Nice Côte d'Azur - Agile Mindset20200128 - Meetup Nice Côte d'Azur - Agile Mindset
20200128 - Meetup Nice Côte d'Azur - Agile Mindset
 
Défis de l'IA : droits, devoirs, enjeux économiques et éthiques
Défis de l'IA : droits, devoirs, enjeux économiques et éthiquesDéfis de l'IA : droits, devoirs, enjeux économiques et éthiques
Défis de l'IA : droits, devoirs, enjeux économiques et éthiques
 
Meetup ibm abakus banque postale
Meetup ibm abakus banque postaleMeetup ibm abakus banque postale
Meetup ibm abakus banque postale
 
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
 
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
20190613 - IBM Cloud Côte d'Azur meetup - "Cloud & Containers"
 
IBM Watson IOT - Acoustic or Visual Insights
IBM Watson IOT - Acoustic or Visual InsightsIBM Watson IOT - Acoustic or Visual Insights
IBM Watson IOT - Acoustic or Visual Insights
 
Retour expérience Track & Trace - IBM using Sigfox.
Retour expérience Track & Trace - IBM using Sigfox.Retour expérience Track & Trace - IBM using Sigfox.
Retour expérience Track & Trace - IBM using Sigfox.
 
20190520 - IBM Cloud Paris-Saclay Meetup - Hardis Group
20190520  - IBM Cloud Paris-Saclay Meetup - Hardis Group20190520  - IBM Cloud Paris-Saclay Meetup - Hardis Group
20190520 - IBM Cloud Paris-Saclay Meetup - Hardis Group
 
IBM Cloud Paris Meetup - 20190520 - IA & Power
IBM Cloud Paris Meetup - 20190520 - IA & PowerIBM Cloud Paris Meetup - 20190520 - IA & Power
IBM Cloud Paris Meetup - 20190520 - IA & Power
 
IBM Cloud Côte d'Azur Meetup - 20190328 - Optimisation
IBM Cloud Côte d'Azur Meetup - 20190328 - OptimisationIBM Cloud Côte d'Azur Meetup - 20190328 - Optimisation
IBM Cloud Côte d'Azur Meetup - 20190328 - Optimisation
 
IBM Cloud Côte d'Azur Meetup - 20190328 - Optimisation
IBM Cloud Côte d'Azur Meetup - 20190328 - OptimisationIBM Cloud Côte d'Azur Meetup - 20190328 - Optimisation
IBM Cloud Côte d'Azur Meetup - 20190328 - Optimisation
 
IBM Cloud Paris Meetup - 20190129 - Assima
IBM Cloud Paris Meetup - 20190129 - AssimaIBM Cloud Paris Meetup - 20190129 - Assima
IBM Cloud Paris Meetup - 20190129 - Assima
 
IBM Cloud Paris Meetup - 20190129 - Myrtea
IBM Cloud Paris Meetup - 20190129 - MyrteaIBM Cloud Paris Meetup - 20190129 - Myrtea
IBM Cloud Paris Meetup - 20190129 - Myrtea
 
IBM Cloud Paris Meetup - 20181016 - L'agilité à l'échelle
IBM Cloud Paris Meetup - 20181016 - L'agilité à l'échelleIBM Cloud Paris Meetup - 20181016 - L'agilité à l'échelle
IBM Cloud Paris Meetup - 20181016 - L'agilité à l'échelle
 
IBM Cloud Côte d'Azur Meetup - Blockchain Business Processes & Rule-based Sm...
IBM Cloud Côte d'Azur Meetup - Blockchain Business Processes &  Rule-based Sm...IBM Cloud Côte d'Azur Meetup - Blockchain Business Processes &  Rule-based Sm...
IBM Cloud Côte d'Azur Meetup - Blockchain Business Processes & Rule-based Sm...
 
IBM Cloud Côte D'Azur Meetup - 20181004 - Blockchain Hyperledger Workshop
IBM Cloud Côte D'Azur Meetup - 20181004 - Blockchain Hyperledger WorkshopIBM Cloud Côte D'Azur Meetup - 20181004 - Blockchain Hyperledger Workshop
IBM Cloud Côte D'Azur Meetup - 20181004 - Blockchain Hyperledger Workshop
 
IBM Cloud Paris Meetup - 20180911 - Common Ledger for Public Administration
IBM Cloud Paris Meetup - 20180911 - Common Ledger for Public AdministrationIBM Cloud Paris Meetup - 20180911 - Common Ledger for Public Administration
IBM Cloud Paris Meetup - 20180911 - Common Ledger for Public Administration
 
IBM Cloud Paris Meetup - 20180911 - Smart Citizen Bot
IBM Cloud Paris Meetup - 20180911 - Smart Citizen BotIBM Cloud Paris Meetup - 20180911 - Smart Citizen Bot
IBM Cloud Paris Meetup - 20180911 - Smart Citizen Bot
 

Recently uploaded

Recently uploaded (20)

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 

IBM Cloud Bordeaux Meetup - 20190325 - Software Factory

  • 1. SOFTWARE FACTORY: LES CHALLENGES ET NOS PRATIQUES Johanne Sebaux – IBM - Architecte QA Rémi Lejeune – IBM – Développeur Mars 2019
  • 2. AGENDA 1. INTRODUCTION 2. NOTRE CONTEXTE: LE DÉVELOPPEMENT D’ODM 3. NOTRE PARCOURS 4. DÉMONSTRATION
  • 4. IBM FRANCE LAB : DECISION ENGINEERING AT THE HEART OF AI IBM France Lab 350 développeurs 250 experts service/support 100 PhDs 5 Phd students 1 Center for Advanced Studies 100+ brevets déposés depuis 2011 Paris-GentillyParis-Saclay Sofia-Antipolis • Correlations (Predictive Models) • Classifiers (Descriptive Models) • Rules (Prescriptive Models) Decide Outside World DescribePredict Machine Learning, Deep learning, NLP, Vision Big Data & Analytics Decision Engineering Pornichet
  • 5. C’ÉTAIT AVANT… • Processus hérités d’industries plus anciennes • Modèle rigide et lent
  • 6. … ET MAINTENANT • Méthodologies agiles • Intégration continue • Livraison continue • Devops
  • 7. NOTRE FOCUS : LA SOFTWARE FACTORY Bugfix Feature Updated software
  • 8. 2. NOTRE CONTEXTE : LE DÉVELOPPEMENT D’ODM
  • 9. © 2016 IBM ODM : UN PROJET DE DÉVELOPPEMENT XXL • 10,000,000 lignes de code • 15 ans d’historique • 300 bugs internes / mois • 10+ branches maintenues en permanence • 60 composants principaux • Environ 100 développeurs dans une dizaine d’équipes
  • 10. UNE FORÊT DE COMPOSANTS INTERDÉPENDANTS
  • 11. EXPÉRIENCE: "REMPLISSAGE D'ENVELOPPE" - EXERCICE 1 (MODE BATCH) - EXERCICE 2 (MODE BOUT EN BOUT) 1ère enveloppe 6e enveloppe Équipe 1 2’20’’ 2’58’’ Équipe 2 1’21’’ 2’24’’ Équipe 3 2’13’’ 3’31’’ 1ère enveloppe 6e enveloppe Équipe 1 28’’ 2’35’’ Équipe 2 26’’ 2’31’’ Équipe 3 22’’ 2’32’’
  • 12. 3. NOTRE PARCOURS DANS LA FABRICATION DE LOGICIEL
  • 13. PRODUCTION LOGICIELLE POUR ODM Bugfix Feature Updated software
  • 14. POINT DE DÉPART Dev Dev Dev Dev Dev Dev Stabilization Stabilization RC1 RC2 RC3 GM 6-12 months 2 months 2 months Dev Dev Dev DevDev
  • 16. A B C MODE SÉQUENTIEL
  • 17. A B C MODE SÉQUENTIEL Dev Dev Dev Dev Dev Dev Stabilization Stabilization RC1 RC2 RC3 GM 6-12 months 2 months 2 months Dev Dev Dev DevDev
  • 21. AUTOMATISATION - CÔTÉ TECHNIQUE Gestionnaire de Source RTC / GitHub
  • 22. A B C Dev Dev Dev Dev Dev Dev Stabilization Stabilization RC1 RC2 RC3 GM 6 months 2 months 2 months A B C A B C A B C A B C A B C AUTOMATISATION - CÔTÉ ORGANISATIONNEL
  • 23. RIGIDITÉ PROBLÈME 2 INTÉGRATION MANUELLE & DISCRÈTE FIN DU PROCESSUS MANUEL
  • 25. Intégration Continue Bamboo Travis Gestionnaire de Source RTC / GitHub Conteneur d’artéfact Nexus/Maven Artifactory Agent Agent Agent INTÉGRATION CONTINUE - CÔTÉ TECHNIQUE
  • 26. INTÉGRATION CONTINUE - CÔTÉ CULTUREL
  • 27. Dev Dev Dev Dev Dev Dev RC1 RC2 RC3 GM 6 months 2 months Sta biliz atio n Sta biliz atio n Sta biliz atio n Sta biliz atio n Sta biliz atio n Sta biliz atio n Dev Dev Dev Dev Dev Dev Stabilization Stabilization RC1 RC2 RC3 GM 6 months 2 months 2 months INTÉGRATION CONTINUE - CÔTÉ ORGANISATIONNEL AVANT L'INTÉGRATION CONTINUE APRÈS L'INTÉGRATION CONTINUE
  • 30. LIVRAISON CONTINUE - CÔTÉ TECHNIQUE
  • 31. Dev Dev Dev Dev Dev Dev RC1 RC2 RC3 GM 6 months 2 months Sta biliz atio n Sta biliz atio n Sta biliz atio n Sta biliz atio n Sta biliz atio n Sta biliz atio n Dev Dev Dev Dev Dev Dev GM 6 months 3 weeks Bu ild Bu ild Bu ild Bu ild Bu ild Bu ild LIVRAISON CONTINUE - CÔTÉ ORGANISATIONNEL AVANT LA LIVRAISON CONTINUE APRÈS LA LIVRAISON CONTINUE
  • 34. Dev Dev Dev Dev Dev Dev GM 6 months 3 weeks Bu ild Bu ild Bu ild Bu ild Bu ild Bu ild Dev Dev Dev Refesh 3 months Bu ild Bu ild Bu ild DEVOPS - CÔTÉ ORGANISATIONNEL AVANT DEVOPS APRÈS DEVOPS Dev Refesh 1 month Build APRÈS DEVOPS AU MIEUX
  • 38. CULTURE & TECHNIQUE Release planning •Critical function that drive release roadmap, project plan, delivery schedule •Avoid waterfall processes —> Agile processes •Small, frequent releases —> focus on quality Collaboration •Development, QA, and operations organizations need to coordinate Automation •Tooling to automate the E2E software development and deployment process Continuous integration •Forcing developers to integrate their work with other developers frequently Continuous Delivery •Release more rapidly, more frequently specifically on Cloud and Bluemix. Get customer feedback faster. Continuous testing •Is not a just about QA people (Dev & Infrastructure needed) Continuous monitoring & feedback •Failures must be found and fixed asap  Tooling Continuous improvement •On going process for improvement inspired by Toyota Kata and iteration retrospectives •What are our impediments ? •How can we accelerate this ?
  • 39. IBM OPERATIONAL DECISION MANAGER 39 ODM is platform for • Capturing • Governing • Executing frequent, repeatable business decisions
  • 40.
  • 42. Itération 1 Itération 2 Itération 3 Livraison A : feature a.3 + bug fix A : feature a.2 + bug fix A : feature a.1 B: feature b.2 + Bug fix B : feature b.1 Développement Agile A : bug fix B: bug fix