Des semaines de quarante heures comme pratique, pas comme ligne directrice. Les heures supplémentaires sont un signe d'échec.
Le nom original de XP pour cela était « semaine de 40 heures ». L'idée était controversée à l'époque et le reste aujourd'hui : des heures de travail régulières, pas d'heures supplémentaires comme pratique standard.
Ce n'est pas un avantage ou un luxe. C'est une pratique fondamentale de XP parce que :
Les développeurs fatigués font des erreurs. Les études montrent que la productivité chute fortement après 50 heures/semaine. Après 60 heures, vous produisez plus de bogues que de fonctionnalités.
Le repos favorise la créativité. Les problèmes complexes nécessitent des esprits frais. La solution qui résout un bogue vient souvent après s'être éloigné du problème.
L'épuisement détruit les équipes. Les équipes qui fonctionnent à vide finissent par s'effondrer. Les gens démissionnent, tombent malades ou décrochent mentalement. Le « sprint final » qui sauve l'échéance tue l'équipe.
Le rythme soutenable est durable. Vous pouvez travailler 40 heures par semaine indéfiniment. Vous ne pouvez pas travailler 60 heures par semaine indéfiniment — quelque chose casse.
Le mythe de la productivité
Après 50 heures/semaine, les heures supplémentaires génèrent tellement de bogues qu'elles créent une productivité négative. Vous livreriez plus en travaillant moins.
Dans XP, les heures supplémentaires ne sont pas de l'héroïsme — c'est un signal d'alarme. Cela signifie que quelque chose ne va pas :
Quand vous faites des heures supplémentaires pour respecter une échéance, vous traitez les symptômes, pas les causes. Le problème sous-jacent demeure. À la prochaine échéance, vous ferez encore des heures supplémentaires.
La réponse XP : Faire remonter le problème. Dire au client « nous ne pouvons pas tout faire d'ici là ». Ajuster la portée, l'échéancier ou les ressources. Ne pas prétendre que tout va bien pendant que vous vous épuisez.
L'équipe réalise qu'elle ne peut pas terminer toutes les fonctionnalités avant le lancement. Elle informe immédiatement le propriétaire du produit, négocie une réduction de la portée et livre une version plus petite mais de haute qualité à temps.
L'équipe travaille 70 heures par semaine pendant trois mois pour respecter une échéance. Elle livre à temps mais le code est truffé de bogues. Deux développeurs démissionnent par épuisement. Les bogues prennent six mois à corriger.
Les développeurs confondent souvent « état de flux » et « travailler de longues heures ».
La zone est précieuse :
La marche de la mort est destructrice :
XP favorise la zone. La programmation en binôme protège la concentration. Les petites itérations fournissent des objectifs clairs. Les équipes complètes réduisent les interruptions.
Mais la zone se produit pendant les heures de travail normales. Vous n'avez pas besoin de semaines de 60 heures pour entrer dans l'état de flux. En fait, l'épuisement empêche le flux.
Une bonne journée : 4 à 6 heures de travail concentré dans la zone, plus communication, planification et apprentissage. Une mauvaise journée : 10 heures de travail fragmenté, sans jamais entrer dans le flux.
Le développement logiciel est un travail créatif. La créativité nécessite du repos.
Pourquoi le repos compte :
Les pratiques XP qui favorisent le repos :
La direction doit protéger le repos. Si le leadership célèbre les « héros de minuit » ou envoie des courriels à toute heure, le rythme soutenable n'est que des mots. La culture est définie par ce qui est récompensé.
Si quelqu'un résout un problème difficile après s'être éloigné pour la fin de semaine, célébrez cela. C'est la preuve que le repos fonctionne.
Les produits logiciels vivent pendant des années. Les équipes doivent travailler à un rythme qu'elles peuvent maintenir pendant des années.
Mentalité de sprint : Pousser fort maintenant, se reposer plus tard. Cela fonctionne pour les courses courtes mais pas pour construire des logiciels. Il y a toujours une autre échéance. « Plus tard » n'arrive jamais.
Mentalité de marathon : Gérez votre rythme. Travaillez à un rythme que vous pouvez maintenir indéfiniment. Développez des habitudes qui favorisent la santé et la productivité à long terme.
Signes d'un rythme non soutenable :
Si vous voyez ces signes, le rythme est un problème — peu importe ce que la direction dit sur le « sprint final temporaire ».
Il y a toujours une échéance
Ne croyez pas « il suffit de passer cette échéance et les choses vont se calmer ». Les logiciels ont toujours une autre échéance. Si les heures supplémentaires sont normales maintenant, elles le seront pour toujours.