Déploiement continu, l'agilité
maximisée?
Agile Tour Montréal 2016
Plan
• Pourquoi je vous parle de ce sujet?
• Qu’est-ce que c’est?
• Est-ce vraiment utile?
• Et les enjeux?
• Comment s’y ...
Qu’est-ce que c’est?
3
• Approche popularisée depuis 2010
– Initié par le rappel de
– Accélération de bout en bout de la c...
Qu’est-ce que c’est?
4
Développe-
ment
Intégration
Tests
Déploie-
ment
Surveillance
Soutien
Qu’est-ce que c’est?
Développe-
ment
Intégration
TestsDéploiement
Surveillance
Soutien
• Analyse
• Architecture
• Cas de t...
Qu’est-ce que c’est?
Développement
Intégration
TestsDéploiement
Surveillance
Soutien
• Assemblage
• Compilation
• Édition ...
Qu’est-ce que c’est?
Développement
Intégration
Tests
Déploiement
Surveillance
Soutien
• Tests automatisés
– Acceptation
– ...
Qu’est-ce que c’est?
Développement
Intégration
Tests
Déploie-
ment
Surveillance
Soutien
• Gestion de la
configuration
• Re...
Qu’est-ce que c’est?
Développement
Intégration
TestsDéploiement
Surveillance
Soutien
• Gestion de la capacité
• Surveillan...
Qu’est-ce que c’est?
Développement
Intégration
TestsDéploiement
Surveillance
Soutien
• Autonomisation de
l’utilisateur
• C...
Dev
Int
Tests
Dep.
Surv.
Sou.
Qu’est-ce que c’est?
11
100 jrs 10 jrs 1 jr 0.1 jr 0.01 jr
Monolithique Par service, approch...
Qu’est-ce que c’est?
12
Développe-
ment
Intégration
Tests
Déploie-
ment
Surveillance
Soutien
Est-ce vraiment utile?
13
Est-ce vraiment utile?
• Marketing accéléré
– plus facile de comprendre ce que les clients
recherchent
• Diminuer le temps...
Est-ce vraiment utile?
• Diminution des risques d’une livraison
– petits incréments
• Impacts d’une erreur limités
– erreu...
Et les enjeux?
• Certains clients rébarbatifs
– c’est pas pour tous
• Investissements massifs
– automatiser c’est pas touj...
Et les enjeux?
• Découvertes des nouvelles fonctionnalités par
les utilisateurs
– comment bien le faire?
• Interruption de...
Et les enjeux?
• Automatisation difficile
– par exemple les tests d’acceptation
• Suivi de la documentation
– défi de sync...
Comment s’y rendre?
19
• Gouvernance
– Culture
+ Gestion de changement
+ Impliquer la haute direction
– Processus
+ Accélé...
Comment s’y rendre?
20
• Les utilisateurs
– Informer
+ Blogues, Sondages, Wikis, …
– Impliquer
+ Ciblage
+ Production part...
Comment s’y rendre?
21
Comment s’y rendre?
22
SOURCE: martinfowler.com/articles/feature-toggles.html
Comment s’y rendre?
23
Équilibreur
de charge
Ancienne version
Nouvelle version
(100 – s) %
s %
Mise en production :
• t : ...
Comment s’y rendre?
• Bien surveiller le
nombre de
• Bogues (+sévérité)
• Nombre de dév.
• Nombre de LoC par dév.
• Pannes...
Comment s’y rendre?
• Applications mobiles
– Retour arrière et correctifs d’urgence difficiles
– Stabiliser (5 jours) et f...
Comment s’y rendre?
– Utilisateur choisit quand il change de version
– Utiliser les commutateurs (feature toggle)
– Versio...
Et puis…
• La fréquence de livraison
– N’affecte pas le nombre d’erreurs critiques
– Affecte peu le nombre d’erreurs de mo...
Mais surtout…
• N’oublions pas notre client-collaborateur !
– Appel à tous sur comment, de façon continue, peut-
on optimi...
Références intéressantes
+ Leppänen, M. et al., The Highways and Country Roads to
Continuous Deployment dans IEEE Software...
Dr. Pierre-Martin Tardif, ing., MBA, PMP, CGEIT
pmtardif@visisyst.com
tardifpm
Agile Tour Montréal 2016
Prochain SlideShare
Chargement dans…5
×

