la vidéo de la conférence.
La volonté de sortir des parcours classiques avec les MOE/MOA ainsi que des cycles en V est de plus en plus marquée au sein des services d’état. Cela se voit déjà aujourd’hui par la création d’incubateurs de startup d’Etat ou encore avec des projets comme service-public.fr.
Avant de rentrer dans le vif du sujet, remettons les choses dans leur contexte.
La DILA (Direction de l’Information Légale et Administrative) est un service gouvernemental dépendant du premier ministre dont les fonctions principales aujourd’hui sont de donner accès à la loi pour tous, de simplifier les démarches et d’éclairer le citoyen sur les politiques publiques.
La DILA est par conséquent responsable du site web service-public.fr. Il y a deux ans, elle entreprend une refonte du site pour remplir les objectifs suivants:
Les enjeux sont de taille car service-public.fr est le plus gros site public de France, avec 20 millions d’utilisateurs actifs par mois.
Malgré l’importance de ce projet, la DILA a souhaité faire différemment en utilisant les méthodologies Agiles pour réaliser la refonte du site.
Maxence Modelin, Delivery Manager OCTO, nous donne ses points clefs pour piloter un projet en agile.
Flavien Testevuide_,_ Chef de Produit DILA Géraldine Da Sylva, Consultante User eXperience OCTO
Plaçant la démarche UX au cœur de la conception du produit, la DILA s'est d'abord concentrées sur les utilisateurs. Pour cela, Flavien Testevuide et Géraldine Da Sylva ont d'abord formulé des hypothèses, qu’ils ont formalisé grâce à la technique des personas. Un persona est un personnage fictif représentant un profil type d’utilisateur. Voici un exemple :
À la suite de la création de ces personas, ils sont allés recueillir des informations réelles pour confirmer ou infirmer les hypothèses faites précédemment. Pour cela, trois moyens ont été utilisés :
Après avoir collecté et analysé ces infos, les équipes de service-public.fr ont fait émerger ce qu’ils ont appelé la vision du produit :
“Une plateforme accessible et sécurisée de contenus et de services personnalisés qui simplifient la vie des usagers”
La vision donne à l'ensemble des participants du projet une direction vers laquelle s'orienter.
Une vision c’est bien, mais ce n’est pas suffisant ! Il faut entrer dans les détails : c’est pourquoi la “story map” suivante a été établie.
A partir de ce moment, on peut commencer à concevoir concrètement le produit. Pour garantir la faisabilité du produit, les équipes techniques doivent être impliquées dans la conception du produit dès le début. Ensuite, des ateliers de co-construction sont mis en place avec des utilisateurs ciblés. L’idée est d’obtenir un maximum de feedback du plus grand nombre d’interlocuteurs.
C’est à la suite de tout ces ateliers que le produit émerge naturellement vers un site qui répond vraiment aux besoins des utilisateurs.
Katia Sonntag, Product Owner DILA Nicolas Fournier, Product Owner OCTO
Voilà à quoi ressemble une équipe agile “classique” :
Sur service-public.fr, l’équipe fonctionnelle a du grossir progressivement pour pouvoir répondre aux besoins de la grosse équipe de développement et pouvoir faire l’interface avec les nombreux interlocuteurs.
L’équipe ressemble donc aujourd’hui au schéma suivant :
Avoir une forte équipe fonctionnelle peut être dangereux, Katia Sonntag et Nicolas Fournier ont identifié les nouvelles problématiques auxquels leur équipe ont pu être confrontées :
Pour palier ces problèmes spécifiques à ce changement d’organisation, voici quelques règles et astuces mises en place par l’équipe :
Aujourd’hui, leur façon de travailler fonctionne puisque l’équipe de développement n’est jamais à cours de fonctionnalités à développer.
Stéphane Colle, Tech Lead DILA Damien Beaufils_,_ Tech Lead OCTO
Un souci fondamental d’une grosse équipe de développement est de garder une propriété collective du code. Le problème vient du fait que sur une itération, un développeur réalise environ 4 fonctionnalités sur 40. Par conséquent, il ne va pas pouvoir suivre le 9/10ème des développements réalisés. Stéphane Colle nous révèle les astuces mises en place pour résoudre ce problème.
Un autre aspect important est de pouvoir mesurer la qualité de son code. Pour Damien Beaufils, la qualité du code est reflétée par le nombre de tests automatisés plutôt que la couverture, et le respect du modèle de la pyramide de tests. C’est-à-dire la proportion entre les tests unitaires, d’intégrations et fonctionnels.
Damien illustre les différents types de tests par une métaphore avec un airbag:
Test unitaire : je demande à l’airbag de se gonfler, à la sortie il est donc gonflé.
Test intégration : quand un choc est détecté par le capteur, on vérifie que l’airbag est bien dans l’état «gonflé».
Test fonctionnel : quand la voiture est lancée à 30 km/h contre un mur, on vérifie que la tête du mannequin est intacte.
Pour s'éloigner un peu du jargon technique, un autre moyen pour vérifier la qualité du projet est de regarder le nombre de fonctionnalités faites par itération, ainsi que le nombre de bugs restants. Si le nombre de bugs restant diminue alors que le nombre de fonctionnalités reste identique, on peut en déduire que la qualité est bonne.
L’image suivante synthétise en 6 post-it ce qu’il faut retenir pour maintenir la qualité et la propriété collective du code.
Alexandre Otparlic, Chef de Projet Tanguy Patte, Consultant OPS OCTO
Automatisation était le mot clé de l'intervention de Tanguy Patte. Pour garantir que l’ensemble des environnements soient identiques et que tout le monde puisse avoir un environnement pour travailler (un par développeur, un pour les POs, un par partenaire,…), il n’y a pas d’autre solution que de tout automatiser. Ansible et Jenkins sont les outils d’automatisations qui ont été choisis par les équipes de service-public.fr.
Le schéma suivant montre les avantages de l’automatisation.
Pour reprendre une phrase de Tanguy :
“Automatiser c’est bien, partager c’est encore mieux.”
Il ne faut pas que la compétence OPS reste chez une personne. Il faut que toute l’équipe devienne une équipe de “DevOps”. Cela permet d’avoir une équipe plus autonome et responsable.
Grâce à une équipe responsable et une intégration continue, les équipes de service-public.fr déploient sereinement en production toutes les 2 semaines.
Adrien Saunier, Développeur OCTO Anne Cavalier, Responsable Qualité & Accessibilité DILA
Ce petit-déjeuner s’est terminé sur un point dont on parle peu mais qui est pourtant très important. Il s’agit de l’accessibilité web. Cela consiste à rendre accessible le contenu web aux personnes en situation de handicap. Mais pas que ! Pour illustrer en quoi consiste un handicap web, Adrien Saunier, et Anne Cavalier nous ont présenté plusieurs profils. Par exemple, des personnes daltoniennes, des aveugles ou simplement des gens qui n’arrivent pas à utiliser une souris.
Anne Cavalier insiste fortement sur le fait que l’accessibilité est une source de valeur pour un produit, cela constitue un gage de qualité quelque soit la taille du projet. Donc, pour ceux qui se demandent quand faut-il commencer à rendre son site accessible, la réponse est : dès que possible ! Pour cela, il faut commencer par sensibiliser les développeurs sur les sujets d’accessibilité et ensuite intégrer dans le processus de développement une étape "accessibilité".