Un hackathon, c'est quoi ?

C'est un évènement de 48 heures (en général) ayant pour but de créer quelque chose à partir de zéro ou presque : application, site web, jeu vidéo, bricolage. Le sujet ou le thème est en général plus ou moins précis et donné le jour même, et le tout se fait par équipe, de 5 personnes environ.

On peut se lancer dans ce type d'évènement pour plusieurs raisons : la gloire, le fun, les rencontres, les découvertes, les prix, la compétition, le challenge ou tout simplement pour avoir un projet un peu fun à coté du boulot et lui consacrer un créneau dédié sur un weekend.

Dans la vraie vie, je fais de l'UX design. Dans un contexte professionnel, on a souvent le temps, les moyens et les ressources pour faire de l’UX dans des conditions optimales: analyse, documentation, maquettage, tests, grooming sessions, QA…
Oubliez tout ça ! Dans un hackathon vous avez 48h, les gens de votre équipe n’ont jamais travaillé ensemble et ce sera Armageddon. Laissez-moi vous expliquer comment ça se passe vu sous l'angle de l'UX designer, vous donner quelques conseils pour survivre à tout ça et en tirer des leçons pour améliorer vos pratiques professionnelles.

Comment ça se passe ?

Pour un UX designer, ça va se passer un peu comme un projet dans la vraie vie, vous allez collaborer avec les gens de votre équipe, et passer toutes les étapes d'un projet :

Sauf que là, vous n'avez que 48 heures, sommeil compris, alors il va falloir faire simple : ça va être intensif et express !

Collaboration

Vous allez travailler avec des développeurs, peut être un autre designer, éventuellement un musicien. S'il est facile de s'isoler, de bosser dans son coin, et de travailler tout seul avec son casque sur les oreilles, cela ne marchera pas, il va falloir faire des points régulièrement (toutes les 2 ou 3 heures) et commencer sur des bases solides.

Pour mieux travailler, je vous conseille même de choisir les outils et les technologies que vous allez utiliser tous ensemble. C'est sympa de découvrir un outil, mais l'idée n'est pas de larguer complètement les gens de votre équipe avec des outils compliqués et difficiles à prendre en main.

Optimisez vos exports, les développeurs apprécieront. D'ailleurs en général ils aiment bien aussi utiliser des outils de gestion de versions collaboratifs, comme GitHub. Il existe même une version pour Mac avec une interface visuelle, sans lignes de commande, vous n'avez aucune excuse.

Enfin si, vous aurez probablement l'occasion de contourner GitHub, parce que tout hackathon qui se respecte finit toujours par avoir un WiFi qui tombe, alors pensez à ramener un clé USB de secours pour transférer vos fichiers !

Brainstorming

Partons du principe que le sujet du hackathon vous inspire et que vous avez trouvé une super idée pour votre projet. Vous allez débuter un brainstorming avec tout l'équipe, avec du papier et des feutres, ou un tableau blanc si vous avez ça qui traîne dans un coin.

C'est un peu comme un mini workshop : écoutez toutes les idées, notez tout (même si ça ne vous parait pas important), ne perdez rien ! Pendant cette discussion, vous allez essayer de définir au moins 1 persona, sur lequel vous pourrez vous baser pendant les prochains jours. Listez aussi les fonctionnalités auxquelles vous pensez, mais essayez de les limiter au maximum, donnez-leur des priorités.

