Retour d'expérience mobile Le Monde #partie 1

Début décembre 2014, l'application Android Le Monde est désignée par Google dans liste des meilleures applications de l’année. Deux semaines plus tard, la même application est primée par Apple sur iPad... best apps android 2014Après un an de mission en tant que tech lead de l'équipe Android, voici mon retour d'expérience sur les clés de ce succès.

Début 2014, la décision est prise par la direction du Monde de refaire l’application d’actualité en continu. Le projet Actu En Continu (AEC) voit le jour, les premières réflexions design et parcours utilisateurs sont menés et le recrutement de développeurs commence. C’est là où j’entre en scène… Retour sur un an de projet !

Cet article sera divisé en deux, une première partie sur l’organisation du projet et une seconde plus technique, sur notre fonctionnement au sein de l’équipe Android.

L'Équipe

Un point essentiel à la réussite d'un projet, on ne le répétera jamais assez, est d'avoir une équipe soudée autour de ce projet. Les compétences de chacun bien sûr, mais aussi et surtout la communication et l'harmonie dans l'équipe.

Premier point, les compétences, doivent être pluridisciplinaires. Sur l'application Actu En Continu, nous avions au début du projet :

  • deux journalistes, dont un rédacteur en chef web, en charge de la ligne éditoriale de l'application mobile. Leur vocabulaire : une, titraille, chapo, image d'appel ... Leur travail : déterminer quel contenu est pertinent sur mobile et comment le présenter.
  • un product owner, en charge de définir la trajectoire du produit, ses fonctionnalités. Il connaît les usages des mobinautes et fournit une vision un peu novatrice autour de ces usages.
  • deux assistants au product owner, principalement là pour rédiger les users stories et pour coordonner les différentes équipes (journalistes, marketing, prod, …) afin de mieux définir chaque fonctionnalité.
  • un designer UX, en charge de proposer des interfaces innovantes mais pas trop; sexy mais dans le respect des codes du Monde; animées mais pas superflues.
  • un graphiste, puis un autre un peu plus tard, responsables des créations graphiques (écrans, découpage des assets)
  • un marketeux, en charge de promouvoir l’application via des partenariats (Samsung par exemple), guider l’équipe pour mettre en avant au mieux l’abonnement au sein de l’application, communiquer avec les utilisateurs (via les Store)...
  • deux tech leads, un sur chaque plateforme (iOS / Android), très souvent en réunion de cadrage d’un sujet ou d’un autre. Parfois, ils ont un peu de temps pour développer ou faire des revues de code.
  • quatre développeurs mobile, deux sur chaque plateforme. Par la suite en arriveront progressivement 4 autres. Ils sont en charge du développement des applications mobiles.
  • un développeur back office, rejoint (beaucoup) plus tard par un second. Il met en place les web services dédiés aux applications mobiles.
  • un chef de projet avec une casquette de scrum master, qui veillait à ce que le projet avance correctement et soit livré à temps (courant juin). Contrairement au PO qui a une vision produit, celui-ci a une vision projet. Il a parfois fallu faire des concessions d’un côté et de l’autre pour aboutir à un produit correct à la date prévue :-)

Second point, toutes ces compétences, et donc toutes ces personnes doivent être co-localisées. Au Monde, nous disposons d’un plateau dédié au mobile (« La mobilette ») où tous ces acteurs, à l’exception du marketing, sont présents. L'idéal aurait été d'avoir tout le monde. Cela permet de se mettre d'accord très rapidement, de manière informelle mais tellement plus rapide qu’en organisant des réunions à foison.

Au delà de ces aspects organisationnels, le facteur humain est primordial. L'harmonie et la bonne ambiance sont des accélérateurs incroyables. On est bien plus productif et efficace quand on est heureux de faire ce qu'on fait. Ce n'était pas vraiment le cas au démarrage du projet pour des raisons multiples : stress du début, Android délaissé au profit d'iOS, quelques conflits de personnalités et d'idées, ... Mais au fur et à mesure, nous sommes parvenu à créer un groupe uni et solide. Une compétition saine est née entre iOS et Android, boostant un peu plus notre créativité et notre productivité. Globalement, l'ambiance était bon enfant et propice au travail. Et "naturellement", les individus qui n'étaient pas à l'aise dans ce groupe sont partis ou ont été conviés à le faire. En parallèle, les recrutements ont été mené dans l'optique de renforcer ce groupe.

