Ce que j'appelle classique est en fait l'assignation de tâches rigides estimées plus ou moins bien par une instance supérieure. L'idée est ensuite de demander bien entendu au développeur x ou y de tenir le délais estimé, sinon attention les doigts, il va falloir justifier très précisément la moindre minute de retard.

Même si l'utilité d'avoir un planning n'est pas à remettre en cause, le fait d'avoir un responsable quel qu'il soit qui vient regarder derrière votre épaule en permanence pour savoir si vous n'avez pas de retard entraine l'apparition d'un comportement extrêmement dangereux pour le projet. Plutôt qu'un long discours, je vais passer directement à l'exemple qui a conduit à ce billet:

Suite à une modification d'un concept de base du projet, même si cruise control était au vert, le fait est que j'avais oublié de refactoriser une partie impactée : les entrepôts de données. Un membre de l'équipe m'en fait la remarque; effectivement c'est une modification cruciale à faire, donc je lui dis en substance:
- ok tu vois ce qu'il faut faire, et bien vas-y tu es le mieux placé pour le faire maintenant.
- ah oui mais je suis sur telle tâche, que je dois absolument rendre pour ce soir, je n'ai pas de temps attribuée pour ça.

Mon ressenti par rapport à cette réponse, c'est qu'entre faire le travail nécessaire pour la santé du projet, et faire le travail nécessaire pour ne pas se faire taper dessus, vu l'environnement de stress mis en place, le choix est souvent trop vite fait.

Poussé un peu plus loin, ce qui me fais peur dans cette petite conversation, c'est finalement combien de fois des choix similaires ont été faits? Combien de fois un développeur, face à la peur ou l'envi d'être tranquile vis à vis de son chef, a choisi la solution dangereuse pour la santé globale du projet? Ma conclusion serait donc que dans un environnement piloté par le stress, les mauvais choix sont trop faciles à faire.