Une fois vos fonctionnalités principales identifiées (vu que vous allez faire simple, vous n'aurez qu'une seule fonctionnalité, on est bien d'accords ?:)) et validées avec toute l'équipe, c'est à vous de définir les cas d'utilisation.

Cette étape est cruciale pour votre projet, et c'est à ce moment là que vous pouvez passer d'une chouette application, qui fait une seule chose et qui le fait très bien, à un monstre à huit pattes dont vous perdrez le contrôle. Je le dis tout le temps (et ce bon vieux Mies le disait aussi en son temps) : LESS IS MORE. Faites simple, vous n'avez que 48 heures.

Maquettage

Ne rangez pas vos feutres ! Vous allez commencer votre premier maquettage sur papier, en compagnie des développeurs. L'idée, c'est de dégrossir le projet avec eux, de définir les écrans principaux et leurs fonctionnalités.

En combinant ces écrans sur papier et vos cas d'utilisation (ou use case, si vous êtes fluent in english, yeah!), les développeurs seront déjà prêts à commencer. Ok, on est loin de l'interface finale, mais les développeurs sauront déjà de quoi ils ont besoin, quel schéma de données, fonctions et scripts seront nécessaires.

Vous pourrez alors commencer votre maquettage haute fidélité avec des outils comme Sketch, Balsamiq, Illustrator ou même Photoshop. Vous pourrez même créer un prototype fonctionnel grâce à Marvelapp pour faire vos premiers tests.

Tests

Regardez autour de vous : il y a des organisateurs, des participants et votre équipe. Dans le tas, il y a forcément au moins un daltonien. Repérez-le dès le début et ne le lâchez pas, vous en aurez besoin pour vos tests.

Tous les gens autour de vous seront forcément curieux de voir ce que votre équipe prépare, alors profitez-en, et lancez-vous dans un guerilla testing de quelques minutes pour leur faire une pseudo-démo, mais surtout un test. Définissez un objectif utilisateur, une tâche à accomplir, observez-les et ajustez votre UX en conséquence !

Attention, ce n'est pas la peine de tester votre prototype sur votre équipe, vos développeurs ont déjà la tête dans le projet, ils ne seraient pas objectifs ! Dans certains hackathons, vous pouvez faire rentrer des personnes extérieures. Si vous avez besoin d'un type d'utilisateur spécifique, c'est parfois l'occasion de le faire venir pour faire un test sur place : lors de notre dernier hackathon, on a même réussi à faire venir notre pizzaïolo préféré pour une session de test, tentez le coup !

UI design

Je veux pas plomber l'ambiance, mais vu le faible nombre de designers présents dans ce type d'évènement, il y a 99% de chances qu’il n’y ait pas d’autre designer dans votre équipe. Vous allez donc devoir définir vous-même l'identité et l'interface de votre projet. L'idée, c'est de créer au moins un guide de style basique pour les développeurs. Ils seront alors libres d'intégrer eux mêmes les styles sur chaque petit bout de projet, même si vous n'avez pas encore prévu l'écran. 

Réutilisez un maximum d'éléments, vous n'aurez pas le temps de réinventer la roue : icônes, fonts, palettes,  animations : de nombreux outils sont disponibles en creative commons ou sous des licences libres, utilisez-les, mais n'oubliez pas de créditer les auteurs et de respecter les licences !

Ça ne sera peut être pas parfait du premier coup, alors fonctionnez de manière agile : proposez, testez, ajustez !

Documentation

Certains diront que la doc, c'est pour les faibles. Quand on fait tout en si peu de temps, on peut se dire qu'ils ont raison. Mais en fait non. Pas du tout. Et 3 mois plus tard, quand vous remettrez le nez dans vos prototypes, écrans, icônes et fonctions, vous allez le regretter. D'expérience, on s'est déjà retrouvé avec des fonctions aussi classes que LesBonusDeTaMere() ou MegaSinusite(). Autant vous dire que c'est vraiment le bordel dans les fichiers produits lors d'un hackathon, alors faites-vous cette faveur, commentez un peu, donnez des noms de fichiers logiques, rangez vos calques, et gardez vos notes dans un coin.

Le pitch

À la fin de l'évènement, vous allez vous retrouver devant le jury et les participants pour présenter votre projet. Décidez dès le début qui va se retrouver en tête de ligne pour pitcher. Cette personne aura besoin d'un peu de temps en fin d'évènement pour se préparer et revoir la présentation. Elle aura aussi le droit de dormir un peu plus, de prendre une douche afin de ne pas incommoder le jury avec un odeur de fennec en décomposition avancée. 

Pitcher est une chose, préparer le discours et la présentation en est une autre. En tant qu'UX designer, vous êtes probablement la meilleure personne pour délivrer un message clair et concis en 5 à 10 minutes. De toutes manières, comme le travail de design se fait pas mal en amont, vous aurez un peu plus de temps que les développeurs pour préparer ce support : PPT, keynote, html, peu importe : focalisez vous sur les problématiques rencontrées, les solutions que vous apportez, votre équipe, comment fonctionne votre projet, présentez sa cible et son business plan si vous en avez un. 

Bonus point : ramenez des pitchs pour votre pitch, ça fait marrer les gens.

Bonnes pratiques 

Je vais me transformer 5 minutes en "Hellgy Les Bons Tuyaux" pour vous donner quelques bons conseils qui vont vraiment vous aider à survivre à un hackathon.

  • Less is more : par pitié, limitez les fonctionnalités. Je l'ai déjà dit 30 fois, mais vous n'avez que 48 heures, c'est ça qui va vous permettre de terminer votre app sans vous arracher les cheveux.
  • Formez votre équipe à l'avance, si vous le pouvez. Quand on a déjà bossé avec des gens, on a souvent des routines et techniques de collaboration qui fonctionnent, profitez-en ! Pas de panique si vous arrivez seul à un hackathon, vous n'êtes pas le seul et vous pourrez créer une équipe pour l'occasion. Discutez juste un peu des technologies et outils que vous connaissez et de ce que vous souhaitez faire.
  • Choisissez ensemble les outils et les technologies :  il n'est déjà pas évident de se lancer dans un projet pareil, mais si en plus vous ne connaissez pas les outils utilisés dans votre équipe, c'est mission impossible. C'est sympa de découvrir un outil, mais devoir apprendre un nouveau langage ou apprendre à coder en mois de 48 heures, ce n'est pas fun.
  • Dormez environ 5h par nuit, sinon au bout de la première nuit vous ne serez plus du tout productif.
  • Limitez l'alcool. Sérieusement, j'ai testé les hackathons avec et sans bière. Autant pour le brainstorming, ça aide un peu à se lâcher, autant sur la durée ça va vraiment vous ralentir.
  • Mangez sainement. Ramenez des fruits, y'en a rarement au menu. On sous-estime la puissance des vitamines dans ce genre d'évènement.
  • Prévoyez un débriefing une semaine plus tard avec votre équipe pour discuter du futur du projet. Vous n'aurez probablement pas tout terminé, c'est le moment idéal pour en parler, ça vous évitera de le laisser mourir dans un coin.

Conclusion

Vous l'aurez compris, pour un UX designer un hackathon est un super terrain de jeu pour bosser sur des problèmes plus fun qu'au boulot : vous avez du temps dédié à la création, une équipe motivée à bloc et des testeurs à portée de main. En 48 heures, vous aurez l'occasion de faire 80% du projet, et même s'il vous faudra un an pour le terminer, 80% c'est quand même méga chouette.

C'est aussi l'occasion idéale pour entraîner votre créativité et sortir de votre zone de confort, le temps d'un week-end.

Effets secondaires

Attention au travail gratuit : Les hackathons sont très à la mode ces derniers temps, et certains organisateurs ou sponsors s'imaginent repartir avec la "killer app" en payant des geeks avec des pizzas. Lisez bien les conditions de participation et choisissez bien votre évènement !

Vous serez fatigué. Vous aller enchainer un hackathon après une semaine de boulot. En général ça commence le vendredi soir et ça se termine le dimanche soir. Vous n'allez pas beaucoup dormir, alors je vous conseille vraiment de prendre congé le lundi suivant.

Vous allez connaitre le déséquilibre alimentaire : j'espère que vous aimez les pizzas, parce que vous allez en bouffer. Bon je suis un peu méchante, j'ai participé à des hackathons ou on nous a servi de la salade ou même des épinards, mais c'est assez rare.

Il existe des risques d'addiction : malgré la fatigue, vous allez recommencer. C'est promis.

Vous vous découvrirez des facultés d'adaptation, MacGyver style : lors du prochain projet « rush » au travail, vous saurez vous adapter et mieux gérer le stress.

Au final, tous ces conseils s'appliquent aussi bien à un évènement de 48 heures non-stop qu'à une horrible semaine de rush au travail. L'idée générale, c'est de rester focalisé à chaque instant sur l'essentiel, de collaborer dans les meilleures conditions et de faire des tests rapides mais réguliers pour vérifier que vous n'allez pas en plein dans le mur.

Des exemples ?

Il y a deux projets dans ces slides que je n'ai pas encore eu le temps de présenter sur ce blog (Yellercoaster et Je Veux Une Pizza), mais vous pouvez déjà jeter un oeil sur :

Les slides

Si vous souhaitez voir ou revoir les slides de ma présentation, elles sont disponibles sur slideshare

Qu'attendez-vous ? :)

L'asso COIN, dont je fais partie, organise une game jam (un hackathon création de jeu vidéo) les 5 et 6 septembre à Metz et Esch sur Alzette. Si l'expérience vous tente, n'hésitez pas à vous inscrire ! L'événement est très sympa, l'ambiance est détendue et les participants très créatifs ! Si vous avez d'autres plans de hackathon sympa, n'hésitez pas à les partager dans les commentaires.