Pour toute valeur de N égale à un
Dans le développement logiciel, on perd souvent du temps à débattre sur des nombres 🔢.
L'exemple le plus frappant, c'est quand on fait des estimations sur des durées de tâches 🧮. Mais ce n'est pas le seul cas.
Ce que peu de gens savent, c'est qu'il y a un nombre magique qui est adapté à quasiment toutes les situations ✨.
Estimations
Si vous estimez la durée d'une tâche, c'est pas bien compliqué. La durée c'est 1️⃣.
Mais "un" quoi ? On s'en fiche. Il n'y a que deux cas ou la durée n'est pas 1️⃣ :
- quand on sait que la tâche est trop grosse et donc supérieure à 1️⃣
- quand on n'a vraiment aucune idée
Dans les deux cas, il vaut mieux raffiner le sujet jusqu'à ce que chaque tâche soit estimée à 1️⃣.
Ça produira des discussions très utiles.
Itérations
Ces estimations servent souvent à planifier le contenu d'une itération. Mais si on veut savoir ce que l'on peut mettre dans une itération, il faut savoir combien de temps elle dure.
La durée idéale d'une itération, c'est facile : c'est 1️⃣.
1️⃣ mois si vous débutez. 1️⃣ semaine quand vous êtes rodés. 1️⃣ jour en régime de croisière. 1️⃣ heure si vous êtes 🔥🔥🔥.
Pro tip : mois l'itération dure, moins vous passerez du temps à la planifier - et donc moins vous aurez besoin d'estimer son contenu.
Mais on y fait quoi dans une itération ? Combien d'objectifs peut-on y caser. Là, il n'y a même pas de débat à avoir : 1️⃣.
Fusion
Et ce truc marche aussi quand on travaille le code.
Le nombre idéal de branches de développement ? 1️⃣. Et on l'appelle trunk.
Certains développeurs utilisent ce qu'ils appellent des pull request pour fusionner leurs modifications sur la branche principale. Si jamais se pose la question du nombre idéal de commits dans une de ces fusions, la réponse est simple : 1️⃣.
Moi je préfère pousser directement mes commits vers le trunk. On gagne du temps et on se force à écrire du meilleur code car on apprend à mieux l'organiser.
À ce propos, c'est quoi la durée maximale pendant laquelle on peut conserver du code non fusionné ? C'est 1️⃣ !
1️⃣ heure - ou 1️⃣ jour si c'est un truc vraiment compliqué - mais ça reste une durée maximale. Rien n'empêche de fusionner toutes les 1️⃣ minutes.
Baston
Et pour coder, le nombre idéal de personnes devant le même bout de code ? C'est toujours 1️⃣ ? On ne fait plus de pair programming ?
Le pair programming, c'est un minimum. Le nombre idéal sur le même code, c'est 1️⃣ équipe complète.
Toute règle ayant ses exceptions, il y a un cas où la réponse 1️⃣ n'est pas adaptée. C'est le nombre d'espaces pour visualiser une identation dans le code. Mais c'est un sujet tellement sensible que je préfère ne pas participer au débat.