Manifeste de notre équipe de dev

Martin Salles
Captain Contrat Tech
5 min readAug 31, 2018

--

Nous avons décliné les valeurs de Captain Contrat en comportements métiers pour définir notre manière de travailler. Ce manifeste est important pour nous : plus qu’un accord passé en interne, ce sont des valeurs que nous voulons incarner et nous tenions à les afficher publiquement. Une partie du manifeste est aspirationnelle, de moins en moins au fur et à mesure que l’équipe progresse.

Au sommaire de l’article :

Nous construisons le produit vite et dans la bonne direction

Le produit Captain Contrat évolue vite et ses objectifs, même à court terme, changent régulièrement. C’est pourquoi nous travaillons de manière agile et nous prenons des engagements de livraison à très court terme.

Notre engagement est ambitieux sur nos sprints et nous travaillons en équipe pour le tenir. Nous connaissons nos limites et entretenons une relation stable et saine avec l’équipe produit.

Pour qu’un tel engagement soit tenable, il faut savoir ralentir avant de se lancer et donc préparer chaque sprint avec soin : les besoins de l’équipe produit sont clarifiés et challengés avant d’entamer concrètement une tâche. Ceci nous assure que les développements réalisés respectent les spécifications.

Nous savons détecter quand une tâche doit être redécoupée afin d’évaluer sa complexité correctement. Nous sommes aussi capables de déceler quand cette évaluation ne correspond pas à la réalité, et nous levons une alerte quand cela se produit.

Enfin, nous améliorons nos processus de travail régulièrement pour nous adapter aux évolutions des équipes et aux besoins de chacun.

Nous réalisons du code propre, fiable et maintenable

Chacune de nos lignes de code est susceptible d’augmenter la dette technique, rendant à terme le développement laborieux. Le code que nous écrivons une fois aujourd’hui sera relu et remis en question plusieurs fois. Il convient donc de respecter certains processus choisis par l’équipe non seulement pour éviter de créer de la dette, mais aussi pour la réduire petit à petit.

Nous écrivons du code propre et simple. La mise en place de linters prévient l’ajout de code dont la syntaxe ou la complexité n’entre pas dans les normes de l’équipe. KISS, Demeter, YAGNI et SRP ne sont pas des incantations magiques, mais des bonnes pratiques qu’il faut garder à l’esprit et qui nous donnent la marche à suivre.

Les tests que nous écrivons nous assurent de la fiabilité de notre code. Exécutés à chaque push sur une branche, ils mettent en garde contre les effets de bord de nos modifications.

Notre code est relu puis validé par deux autres développeurs avant livraison. Ce n’est pas la personne qui est jugée, mais son code. Challenger et accepter les retours qui sont fait dessus permet d’améliorer la qualité du code et de progresser. Nous tirons toujours quelque chose de cet échange, relecteur comme auteur.

L’échange passe aussi par la réalisation de séances de pair programming courtes et efficaces durant lesquelles nous analysons du code et tentons à deux de résoudre un problème sur un temps donné.

Nous montons en compétences et nous rayonnons sur les autres équipes

Dans un domaine en permanente évolution, il est important que nous soyons au courant des nouvelles technos et bonnes pratiques qui émergent dans la communauté dev et chez nos concurrents. Notre montée en compétences doit être une préoccupation individuelle et collective. Cela signifie que nous devons prendre le temps de nous former et de restituer aux autres nos apprentissages et les solutions trouvées aux problèmes rencontrés.

Quand on pousse en prod une grosse fonctionnalité

Plus largement, Captain Contrat est une boîte legalTECH et la tech est au centre de notre activité. Nous avons donc une responsabilité pédagogique à tenir auprès des autres équipes : elles comprennent ce que nous faisons et comment cela les impacte. Cependant, Captain Contrat n’est pas seulement une boîte tech, donc nous devons aussi être bienveillants vis-à-vis de leurs potentielles difficultés à comprendre nos sujets.

Réciproquement, nous avons beaucoup à apprendre des connaissances et compétences des autres équipes et nous devons être proactifs en ce sens.

Nous préparons un futur réalisable

Nous sommes ambitieux dans notre préparation du futur de la plate-forme.

Nous utilisons un grand nombre d’outils pour développer les applications de Captain Contrat. Tous ces outils sont vivants et nous surveillons leurs évolutions. Autant que possible, nous devons utiliser leurs versions les plus performantes et stables.

Les langages évoluent et les frameworks changent. Nous choisissons les technos les plus pertinentes pour répondre à nos besoins. Ces choix doivent collectivement être anticipés, réfléchis, effectués et assumés. A nous de placer correctement le curseur entre la stagnation séculaire et le hype-driven development. Nous devons tous savoir pourquoi un choix est fait et quelles sont les contraintes et risques.

Notre temps n’est pas infini. Toutes ces mises à jour et évolutions de techno sur nos applications sont faites en tenant compte des besoins fonctionnels de nos utilisateurs et des équipiers Captain. Nous devons toujours savoir dans quelle direction nous souhaitons aller et pourquoi, mais nous devons aussi être capables de retarder certaines actions pour attendre le moment propice.

Nous construisons une équipe auto-gouvernée et efficace

Un bon esprit d’équipe, une vision partagée et une confiance en ses coéquipiers sont des pré-requis de notre organisation d’équipe atypique. Nous privilégions une équipe qualifiée et soudée à une équipe nombreuse.

Pour construire et maintenir notre équipe, notre processus de recrutement se doit d’être bienveillant et efficace. Nous devons donner envie aux candidats afin d’attirer les meilleurs, à travers nos contributions publiques et notre manière d’être. Nous reconnaissons le niveau, les qualités et l’engagement d’un candidat et nous prenons des décisions franches et assumées pour éviter les faux espoirs, mauvais signaux et perte de temps d’un côté comme de l’autre. Chaque candidature se termine sur une note positive pour le candidat et pour nous, par un apprentissage via un feedback mutuel.

Notre organisation est basée sur l’engagement individuel et collectif des équipiers, sans manager. Elle a pour piliers la proactivité, la fiabilité et la transparence. Chacun est libre de s’engager sur les sujets de son choix pour faire avancer l’équipe en se basant sur la sollicitation d’avis. Nous sommes tous responsables des décisions qui sont prises et sommes prêts à les assumer.

Vous avez un avis sur notre manifeste ? N’hésitez pas à nous écrire pour partager votre vision du développement web avec nous !

--

--

Martin Salles
Captain Contrat Tech

Developer@Captain Contrat all week long, ultimate frisbee player otherwise