Publié le

Comment travailler efficacement en entreprise ?

Méthode agile

La méthode agile

L'équipe

Afin de travailler de la plus efficace des manières, les équipes au sein d'EasyMile travaillent avec la méthode agile.
Celles-ci sont alors divisées selon leur domaine, chaque équipe s'occupe d'un domaine bien précis
Les équipes sont entièrement responsables de leurs produits, du build & run.
Chaque équipe est en quelque sorte indépendante, elles ont chacune une organisation interne autogérée.
Dans chaque équipe il y a une personne qui a un rôle de Product Owner, cette personne travaille avec l'équipe System pour préparer les incréments, c'est la personne qui est responsable de la roadmap du produit de son équipe, elle organise des plannings, gère l'organisation des tâches sur un board Jira et son backlog.
Le rôle des développeurs de l'équipe est donc de répondre aux besoins, qui sont découpés en plusieurs tickets afin de faciliter l'organisation du projet. Les développeurs gèrent eux-mêmes leurs tickets tout en respectant le planning mis en place.

Création des tickets

Comme dit plus tôt, le Product Owner travaille avec l'équipe System pour préparer les incréments, et donc les tickets pour répondre aux besoins.
L'équipe System travaille avec les Product Owners pour définir des solutions qui répondent aux besoins des Product Managers (ce sont ceux qui s'occupent des plateformes et des clients), ces solutions se présentent sous forme de tickets appelés "tickets PI" sur Jira. Une fois le ticket PI créé, un ticket "Epic" correspondant au besoin est créé, ce ticket va contenir toutes les "stories" du projet.
Nous pourrons retrouver deux types de stories :

  • User Story :
    • Description générale d'une fonctionnalité logicielle écrite du point de vue de l'utilisateur final. Cela permet de de voir comment cette fonctionnalité apportera de la valeur aux utilisateurs.
  • Technical Story
    • Développement sans impact visuel pour l'utilisateur

Une fois qu'une story est créée, nous allons la découper en sous-tâches afin de bien structurer notre travail.
Il est également possible de retrouver d'autres tickets comme les tickets "Bug" qui sont destinés à la résolution d'un bug, ou bien les tâches et les sous-tâches.

Les incréments

Un incrément correspond au temps passé pour livrer une version d'un produit. Dans l'équipe Fleet, et chez EasyMile en général, les incréments sont composés de 4 sprints d'un mois chacun, c'est-à-dire que nous délivrons une version de notre produit tous les 4 mois. Chaque semaine nous nous fixons des objectifs pour la semaine selon les tickets ouverts ou dans le backlog afin d'être organisés.

Pendant ces 4 mois, différentes équipes travaillent en parallèle, parmi ces équipes, nous retrouvons :

  • Équipe Intégration:
    • Pendant cet incrément, cette équipe est chargée de tester les nouvelles fonctionnalités, vérifier qu'il n'y a pas de régression et remonter les problèmes rencontrés à l'équipe de développement. Pour cela, l'équipe va utiliser des bancs de test qui permettent de simuler un véhicule et ses capteurs tout en utilisant un vrai logiciel de conduite autonome un vrai logiciel de gestion de flotte, ainsi que des vraies plateformes.
    • À la fin de l'incrément, l'équipe Intégration va donner la version testée tout au long de l'incrément à l'équipe Validation.
  • Équipe Validation
    • L'équipe Validation s'occupe de tester et de valider la version de l'incrément précédent, par exemple: nous développons la version 2, pendant ce temps Validation s'occupe de la version 1.
    • Pour réaliser ces tests, l'équipe Validation utilise des bancs de test avec des tests automatiques ainsi que des plateformes réelles.

Ces 4 mois sont organisés tels que les 3 premiers mois sont des mois de développement, pendant ces mois nous nous occupons de développer les nouvelles fonctionnalités pour la version à venir.
Enfin, le dernier mois de l'incrément est un mois dit de stabilisation, ce mois nous permet de résoudre les problèmes remontés par l'équipe Intégration, il nous permet aussi de s'occuper de la dette technique de nos applications.

Les cérémonies

Bien que travaillant avec la méthode agile, ce modèle à été adapté par l'équipe selon ses besoins.
De ce fait, nous avons donc plusieurs cérémonies (réunions) organisées tout au long de chaque incrément.

Daily


Daily meeting

Daily meeting


Tout d'abord, chaque jour nous organisons un "daily", c'est une réunion journalière que nous faisons le matin dans laquelle tous les membres de l'équipe expliquent chacun à leur tour ce sur quoi ils ont travaillé la veille et ce sur quoi ils comptent travailler aujourd'hui.
Cette réunion permet de voir comment avance le projet jour par jour, en ayant une vision globale du travail de l'équipe.
À la fin du daily, une fois que tout le monde a pu parler, nous laissons la place à des sujets libres, c'est un moment où chacun peut parler d'un problème qu'il rencontre, ou bien présenter rapidement une chose sur laquelle il a travaillé.

