Blog Agaetis

Atelier Craftsmanship chez Agaetis !

22 / 06 / 2021read_time 4 min.

La crise sanitaire que nous connaissons depuis maintenant plus d’un an a modifié de nombreuses habitudes. La présence dans les bureaux étant restreinte et contrôlée, le télétravail est devenu une norme. Malgré tout, la présence sur site est parfois requise. 

Il faut alors trouver une solution pour s’organiser et ainsi limiter les passages dans les locaux. Chaque entreprise a alors élaboré une stratégie propre se traduisant par plusieurs actions : des groupes de discussion pour simplement se tenir informé de qui sera présent, des logiciels de gestion de temps, des tableaux de présence… Toutes ces solutions plus ou moins abouties permettent de s’organiser, mais quid de la question de l’évolution des mesures avec la levée de certaines restrictions ? 

Chez Agaetis nous avons décidé de mettre notre savoir-faire au service de cette problématique, pour essayer de faciliter la régulation du nombre de collaborateurs dans les bureaux avec une solution pratique et déclinable. 

Un atelier craftsmanship sur plusieurs jours a alors été organisé, dans cet article vous pourrez en découvrir la démarche, l’organisation, les problèmes que nous avons pu rencontrer mais également la suite que nous envisageons pour ce projet.  

Pourquoi un atelier Craftsmanship ? 

Au fil de réunions d’équipes full stack developer, nous avons décidé de faire un atelier autour du craftsmanship pour les raisons suivantes :

  • Expérimenter des concepts et technologies :
    • Faire suite à notre formation TDD, 
    • Expérimenter la Clean Architecture avec de l’architecture hexagonale,
    • Utiliser NextJS et GraphQL pour les diffuser plus largement au sein de notre équipe,
    • Faire du React pour avoir une technologie commune.
  • Partager entre développeurs une expérience commune :
    • Ne travaillant pas tous ensemble, nous voulions partager nos connaissances,
    • Faire du pair programming pour en voir les avantages et pouvoir partager rapidement nos connaissances.
  • Créer un outil qui pourra nous servir :
    • Création d’un outil de réservation des locaux d’Agaetis en accord avec la jauge covid et les mesures de distanciation sociales en vigueur,
    • Recherches autour de l’UI et UX en fonction de nos capacités techniques.

Comment s’organise un atelier Craftsmanship ?

Nous avons demandé à Jean-Michel Gourbeau, coach agile, de nous aider pour l’organisation du projet. En amont, plusieurs étapes ont dû être réalisées afin de s’assurer que l’atelier se déroule dans les meilleures conditions possibles. 

Une première réunion de réflexion pour décider des technologies et concepts a alors été organisée puis un backlog a été créé ainsi qu’un projet dans gitlab avec l’initialisation de dépendances et l’ajout d’un exemple d’architecture hexagonale. 

À la suite de ces premières étapes primordiales, un des développeurs de l’équipe et notre chargée de communication se sont occupés de concevoir des maquettes afin de pouvoir visualiser rapidement le rendu de l’application et avoir le plus d’éléments possible pour débuter l’atelier.  

La première étape était de prioriser le backlog sans définir le temps nécessaire pour chaque tâche : no estimate. La seconde était l’explication technique du projet avec React, Next JS et l’architecture hexagonale pour que tous les membres de l’équipe puissent avancer au même rythme en ayant les mêmes connaissances. 

Pour mettre en application la formation TDD reçue quelques semaines plus tôt nous nous sommes séparés pour faire du pair programing avec pour ambition de changer de coéquipier toutes les demi-journées et de nous retrouver tous les matins pour faire un point sur l’avancement du projet. 

Mais voilà, entre le programme souhaité et ce qui se passe vraiment il y a toujours des différences…

Attentes vs réalité

Un plan se déroule rarement à la perfection, il est normal de s’éloigner de la feuille de route et de rencontrer quelques difficultés, cela ne signifie pas pour autant que c’est un échec. Au contraire, se retrouver face à des difficultés nous pousse à nous adapter et à faire évoluer nos connaissances et le projet en lui-même. Voici les adaptations que nous avons dû faire, face à la réalité :

  • Le pair programming :
    • Il était en fait assez difficile de changer de binôme tant que la tâche en cours n’était pas terminée. Cela nous faisait perdre du temps, le nouveau binôme devant se familiariser avec la feature à réaliser et le code déjà écrit.  
    • Au final, sur trois jours d’atelier nous avons seulement changé deux fois de binôme.
  • Le TDD :
    • Il est plutôt difficile à mettre en place lorsqu’il s’agit de faire une partie qui concerne particulièrement l’affichage ou l’intégration de SSO par exemple. L’utilisation de Redux peut être une solution.
    • Nous avons dû abandonner les tests de rendu UI pour coller à notre fenêtre de 3 jours. 
  • Le remote :
    • Il nous a été plus difficile de suivre et donc de travailler en utilisant le pair programming,
    • Il nous également était moins facile de se concerter pour la coordination et l’organisation des tâches.
  • Les nouveautés et la complexité technique :
    • L’utilisation de NextJS, GraphQL et toutes les méthodologies, il a été difficile de tout mettre en place en même temps, 
    • La gestion du Server side Rendering de Next JS a ajouté de la complexité dans l’utilisation des libs, notamment pour le SSO. 

Et au final ?

Au bout des trois jours d’atelier nous avons réussi à finir toutes les tâches que nous avions classé en priorité 1. Le rendu est donc une application minimale mais fonctionnelle. 

En voici quelques éléments :

  • La connexion à l’application se fait grâce au compte mail du collaborateur,
  • Il est possible de réserver une date sur un calendrier (matin et/ou après-midi)
  • On peut voir les personnes présentes chaque jour dans les locaux 
  • Si le créneau souhaité est déjà réservé et que la jauge est remplie, une redirection est faite sur notre Slack permettant d’ouvrir une discussion et ainsi potentiellement libérer une place en échangeant sur les besoins de tous. 

Conclusion

Malgré les quelques problèmes évoqués plus haut dans cet article nous sommes satisfaits du rendu de l’application et surtout heureux d’avoir pu s’exercer à la pratique de pratiques craftsman et d’avoir eu l’occasion de les confronter à la réalité. 

Car plus que la livraison d’un outil pratique, cet atelier avait pour objectif de nous confronter à de nouveaux concepts et technologies pour tester nos connaissances et nos capacités à nous adapter.

Capture d’écran de la première version de l’application, le visuel de cette dernière est amené à évoluer avec les prochaines versions.

Nous allons continuer à développer d’autres features de l’application sur notre temps de veille et dans un atelier futur. Le but final de cet atelier étant de rendre notre solution Open Source pour répondre au potentiel nouveau besoin des entreprises. En effet l’ère du télétravail semble ouverte, peut être que la plupart auront des locaux ne pouvant pas accueillir tous leurs collaborateurs en même temps et il faudra donc organiser et réguler les présences sur site. 

Si vous avez des questions sur les méthodes utilisées ou si vous êtes juste curieux de notre projet, n’hésitez pas à nous contacter, nous nous ferons un plaisir de répondre à vos questions ! 

Un sujet vous intéresse ? Une question ? Contactez-nous !

Nos adresses

Clermont-Ferrand
9, allée Evariste Galois
63170 Aubière
Tél. 04 73 35 47 51
Paris
21, rue de la banque
75002 Paris
Tél. 01 44 63 53 13
Lyon
52, Quai Rambaud
69002 Lyon