Ron Jeffries avait tort

où le besoin du programmeur est plus important que le besoin du client (si la qualité est importante).

l’autre jour, je vous parlais du manque de visibilité sur le projet et je disais alors que l’un des problèmes c’était l’absence de « version courante » disponible a tout moment. mais pourquoi est ce qu’on n’avait pas de version courante?

au fil des mois plusieurs dépendances non documentées se sont accumulées. des chemins de fichiers dépendant de l’arborescence locale, un paramètre par ci, un paramètre par là, des patchs SQL a exécuter selon la version de la base, etc… tout ça faisait que chaque installation était devenue un casse tête. alors pour moi, qui suivait le projet de loin et qui avait mille taches a faire. quand j’avais besoin de voir ou on en est. rien que de penser que je devais « checkout » la version et l’installer me donnait la chiasse.

mis a part moi, les autres se contentaient de leurs propre version. ils gueulent quand ils ont a résoudre un conflit après un « commit », ils disent « ça fonctionne chez moi » quand un autre trouve un bug dans les fonctionnalités desquelles ils sont responsables et tout va bien dans le meilleur des mondes. tout le monde savait très bien combien c’était pénible d’installer cette application. le processus normal aurait inclus un « packaging » de l’application avant chaque livraison. nous en avions discuté auparavant, et le sentiment qui en ressortait était que cela ne valait pas la peine d’inclure un installeur étant donné que c’est nous qui allons l’installer et personne d’autre. et que l’environnement cible est maîtrisé (les serveurs du client).

nous étions dans l’erreur. c’est clair maintenant, ça ne l’était pas au début du projet. et ce n’est pas juste une question de bien être de l’équipe. figurez vous que le sentiment de manque de visibilité a des conséquences directes sur la vitesse du projet et la qualité des livrables. j’ai les statistiques. en début de projet, il y avait moins de code, le projet était moins défini et on etait moins pressés… eh bien, on avançait plus vite! parce que le client nous pressait moins aussi. mes maîtres disent « business value first ». oui, mais c’est avec ce genre d’arguments qu’on s’est retrouvés dans ce pétrin. d’abord, qu’est ce qui est exactement « business value » et qu’est ce qui ne l’est pas? est ce que quand je factorise mon code je crée de la « business value »? et quand j’améliore ma conception ? mon avis, c’est que « business value first » est profondément antagoniste avec la factorisation. ce qu’il faudrait c’est « empower the team first ».

l’idée c’est, suivant la terminologie agile : même si nous donnons de la valeur a la « business value », nous donnons plus de valeur à la puissance de l’équipe. pendant un cycle de livraison si le choix est à faire entre factoriser le code et livrer une nouvelle fonctionnalité, le choix doit se porter sur la factorisation du code.

peut être que l’erreur est de toujours considérer le besoin du programmeur comme secondaire alors qu’il est primordial. après tout, on est tous sur le même bateau, le programmeur, le gestionnaire et le client. on veut un outil qui nous donne le plus de pouvoir possible, et on le veut le plus vite possible. et il s’agit du même outil. qu’on est tous en train de construire. et qu’on est tous en train d’utiliser.

la prochaine fois je vous dirais comment j’ai fait.

About these ads

3 comments so far

  1. […] tard je vous dirais pourquoi la version du “dibbou” n’était pas disponible et comment je vais faire pour y […]

  2. […] de l’amélioration de la qualité Posted octobre 1, 2007 quand je vous disais que le besoin du programmeur est plus important que le besoin du client, je voulais bien évidemment dire le besoin de l’équipe de développement. vous aurez […]

  3. […] Le système est là pour donner du pouvoir aux hommes, pas pour les brider. Du pouvoir de faire des choses qu’ils ne pouvaient pas faire sans. […]


Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

Suivre

Recevez les nouvelles publications par mail.

Rejoignez 72 autres abonnés

%d blogueurs aiment cette page :