Weekly

Chaque début de semaine, nous faisons un weekly, cette réunion permet à chaque membre de dire où il en est sur son avancement de l'epic et des fonctionnalités sur lesquelles il travaille, s'il rencontre des points bloquants, afin d'avoir un status par rapport au planning initial.
Une fois que tout le monde est passé, nous nous attribuons, entourés du Product Owner, les tâches que nous allons effectuer pour la semaine à venir en reprenant les tâches qui n'ont pas pu être finies la semaine précédente, et en choisissant des tâches dans le backlog tout en se fiant au planning déjà mis en place à l'avance.
Cela nous permet de nous fixer des objectifs définis pour la semaine à venir.

Retro

Chaque début de mois, nous organisons une rétro. C'est une réunion que nous organisons sur la plateforme Metro Retro qui nous permet de faire une rétrospective sur le mois qui vient de se passer. Nous utilisons une template appelée "Sailboat".


Retro meeting

Retro meeting


Sur ce tableau, nous nous accordons 10 minutes pour poser des post-it sur les différents espaces disponibles.
Cette template représente notre équipe comme l'équipage d'un bateau, c'est-à-dire que nous mettons des post-it sur l'emplacement du bateau pour représenter des actions, des événements qui contribuent au bien-être, à la bonne humeur dans notre équipe.
La partie avec l'île représente nos objectifs, ici nous mettons tout ce qui est en rapport avec ce vers quoi nous nous dirigeons.
Le vent qui pousse le bateau vers l'île représente tout ce qui nous pousse vers l'avant.
Les rochers eux représentent les risques que l'on pourrait rencontrer.
Et enfin l'ancre représente tous les problèmes rencontrés qui ont pu nous freiner.
À la fin de ces 10 minutes pendant lesquelles nous plaçons nos post-it sans voir ceux des autres membres, nous les présentons chacun notre tour aux autres membres de l'équipe. Une fois que les post-it sont révélés, nous pouvons discuter entre nous pour nous mettre d'accord sur certains points, et ensuite nous regroupons les différents post-it qui se rejoignent afin de faire ressortir les thèmes généraux de cette rétrospection.
À la suite de ce regroupement, cela nous permet d'avoir une vision globale de comment s'est déroulé notre mois.
Enfin, le but est de créer des post-it qui représentent les actions à mettre en place pour le mois à venir pour répondre aux besoins / contraintes exprimés pendant cette rétro.

Sprint demo

À la fin de chaque sprint, chaque membre de l'équipe fait une présentation de ce sur quoi il a pu travailler pendant tout ce sprint.
Cela nous permet de voir en pratique ce sur quoi travaillent les autres membres, là où les daily et les weekly sont essentiellement des points où l'ont dit sur quoi on a / va travailler.
À la suite de ces démonstrations, les autres membres peuvent donc nous poser des questions, ou bien faire des retours sur ce qu'on a produit.


Veille technologique

Afin de rester à jour sur les technologies utilisées et tout l'écosystème qui les englobe, il est nécessaire de faire une veille.
Pour cela plusieurs méthodes sont possibles, je vais donc vous partager ma façon de faire ma veille.


Benjamin Code

Benjamin Code


Ma veille se fait en très grande partie sur les réseaux sociaux, qu'ils soient professionnels ou non.
La manière la plus naturelle et efficace pour moi de rester à jour est de suivre des "influenceurs" et des personnes de la communauté de notre domaine sur des réseaux que nous utilisons tous les jours, de cette manière nous pouvons voir des messages, vidéos, articles en rapport avec les nouveautés technologiques sans avoir à les chercher nous-mêmes.

Voici donc une liste non exhaustive des comptes que je vous conseille de suivre afin de rester à jour dans le domaine de l'informatique en général, et du développement web plus particulièrement :

Je pourrais continuer encore longtemps tellement il y a de ressources 😅, mais je vous laisse découvrir par vous-même les autres ressources existantes.
Ce que je trouve bien avec cette façon de faire sa veille, c'est que les algorithmes des réseaux sociaux sont de nos jours tellement bien fait qu'il est possible de voir passer des personnes que nous ne suivons pas, mais dans le même domaine que les personnes que nous suivons déjà, dans notre fil.
De cette manière les informations sur les nouvelles technologies viennent elles-mêmes vers nous, sans avoir à les chercher par soi-même !

Faire une veille afin de rester à jour est une bonne manière de découvrir de nouvelles technologies où bien des alternatives déjà existantes à des technologies que nous utilisons, nous verrons dans cet article comment cela m'a servi pour découvrir de nouvelles librairies et potentiellement changer celles utilisées actuellement.