Recrutement

Effectivement le recrutement ne fût pas une mince affaire dans cette histoire. Mais cette étape était primordiale pour constituer ce groupe uni. Les deux équipes de développement mobile sont complètement renouvelées pour le projet. Quatre personnes sont ainsi recrutées sur Android. Pour se faire, j'ai personnellement fait passé plus d'une vingtaine d'entretiens téléphoniques et presque 10 tests techniques. Le niveau exigé est important, la maîtrise du SDK Android est indispensable mais non suffisante. Les candidats doivent être sensibles aux tests automatisés, l'intégration continue, les méthodes agiles,... mais surtout être passionnés par l'écosystème Android. Une fois la barrière technique passée, il est plus facile d'appréhender les besoins métiers, proposer des solutions et être créatif.

Rituels

Les rituels étaient ceux communément employés sur des projets dits « agiles » : standup meeting tous les matins à 10h, lancements d’itérations toutes les deux semaines, eux-mêmes décomposés en démo, présentation des users stories, planning poker et rétrospective.

Nous avons fait de nombreuses tentatives, mais cela reste un travail du quotidien de trouver les process qui correspondent le mieux au projet et à l'équipe. Voici notamment deux points sur lesquels nous apprenons en marchant :

  • Itérations d’une semaine en début de projet pour avoir des feedbacks le plus rapidement possible et ajuster rapidement les fonctionnalités ou le design. C’est très bien en démarrage de projet pour affiner le besoin, mais le rythme est difficilement tenable sur la durée. Par la suite, nous sommes passés sur des itérations de deux semaines, ce qui laisse le temps d’avancer les fonctionnalités sans pour autant rentrer dans un tunnel sans visibilité.
  • Concernant la présentation des users stories et le planning poker, c’est toujours délicat. Les développeurs sont avides de détails pour ajuster au mieux leurs estimations, mais les stories ne sont pas toujours complètes ou précises et on passe rapidement beaucoup de temps à discuter de chaque fonctionnalité. Pour éviter de s’éterniser lors du lancement d’itération, nous avons d’abord tenté de faire la présentation des stories une semaine plus tôt. Ce fut un échec car les PO doivent être suffisamment en avance et c’était rarement le cas. Puis nous avons tenté la veille et nous sommes finalement restés sur cette solution. Les questions, discussions et estimations (planning poker) s’effectuent la veille, ce qui permet aux PO de prioriser les fonctionnalités en fonction des chiffres estimés et de la vélocité des développeurs. Lors du lancement d’itération le lendemain, on passe beaucoup plus rapidement sur les fonctionnalités choisies pour l’itération.

Utilisateurs

Quand on fait une application grand public, l'avis des utilisateurs est primordial. Même si nous n'avons pas toujours été parfaits sur ce point, plusieurs pans ont été mis en place pour satisfaire les utilisateurs.

Eat your own dogfood

C'est quelque chose que nous avons mis en place après quelques mois de projet pour tenter de pallier un manque de recette. Ce principe, issu des géants du web, consiste à utiliser soi-même ce qu'on va donner à ses utilisateurs. L’idée est simplement de donner l’application à tester aux salariés avant de la distribuer au grand public, afin d’obtenir des retours concrets sur l’expérience utilisateur, le design, les bugs, … Contrairement à Facebook, où tous les salariés sont incités à utiliser une version dogfood, au Monde nous avions une dizaine de beta testeurs. L'expérience mériterait d'être poussée pour être plus répandue et donc bénéfique.

Taggage