Déploiement continu, l'agilité maximisée ? - Pierre-Martin Tardif

205 vues

Publié le

Déploiement continu, l'agilité maximisée ?
​Cette conférence portera sur l'approche émergente du déploiement continu. Proposée en 2010 et popularisée en 2015, elle intègre le développement, les tests et les mises en production. Nous profiterons du vécu de petites et grandes entreprises qui l'ont implanté et nous nous questionnerons sur ses impacts, de même que ses facilitateurs.

À propos de Pierre-Martin Tardif
Gestionnaire passionné avec plus de 30 années d’expérience en TI, dont 15 années en gestion de projet de développement.

A travaillé dans des organisations publiques et privées, de petites et de grandes tailles.

Détenteur d’un doctorat en génie, d'un MBA, certifié PMP, CGEIT et Green Belt Lean Six-Sigma.

Grand communicateur, coach, habitué à la gestion de la relation client-fournisseur, spécialisé en gestion du changement humain.

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
205
Sur SlideShare
0
Issues des intégrations
0
Intégrations
0
Actions
Partages
0
Téléchargements
18
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Déploiement continu, l'agilité maximisée ? - Pierre-Martin Tardif

  1. 1. Déploiement continu, l'agilité maximisée? Agile Tour Montréal 2016
  2. 2. Plan • Pourquoi je vous parle de ce sujet? • Qu’est-ce que c’est? • Est-ce vraiment utile? • Et les enjeux? • Comment s’y rendre? • Et puis… 2
  3. 3. Qu’est-ce que c’est? 3 • Approche popularisée depuis 2010 – Initié par le rappel de – Accélération de bout en bout de la chaîne de développement + De l’utilisateur au développeur à l’utilisateur Agile Principle #1 Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
  4. 4. Qu’est-ce que c’est? 4 Développe- ment Intégration Tests Déploie- ment Surveillance Soutien
  5. 5. Qu’est-ce que c’est? Développe- ment Intégration TestsDéploiement Surveillance Soutien • Analyse • Architecture • Cas de tests • Cueillette des besoins • Documentation • Priorisation • Programmation • Tests unitaires 5
  6. 6. Qu’est-ce que c’est? Développement Intégration TestsDéploiement Surveillance Soutien • Assemblage • Compilation • Édition de liens • Gestion des versions • Modularisation • Tests d’intégration 6
  7. 7. Qu’est-ce que c’est? Développement Intégration Tests Déploiement Surveillance Soutien • Tests automatisés – Acceptation – Capacité – Fonctionnels – Performance – Régression – Système – Vulnérabilité 7
  8. 8. Qu’est-ce que c’est? Développement Intégration Tests Déploie- ment Surveillance Soutien • Gestion de la configuration • Retour arrière ou de secours • Versions multiples – Canary – Dark 8
  9. 9. Qu’est-ce que c’est? Développement Intégration TestsDéploiement Surveillance Soutien • Gestion de la capacité • Surveillance – Capacité, erreurs, Fraude, intrusion, journaux, performance, plantage, … – Utilisation • Tests A/B 9
  10. 10. Qu’est-ce que c’est? Développement Intégration TestsDéploiement Surveillance Soutien • Autonomisation de l’utilisateur • Contact omnicanal • Visibilité des changements 10
  11. 11. Dev Int Tests Dep. Surv. Sou. Qu’est-ce que c’est? 11 100 jrs 10 jrs 1 jr 0.1 jr 0.01 jr Monolithique Par service, approche Lean Spécialisation Continue, infra. souple Spécialisation Main dans la main Commutateurs Autonomisation, retour arrière auto.Spécialisation Spécialisation Adaptative Spécialisation Axé innovation
  12. 12. Qu’est-ce que c’est? 12 Développe- ment Intégration Tests Déploie- ment Surveillance Soutien
  13. 13. Est-ce vraiment utile? 13
  14. 14. Est-ce vraiment utile? • Marketing accéléré – plus facile de comprendre ce que les clients recherchent • Diminuer le temps de cycle – mise en marché accélérée • Produit plus pertinent – rétroaction rapide des utilisateurs • Productivité accrue – automatisation 14
  15. 15. Est-ce vraiment utile? • Diminution des risques d’une livraison – petits incréments • Impacts d’une erreur limités – erreur rapidement identifiée • Qualité de l’architecture qui peut se dégrader – à surveiller • Proactivité accrue face aux vulnérabilités 15
  16. 16. Et les enjeux? • Certains clients rébarbatifs – c’est pas pour tous • Investissements massifs – automatiser c’est pas toujours simple • Rétrocompatibilité avec logiciels tiers et migration des données – architecture à revoir 16
  17. 17. Et les enjeux? • Découvertes des nouvelles fonctionnalités par les utilisateurs – comment bien le faire? • Interruption des opérations – infrastructure à revoir • Réglementaires – conformité à démontrer 17
  18. 18. Et les enjeux? • Automatisation difficile – par exemple les tests d’acceptation • Suivi de la documentation – défi de synchronisation et de pertinence • Arrimage des environnements • Interventions humaines – cela ralentit la cadence 18
  19. 19. Comment s’y rendre? 19 • Gouvernance – Culture + Gestion de changement + Impliquer la haute direction – Processus + Accélérer + Automatiser + Simplifier – Structure + Aplanir + Client-collaborateur
  20. 20. Comment s’y rendre? 20 • Les utilisateurs – Informer + Blogues, Sondages, Wikis, … – Impliquer + Ciblage + Production participative – Former + Webinaire – Liens avec développeur?
  21. 21. Comment s’y rendre? 21
  22. 22. Comment s’y rendre? 22 SOURCE: martinfowler.com/articles/feature-toggles.html
  23. 23. Comment s’y rendre? 23 Équilibreur de charge Ancienne version Nouvelle version (100 – s) % s % Mise en production : • t : s = 0 % • t + T : s = 5 % • t + n T : s = 100 %
  24. 24. Comment s’y rendre? • Bien surveiller le nombre de • Bogues (+sévérité) • Nombre de dév. • Nombre de LoC par dév. • Pannes • Problèmes rapportés par les clients • Tâches de correction • Utilisateurs 24
  25. 25. Comment s’y rendre? • Applications mobiles – Retour arrière et correctifs d’urgence difficiles – Stabiliser (5 jours) et figer (3 jours) le code – Suivre la cadence du propriétaire de la plateforme (1 semaine Android, 2 semaines iOS) + Bien choisir la journée de livraison, car la qualité diminue le jour de la livraison. FB suggère le dimanche – 1 développeur = 1 fichier de code + Le nombre de bogues varie selon le nombre de personnes qui changent un même fichier par livraison 25
  26. 26. Comment s’y rendre? – Utilisateur choisit quand il change de version – Utiliser les commutateurs (feature toggle) – Versions multiples + Appareil + Système d’exploitation (type et version) + Version de l’application 26
  27. 27. Et puis… • La fréquence de livraison – N’affecte pas le nombre d’erreurs critiques – Affecte peu le nombre d’erreurs de moindre priorité • Le déploiement continu – N’affecte pas la productivité des développeurs 27
  28. 28. Mais surtout… • N’oublions pas notre client-collaborateur ! – Appel à tous sur comment, de façon continue, peut- on optimiser: + l’identification des besoins d’une masse d’utilisateurs? + la découverte de nouvelles fonctionnalités? + le transfert de connaissances à nos clients? 28
  29. 29. Références intéressantes + Leppänen, M. et al., The Highways and Country Roads to Continuous Deployment dans IEEE Software, Mars/avril 2016. + Rossi, C. et al., Continuous Deployment of Mobile Software at Facebook dans FSE 2016, Novembre 2016 + Rodríguez, P. et al., Continuous Deployment of Software Intensive Products and Services: A Systematic Mapping Study, Journal of Systems and Software, Janvier 2016 + Ur Raman, A. A. et al., Synthesizing Continuous Deployment Practices Used in Software Development dans Agile Conference 2015 29
  30. 30. Dr. Pierre-Martin Tardif, ing., MBA, PMP, CGEIT pmtardif@visisyst.com tardifpm Agile Tour Montréal 2016

×