REX Accélérer avec des features team, Scrum, DevOps et une approche microservice.

Auto-organisation
Passionné de technologie
Passionné de vie en équipe

Mikael KROK

Valeur client
#OpenSeriousGame
Agilité & DevOps
curieux

DISCLAIMER

Introduction

 Il était une fois….

  • Editeur  de logiciel de santé
  • Service R&D 
  • Augmentation rapide d'équipiers (35 personnes)
  • 4 équipes
  • Multi sites

 

Nos contraintes de départ

  • 1 ou X produits
  • nécessité de démontrer rapidement
  • des objectifs métiers flous au départ
  • le plan d’action

 

Nos contraintes de départ 

 

1 ou X produits ?

Nos contraintes de départ 

 

Nécessité de démontrer rapidement

Nos contraintes de départ 

 

Des objectifs métiers flous au départ

Nos contraintes de départ 

 

Le plan d’action

Gérer la complexité grandissante, une organisation en plein ébullition.

  • l'axe organisationnel
  • l'axe fonctionnel
  • l'axe technique

 

Gérer la complexité 

 

L’axe organisationnel 

 ☑ Less ? SoS? Spotify?
 ☑ De l’humain, de l’inspiration et de l'auto organisation
 ☑ Donner du sens 

Gérer la complexité 

 

L’axe technique

☑ Déployer et livrer en continu 

☑ Grande liberté dans le choix technique (à créer, à reprendre, à acheter)

☑ Harmoniser les pratiques et les technos 

Gérer la complexité 

 

L’axe fonctionnel

☑ Présentation fonctionnelle des sujets

☑ Adoption d’un workflow UX, visite des utilisateurs, fiches personae,

☑ PO très proches des équipes

LeSS Les features team

☑ Orienté métier

☑ Multicompétente

☑ Peut se faire aider (expertise)

☑ Peut acheter des services (AWS/ Kafka)

Livrer de la valeur

☑ Mettre l’effort sur ce qui nous freine et y trouver des solutions.

☑ Découper l’unité de livrable : le micro service

☑ Livrer de la valeur en continu : l’approche DevOps

Livrer de la valeur?

 

Mettre l’effort sur ce qui nous freine et y trouver des solutions.

☑ Mesurer le temps de livraison

☑ Prendre du temps pour inspecter

☑ Apprendre à prendre des décisions en groupe

☑ Suivre l'amélioration

Livrer de la valeur?

 

l’unité de livrable = le micro service

Livrer de la valeur?

 

Livrer de la valeur en continu : l’approche DevOps

☑ Infra as code 

☑ CI/CD

☑ Continuous Deployment (commit)

☑ ​Automatisation (test API, UI, performance, livraison, import, export)

L’inversion de contrôle 

passer d'équipe centrales à une répartition de la compétence.

L’inversion de contrôle

 

feature team VS component team

L’inversion de contrôle

 

l’équipe plateforme

L’inversion de contrôle

 

l’équipe de la librairie graphique

L’inversion de contrôle

 

 le testeur dans l’équipe

L’inversion de contrôle

 

 le testeur dans l’équipe

Ecrit les critères d'acceptation des US

Ecrit les Cucumber (BDD)

Développe la fonctionnalité

Implémente les Cucumber en code

 

Aide et valide le DEV

Implémente les tests End 2 End

Pratiques et décisions

Comment harmoniser les pratiques  et fluidifier la prise de décision avec consensus

Les guildes

☑ Regroupement par sujet  (technique ou domaine)

☑ 1 membre par équipes

☑ Partage de pratiques

☑ Peut prendre des décisions

   Java, React, Devops, Backend, Tests, Front End

Le Comite d'architecture

☑ Regroupement global

☑ 1 architecte par équipe

☑ Prend des décisions plus structurantes

 

Responsabilisation

Tout le monde peut proposer des avancées technologiques

Responsabilisation globale

Effort de leadership,

Plus difficile de savoir qui est responsable

LES NOUVELLES FORMES DE MÉTA ÉQUIPE

Les méta équipes

 

les commandos

☑ Durée de vie limitée à l’objectif

☑ Sans backlog propre

 

         Migrations technique

         Leadership difficile

 

Exemple : 

Java 8

React 16

Les méta équipes

 

l'équipe éphémère

☑ Durée de vie limitée à l’objectif

☑ Backlog propre

 

         Focus

         Déstabilise les équipes

 

Exemple : 

Refonte CI

Les méta équipes

 

les constellations

☑ Feature Group

☑ Responsabilité d'un ensemble de feature sur plusieurs équipes

 

Comment le management s’est adapté à cette organisation?

Management

Une vision adaptée du management

☑ Responsabilité partagée?

☑ Perte de visibilité

☑ Grande confiance

 

         Entretien One On One

         Rétrospectives plateau

         Entretiens Scrum Masters / Managers

 

Management

Rapprocher les besoins métiers

☑ Adapter besoins et équipes "sans gérer les ressources"

☑ Promoteur de l'équipe

 

         Co construction des discours

         Constellations

          

Les difficultés

Les difficultés

La bonne tailles des microservices

☑ Des microservices qui sont trop petits

☑ Coût de maintenance et de mise à jour

☑ Complexités et interdépendances croissantes

 

      Repenser le domaine métier

      Event Storming

      Plateforme / équipe (créé à la volée)

Les difficultés

Comité d'architecture général et directif

☑ Trop généraliste = surchargé

☑ Trop directif + hors du groupe de travail = contreproductif

 

   

      Architecte dans les équipes

      Architecte = leaders != meilleurs

      Plusieurs niveau de prise de décisions : Guilde / Archi / Urba 

Les difficultés

Une plateforme trop technique

☑ Risque microservice spaghetti

☑ Risque de trop d'industrialisation =  perte de capacité d'innovation

 

   

      Architecte dans les équipes

      Architecte = leaders != meilleurs

      Plusieurs niveau de prise de décisions : Guilde / Archi / Urba 

Les 5 idées à retenir

Les 5 idées à retenir (selon moi)

  • La Feature Team engage et responsabilise l’équipe

 

  • Le testeur dans l'équipe est très efficace dans le cadrage et la prévention des bugs

 

  • Mesurer la capacité à livrer de la valeur.  Identifier constamment les freins et les lever > auto organisation

 

  • L’auto organisation implique un changement d’état d’esprit (attention aux conflits et aux déceptions)

 

  • Ne pas en faire trop!  (gérer le déséquilibre constant)

Le rôti 

FeatureTeams Devops & Microservices

By Mikael KROK

FeatureTeams Devops & Microservices

Quand l'organisation grandit on peut soit dédier des équipes à des tâches techniques spécifiques (organisation horizontale) soit développer toutes les compétences pour qu'une équipe soit capable de développer, tester, déployer (organisation verticale). Comment peut on s'organiser pour réduir les adhérences en s'inspirant de la culture Agile (Scrum et organisation à l'échélle) s'inspirant de la culture DevOps (réduire l'écart Dev-Ops et rendre l'équipe capable de livrer - vite et bien) donnant une approche produit / fonctionnalité avec une approche microservice Il y a des défauts à cette organisation, et nous donnerons des pistes pour lutter contre une trop grande hétérogénéité des équipes (techno, compétence) avoir une gouvernance globale au niveau de l'architecture créer un mindset global

  • 1,165