De la livraison continue dans mon organisation?

Preview:

Citation preview

De la livraison continue dans mon organisation?

Sébastien Delest

Qui sommes nous?

Sébastien DelestFormateur, PO, DevXP, Scrum, Kanban

Automatisation, tests

De la livraison continue dans mon organisation?

• Quel besoin?• A quel niveau?• A quel coût?

De la livraison continue dans mon organisation?

Au fait, c’est quoi?

« Un ensemble de principes et de pratiques permettant de déployer à tout moment une nouvelle version sur un environnement de production »

Le commencement

Equipe dynamique confrontée aux limitations du cycle en V

DélaiAnomaliesFlexibilité

Le commencement

• Demandes de développemento Mail o Longue spécification fonctionnelle

• Développements systématiquement isoléso Une branche par développeur / par

fonctionnalitéo Intégration longue et complexe

Le commencement

• Testso Plus de 3 semaines de tests manuels

• Construction de la solutiono Plus d’une heure pour préparer le

livrable

• Rédaction de la release noteo Difficulté à lister les fonctionnalités

Le déclic

• Trop de gaspillage et de temps perdu• Les mêmes problèmes reviennent souvent• Comment travaillent les autres équipes?• Existe-t-il une solution à ces problèmes?

Premier pas vers l’agile: la rétrospective!Intérêt pour les méthodes itératives

La transition agile

• Découpage des développement en cycles courts

• Mise en place de backlogs• Simplification du dialogue entre le dev /

support / client / marketing• Définition d’une stratégie de version /

roadmap• Elimination des problèmes d’intégration

Intérêt pour l’intégration continue

L’intégration continue

• Check-in quotidien et sur la même branche de dev

• Automatisation:o Build (compilation, tests unitaires, analyse du

code, etc.)o Tests de non régressiono Tests de volume et de performanceo Déploiement (pour test)

Dynamique d’amélioration continue

Succès … et après?

Le déploiement en production

• Déploiement long et manuel• Gestion de configuration complexe

Problèmes de déploiement récurrents

Intérêt pour la 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…

De la livraison continue dans mon organisation?

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

Etat des lieux

Quelle cible pour la livraison continue?

Nouvelle donne

• La livraison continue est-elle compatible avec nos cycles de développement?

• Quelle définition pour « Done »?Done = Livré, déployé?

• Intégrer la livraison dans nos itérations?

• Quelle stratégie de déploiement?

Axes

• Agile• Anticiper• Gérer les risques• Réduire la complexité

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 produitStratégie d’itération

Anticiper

Intégration continue

Anticiper

« Branch by abstraction »

Gérer les risques

Gestions de configuration• Tout doit être versionné• Données, configuration, environnement• Mises à jour incrémentales

Deux environnements de productionPrise de relai sur l’autre• Défauts• Mise à jour

Gérer les risques

Blue-green deploymentMartin Fowler

Architecture hybride• Fonctionnalités fct profil utilisateurs• Migration progressive

Gérer les risques

Gérer les risques

Sécurisation serveurs, données, traitements automatiques

Equipe

Gérer les risques

Tests• Unitaires, non régression, performance,

charge, volume, fonctionnels, etc.• Déploiement, rollback

Gérer les risques

Monitoring / Surveillance

Gérer les risques

Réduire la complexité

• Mutualiser les clients sur une même plateformeo Plateforme critiqueo Plus facile à maintenir qu’un parc

hétérogène

• Chaine de déploiement optimiséeo Chemin critique sur taches automatiséso 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

Recommended