Pourquoi le lancement (shipping) est difficile
- Beaucoup de gens pensent à tort que « lancer » est simple, mais dans la pratique, l’état par défaut est souvent un lancement retardé ou annulé, ou un produit insuffisamment abouti qui crée des problèmes.
- Le fait d’avoir écrit tout le code ou résolu tous les tickets Jira ne signifie pas qu’un lancement se fera automatiquement. Pour qu’un lancement ait lieu, quelqu’un doit en prendre le lead.
- Le lancement doit devenir la priorité absolue. Se concentrer excessivement sur l’expérience utilisateur (UX) peut au contraire retarder le lancement.
- Pour lancer un projet avec succès, il faut un leader technique ou un DRI (Directly Responsible Individual). Les équipes qui ont un ingénieur dans ce rôle ont davantage de chances de réussir.
Qu’est-ce que « lancer » signifie ?
- Beaucoup d’ingénieurs considèrent le « lancement » comme un simple déploiement de code ou une activation de fonctionnalité, mais cette définition est différente dans les grandes entreprises tech.
- Un lancement a lieu lorsque les personnes importantes dans l’entreprise croient qu’il a eu lieu. Si le VP ou le CEO n’est pas satisfait, alors même si le code a été déployé, ce n’est pas réellement « lancé ».
- Si un projet connaît un grand succès auprès des utilisateurs ou génère des revenus, alors il est lancé ; mais même si la réaction des utilisateurs est mauvaise, si la direction est satisfaite, cela est quand même considéré comme un lancement.
L’importance de la communication
- Il faut comprendre clairement quel est l’objectif du projet. Selon l’objectif, la manière de travailler et la stratégie de communication changent.
- La direction de l’entreprise connaît très peu les détails techniques du projet. Il est donc essentiel, pour préserver la confiance, de fournir des estimations précises, de résoudre les problèmes et de communiquer des mises à jour appropriées.
- Comment maintenir cette confiance :
- Avoir déjà participé à des lancements réussis dans le passé est un avantage.
- Il faut afficher une attitude confiante.
- Il faut communiquer de manière professionnelle et concise, comme le mission control de la NASA.
- Il faut partager les informations de façon proactive via un fil de mises à jour quotidiennes ou hebdomadaires.
Résoudre les problèmes de déploiement en production
- La plupart des problèmes viennent de détails imprévus. Par exemple, des problèmes de taille de bloc dans Memcached, des erreurs de prévision de trafic ou des questions liées à des données utilisateur sensibles.
- Pour résoudre rapidement les problèmes, une compréhension technique approfondie du système est nécessaire.
- Il faut être capable de réagir rapidement aux problèmes anticipés et d’expliquer clairement si un problème est grave ou non.
Peut-on lancer tout de suite ?
- Il est important de se demander si l’on peut lancer immédiatement. Si ce n’est pas le cas, il faut réfléchir à ce qui doit changer pour que cela devienne possible.
- Il faut utiliser les feature flags et les environnements de staging afin d’obtenir du feedback le plus vite possible.
- Juste avant le lancement, il faut réduire le travail technique et se préparer à réagir rapidement si un problème survient.
Résumé
- Le travail de lancement est très difficile et doit être traité comme la priorité absolue.
- Le sens du lancement n’est pas un simple déploiement, mais le fait que l’équipe dirigeante soit satisfaite.
- Obtenir la confiance de l’équipe dirigeante est la clé d’un lancement réussi.
- Il est important d’avoir un plan de secours pour anticiper et gérer les problèmes.
- Juste avant le lancement, il faut réduire le travail de développement afin de pouvoir se concentrer sur la résolution des problèmes.
- Il faut toujours se poser la question : « Peut-on lancer tout de suite ? »
- Il faut laisser tomber la peur et faire preuve de courage.
2 commentaires
Commentaire Hacker News
J’ai extrait un avis marquant.
« Certaines personnes veulent simplement bâtir un territoire technique réservé à elles-mêmes, ou recevoir des éloges de la part de personnes placées au-dessus d’elles, à n’importe quel niveau de la hiérarchie. C’est ainsi que "le jeu se joue". Jouer à ce jeu finit par conduire à la mort de l’organisation, et c’est précisément pour cela que les entreprises ont un cycle de vie. Au bout du compte, ces personnes détruisent l’organisation de l’intérieur et écartent celles qui ont de vraies convictions ou qui cherchent réellement à optimiser l’exécution du travail. »
« La manière de gagner au jeu, c’est de ne pas y jouer. »