DE LA LIVRAISON
CONTINUE DANS MON
  ORGANISATION?
 Sébastien Delest
LE FSUG
remercie ses sponsors pour leur soutien
coactiv – qui sommes nous?
De la livraison continue dans
     mon organisation?
C’est quoi?
Le bon moment?
Comment?
C’est quoi?
« Un ensemble de principes et de pratiques
permettant de déployer à tout moment
une nouvelle version sur un environnement
de production »
C’est quoi??

                            Livraison
    Livraison   Livraison                  Livraison
                            •Déploiement
Déploiement
automatisés
Les managers
choisissent du
bon moment
Le
déploiement
avant…
Ce qui va
manquer
De la livraison continue dans
mon organisation?
• Pourquoi ce besoin aujourd’hui?
• Quelle maturité d’équipe?
• Quel chemin pour y aller?
Le chemin
« À chaque problème sa solution»

      Commencer par lister les problèmes
Equipe dynamique confrontée aux
limitations du cycle en V

                Délai
                Anomalies
                Flexibilité
Demandes de développement
Développements isolés
Tests


        3 semaines
        Couverture limitée
        Manuel
Construction du logiciel


                     1 heure
                     Manuel
Contenu de la version

 « Qu’est ce qu’on a mis dedans déjà? »
Déclic
•   Trop de gaspillage
•   Mêmes problèmes
•   Comment font les autres?
                                     Méthodes itératives
•   Solutions?

    Notre première rétrospective!!
Cycles courts



      Release   Itération
                    1
                            Itération
                                2
                                        Itération
                                            3
Backlog
Stratégie de version
Intégration continue

Check-in quotidien et sur la même branche de dev
Automatisation:
   Build (compilation, tests unitaires, analyse du code, etc.)
   Tests de non régression
   Tests de volume et de performance
   Déploiement (pour test)

       Dynamique d’amélioration continue
       Succès … et après?
Déploiement en production

• Long et manuel
• Gestion de configuration complexe

Problèmes récurrents
                              Livraison continue
De la livraison continue dans mon
organisation?

• Faire du déploiement un non-évènement
• Déployer plus souvent et sans risque
• Inspiration…
ops-metametrics
« the currency you pay for change »
John Allspaw
Etat des lieux

« Combien de temps mon organisation met-elle pour déployer un
changement qui n’implique qu’une seule ligne de code? »

« Est ce que le procédé est répétable et repose sur des bases
fiables? »

                                             Mary et Tom Poppendieck
                                           Lean Software Development
Nouvelle donne

• La livraison continue est-elle compatible avec nos cycles
  de développement?
• Quelle définition pour « Done »: livré, déployé ?
• Intégrer la livraison dans nos itérations?
• Quelle stratégie de déploiement?
Axes
         Agile     Anticiper




       Gérer les   Réduire la
        risques    complexité
Axe « Agile »

• Procédé compris et encouragé par l’organisation
• Livrer rapidement de nouvelles fonctionnalités
     (impact stratégie produit)
• L’organisation doit devenir agile
« Anticiper »

• Roadmap produit
• Stratégie d’itération
Intégration continue




                       Stratégie de gestion de branches
Branch by abstraction
Gérer les risques

Gestions de configuration
• Tout doit être versionné
• Données, configuration, environnement
• Mises à jour incrémentales
Blue-green deployment
Architecture hybride

• Fonctionnalités fct profil utilisateurs
• Migration progressive
Sécurisation
• Traitements automatiques
• Serveurs
• Données

Equipe
Tests
• Unitaires
• Non régression
• Performance
• Charge, volume, etc.

Déploiement, rollback
Monitoring / Surveillance
Réduire la complexité
Mutualiser les clients sur une même plateforme
• Plateforme critique
• Plus facile à maintenir qu’un parc hétérogène

Chaine de déploiement optimisée
• Chemin critique sur taches automatisés
• Paralléliser les tâches manuelles
Outils

         Hudson
Pour conclure

•   Continuer la transformation agile (organisation)
•   Consolider le procédé d’intégration continue
•   Rapprocher Développement – Exploitation (Devops)
•   Outils
De la livraison continue dans mon organisation?

De la livraison continue dans mon organisation?