Le tagage est indispensable pour connaitre ses utilisateurs, et comme on dit, on ne peut améliorer que ce qu'on mesure. Au Monde, nous utilisons 2 technologies : - AT Internet, outil certifié par l’OJD, permet au Monde de comptabiliser les pages vues (comptage officiel pour l’OJD), connaître la provenance des utilisateurs, mesurer les performances des campagnes publicitaires, mesurer les différentes actions et parcours utilisateurs, ... - Google Analytics, mis en place plus récemment, nous permet surtout d’analyser le trafic en temps réel, et ainsi voir les articles les plus lus pour par exemple les remettre en avant, mesurer les impacts d’un push, ... C’est ainsi que nous avons constaté les chiffres assez incroyables de 70 000 visiteurs simultanés sur Android et pratiquement 90 000 sur iOS lors des attentats de janvier :

Android attentatsiOS Attentas

Malheureusement, bien souvent des parcours ou des actions sont tagués et les données récoltées ne sont pas analysées, faute de temps. L'exemple le plus frappant est la réorganisation des rubriques, accessible dans les paramètres. Nous savons quelles rubriques sont conservées, lesquelles sont mises en avant, etc... Mais tout ceci se trouve dans les méandres d'AT Internet et aucune analyse n'a été réalisée. Dommage car c'est une mine d'or.

Service client

Le Monde dispose d'un service client, réservé aux abonnés, qui répond aux questions les plus communes et nous transfère les questions/bugs dont ils ne connaissent pas la réponse. Ce service existait avant, je ne rentre pas dans les détails. Mais c'est indispensable lorsque l'on fournit un service payant.

Play store

Le Play store est comme chacun sait le défouloir des utilisateurs. Mais entre critiques injustifiés et insultes, germent parfois des commentaires utiles. Certains préconisent de répondre à tous les commentaires, y compris les positifs (4-5 étoiles). Faute d'avoir un Community Manager à plein temps (entre 10 et 30 commentaires par jour), nous n'avions pas pu aller si loin. Mais il est indispensable de répondre pour expliquer une fonctionnalité, ou demander plus d'informations sur un problème rencontré et ainsi améliorer l'expérience utilisateur. Avec un peu de chance, ce dernier rajoutera quelques étoiles pour vous remercier de l'attention portée. Un Community Manager est arrivé récemment et le nombre de réponses sur le store a drastiquement augmenté.

playstore

Uservoice

Uservoice fournit un service d'échange avec les utilisateurs. Ces derniers ont accès directement depuis l'application à une FAQ, un formulaire de suggestions (idées de fonctionnalités, remontée de bugs, ...) et un formulaire de contact direct avec l'équipe mobile. Tout comme le Play Store, nous n'avons malheureusement pas utilisé ce canal à son maximum. Quelques suggestions ont été intégrées, des bugs corrigés, mais nous n'avons pas poussé plus loin dans l'interaction avec l'utilisateur (concours, gamification, ...).

Je suis persuadé que l'application pourrait grappiller encore quelques étoiles et atteindre la barre symbolique des 4.5 en connaissant mieux ses utilisateurs et en étant plus proche d'eux.

Conclusion

Pour conclure cette partie sur l'équipe et son organisation, je retiendrai deux choses : La clé du succès, c'est de réussir à construire une équipe unie : recruter et réunir les bons profils, leur laisser suffisamment d'autonomie, les inclure dans les choix pour l'application et leur permettre de proposer des améliorations. Si les gens ont le sentiment d'oeuvrer ensemble pour le projet, le reste suivra presque naturellement.

L'autre point, lié à l'application celui-ci, est l'attention apportée aux utilisateurs. Vous aurez beau être une équipe formidable, si vous n'êtes pas à l'écoute, vous risquez fort de le payer sur les stores. Et quand il y a une personne pour vous féliciter, il y en a dix pour vous allumer à la moindre erreur. Vous ne faites pas une application pour vous, vous la faites pour vos utilisateurs.

Dans un prochain article, nous aborderons les problématiques techniques au sein de l'équipe Android; les process de développement, de tests, de livraison, de release, l'architecture et les outils, restez connectés.