De geek à directeur technique

Le blog d'un geek devenu directeur technique

Aller au contenu | Aller au menu | Aller à la recherche

Organisation d'équipe

Comprendre les gens pour les faire travailler ensemble. Écouter, collaborer, s'imposer.

À lire en premier :

Si vous cherchez un bon bouquin, jetez vous sur Managing Humans.

 

Fil des billets - Fil des commentaires

lundi 22 mars 2010

Réduire les goulots d'étranglement

Un lecteur de ce blog a fait appel à moi récemment pour l'aider à améliorer l'organisation de son entreprise. Je ne suis pas consultant et je ne cherche pas à l'être, mais j'ai grandement apprécié l'expérience. Je ne vais évidemment rien divulguer de confidentiel à ce propos, mais j'ai quand même envie de partager avec vous quelques éléments fondamentaux de notre discussion.

Il s'agit presque d'un cas d'école : Une petite entreprise qui existe depuis assez longtemps, et avec juste assez de turn-over, pour qu'une partie non négligeable de la connaissance d'entreprise (expérience des clients, expertise technique, gestion des projets) soit concentrée sur le patron. Certains projets ont beau être gérés par d'autres personnes, il continue à jouer un rôle central qui finit par ralentir l'ensemble de l'activité.

Je lui ai proposé un plan de bataille en trois étapes :

  1. Déléguer
  2. Communiquer
  3. Définir un référentiel

Déléguer

Il me semblait important de commencer par imposer une nécessité : Déléguer tous les projets. Quand on est patron d'une entreprise, il faut pouvoir avoir un œil sur l'ensemble des projets, pouvoir intervenir dessus quand il le faut ; mais il ne faut pas être la personne qui a la responsabilité de la réussite du projet.

En déléguant chaque projet, on responsabilise les membres de l'équipe, et on se ménage la possibilité d'aider chaque projet au mieux en fonction des besoins.

Pour résumer, lorsqu'une personne concentre ainsi une majorité de connaissances, elle ne peut pas se consacrer à un projet − cela aurait un impact trop négatif sur tous les autres. Il faut prendre de la hauteur.
Être un manager et non un leader.

Par contre, il faut bien comprendre que la délégation des responsabilités ne veut pas dire qu'on se lave les mains des projets. Il faut au contraire forcer les collaborateurs à découper leurs tâches le plus finement possible. Ainsi il sera facile de définir les priorités entre les tâches, d'évaluer leurs durées, bref de combattre l'effet tunnel.

Communiquer

C'est bien beau de tout déléguer, mais cela fait prendre des risques. Et quand on a pris l'habitude d'être au centre de tous les projets, c'est forcément un peu effrayant.

La plupart des entreprises organisent une réunion hebdomadaire de suivi de projets. Sauf qu'il est difficile de passer le reste de la semaine sans avoir une vision précise de l'avancement des projets, et en cas de soucis on peut rapidement se prendre une semaine entière de retard. C'est ce qui amène souvent à faire du micro-management : on passe son temps à regarder au-dessus de l'épaule des autres, pour savoir où ils en sont ; c'est inefficace et désagréable.

Lire la suite...

jeudi 11 février 2010

Le «harcèlement positif» comme méthode de travail

Il y a environ un an, je vous parlais du logiciel Action Method. Il propose une fonctionnalité «nagging», qui permet de rappeler au responsable d'une tâche que celle-ci réclame une attention particulière ou une exécution rapide.
J'aime bien cette fonction toute simple mais très utile. J'ai implémenté la même chose dans l'outil de gestion de projets qu'on utilise en interne dans mon entreprise, et je pense l'inclure au projet Skriv.

Les leviers de productivité

Avec le temps, je me suis rendu compte que je me servais − et je ne suis pas le seul − du «harcèlement» comme d'une manière normale de travailler. Non pas que je harcèle les gens avec qui je bosse (c'est puni par la loi !), mais je les incite à me harceler.

Je m'explique : De par mon poste de directeur technique, je suis amené à réaliser un certain nombre de choses par moi-même, mais une part importante de mon travail est de permettre aux autres de travailler. Que ce soit en débloquant un développeur qui reste scotché sur un bug, en aidant l'administrateur sur des tâches IT, en discutant de spécifications avec un chef de projet, en organisant les procédures d'une équipe, ... je passe plus de la moitié de mon temps à “mettre de l'huile dans les rouages“.
C'est un calcul simple à faire : Cette vingtaine de personnes, si je peux faire quelque chose pour la rendre plus productive, elle générera plus de résultats que si je me concentre uniquement sur mes tâches. Et même si je ne réussis qu'à améliorer la productivité de 3 personnes, ça en vaudra la peine.

Petit aparté : Cette manière de faire peut être dangereuse si on ne la maîtrise pas. Il ne faut pas devenir le point de passage obligatoire pour toutes les réalisations, sinon on se transforme en goulot d'étranglement. Au lieu de rendre les gens plus productifs, on ralentit au contraire leur travail.

Priorités vs réactivité

Malheureusement, devenir un tel «point central» fait qu'il y a souvent un défilement incessant de personnes qui viennent me demander quelque chose. Parfois c'est juste pour avoir une info ou pour me demander mon avis avant de prendre une décision, d'autres fois c'est pour me demander de réaliser une opération qui va prendre plus de temps.

Au début, je notais les requêtes au fur et à mesure qu'elles arrivaient, en utilisant ma todo-list personnelle, ou notre buglist ou notre logiciel de gestion des tâches. Mais ça ne fonctionnait pas. Les requêtes s'empilaient sans que les demandeurs ne fassent l'effort de réfléchir aux priorités de leurs demandes. Je les traitais suivant leur ordre d'arrivée et non pas suivant leur importance ; j'étais dans la réaction et pas dans la planification.
Évidemment, j'aurais pu simplifier les choses en répondant à chaque demande «Tu as créé un ticket dans la buglist ?», et attendre le lendemain pour revoir l'ordre de priorité de toutes les tâches en attente. Mais perdre en réactivité n'est pas la bonne réponse à un problème d'identification des priorités.

Le harcèlement positif

Au final, quand quelqu'un a besoin de moi, il y a 3 scénarii :

  1. Je suis occupé à faire quelque chose d'important et long. Je demande de revenir plus tard, mais je m'informe quand même de l'importance de la demande (au cas où).
  2. Je suis occupé, mais je n'en ai plus que pour 2 minutes. Je demande à la personne de s'asseoir à côté de moi et d'attendre que j'ai fini. Quand les demandes ne sont pas si importantes que ça, les gens n'ont naturellement pas la patience d'attendre. Ils agissent comme si j'allais systématiquement m'arrêter de travailler pour traiter leurs requêtes dans la seconde ; mais si on leur demande à eux d'attendre, ils y réfléchissent à 2 fois.
  3. Il y a déjà plusieurs personnes qui font le pied de grue pour utiliser mon «temps machine». Dans ce cas, on évalue collégialement les priorités. Mais il y a un effet naturel qui s'ajoute : Lorsque quelqu'un attend depuis longtemps, il fait ce qu'il faut pour ne pas continuer à attendre ; soit il finit par abandonner (ce n'était pas si important finalement), soit il réussit à nous convaincre de l'importance de sa demande.

Quand quelqu'un a réussi à m'atteindre (si je puis dire), je lui demande de rester assis à côté de moi pendant tout le temps que je vais prendre pour réaliser ce qu'il me demande. Ceci est valable pour toutes les tâches «normales». Si une tâche va me prendre plusieurs heures, je l'intègre à ma todo-list globale.
On pourrait s'étonner du fait que je force des non-techniciens à rester près de moi, même quand je ne fais qu'exécuter des actions techniques. Pourtant, c'est justement ce qui fait que cela fonctionne :

  • Si la personne s'en va, il y a de gros risques que quelqu'un d'autre arrive juste derrière et me fasse travailler immédiatement sur une tâche plus urgente. Cela a moins de chances d'arriver si je suis visiblement occupé avec une autre personne.
  • Si la personne qui me demande quelque chose ne peut pas rester avec moi, si elle a plus important à faire que de s'assurer que je m'en occupe rapidement, c'est sûrement que ce qu'elle me demande n'est pas très important. Ou en tout cas, cela veut dire que j'ai moi aussi d'autres tâches plus importantes dont il faut que je m'occupe.
  • En gardant les requérants auprès de moi, je peux leur donner les informations qui leur permettront d'être indépendants la prochaine fois. Si par contre je m'en charge toujours de A à Z, tout seul dans mon coin, il n'y a aucune chance qu'ils montent en compétence.
  • Au moment où la tâche est terminée, ils en ont aussitôt un statut exact et complet. Il n'y a pas de tergiversation, il n'y a pas de perte d'information à cause d'une communication incomplète.

Qu'en penser ?

Je suis conscient de l'aspect complètement empirique de cette manière de travailler. Peut-être qu'elle ne peut pas s'appliquer à toutes les personnes ni à toutes les situations. Mais je l'ai vu fonctionner à maintes reprises, et ça fonctionne dans mon entreprise.

D'une certaine manière, cela me rappelle certains aspects de la méthode Getting Real de 37signals. Entre autres son paragraphe Start With No. On peut y retrouver des notions similaires :

  • On doit parfois ajouter des contraintes pour devenir plus efficace.
  • Les idées importantes finissent toujours par se faire entendre. Sans système de filtrage, c'est la cacophonie.

lundi 8 février 2010

Du micro-management jusqu'à la délégation, le long parcours de la confiance

Quand on gère une équipe, on se retrouve régulièrement confronté à un dilemme : Quand et comment déléguer ?
Même si on n'est pas un control freak, on ne va pas confier “les clés de la maison” aveuglément ; mais d'un autre côté, il n'est pas possible de demander aux gens de donner le meilleur d'eux-mêmes si on est sans cesse en train de les surveiller. Alors que faire ?

Types de management

La plupart des livres et méthodes de management mettent en avant 2 points qui sont réellement importants (et qui sont liés l'un à l'autre) :

  • Il faut responsabiliser les personnes que l'on encadre. Ainsi ils gagneront en confiance, prendront des initiatives, réfléchiront par eux-même, travailleront de manière autonome, feront attention à la qualité de leur travail.
  • Le corollaire : Il ne faut pas faire de micro-management.

Le micro-management consiste à être continuellement sur le dos des membres de son équipe, de surveiller leurs moindres faits et gestes. C'est une mauvaise pratique pour plusieurs raisons :

  • Une surveillance constante induit un climat pesant et génère du stress. Personne n'aime travailler dans ces conditions, la qualité du travail ne peut pas être optimale.
  • Quand on est à l'affut de la plus petite erreur, et qu'on signale chaque maladresse, on place la personne dans une situation d'échec continuel qui est fortement démoralisante.
  • Tous les processus d'apprentissage comportent des cycles erreur-réessai qui ne peuvent pas se faire si on est paralysé par la hantise de l'échec.
  • Dans une moindre mesure, quand on surveille les autres, on ne fait rien de réellement productif soi-même.

Donc nous sommes d'accord, il faut éviter le micro-management.
Mais l'excès inverse est tout aussi néfaste. Je connais des gens dont la technique de management est «Laisser les gars se débrouiller» ; cela a pour résultat de “laisser les gars dans la merde” et non pas de créer des gars débrouillards.

La confiance

On en vient au point essentiel : la confiance
Il est impossible de confier des responsabilités à quelqu'un si on ne fait pas confiance à cette personne.

Lire la suite...

dimanche 3 janvier 2010

L'email n'est pas mort

Il y a quelques heures, j'ai écrit un commentaire en réponse à un billet du blog Entreprise 2.0. Ce billet, intitulé Peut-on envisager une entreprise sans email ? a pour thème l'abolition de l'usage de la messagerie électronique en entreprise. Son auteur estime que les nouveaux outils et les nouvelles pratiques permettent de se passer de l'email, et qu'il serait plus efficace de se concentrer sur l'emploi de plate-formes collaboratives, de messageries instantanées, de blogs d'entreprise, de micro-blogging, ...

J'ai donc écrit un commentaire assez long pour donner mon avis sur la question. Je vais le reprendre ici en le développant un peu, parce que je pense qu'il s'agit d'un débat intéressant, qui est loin d'être clos.

Les outils de communication utilisés en entreprise

Avant de disserter sur l'évolution des communications intra- et inter-entreprises, passons déjà en revue les différents moyens de communication qui sont à notre disposition.

  • Le téléphone. Parfait pour les échanges rapides d'information entre deux personnes, il remplace la discussion en face-à-face en éliminant les barrières géographiques. Les discussions orales ont le grand avantage d'être rapides, contrairement aux échanges écrits − qu'ils soient instantanés ou non.
  • Le courrier postal et le fax. Encore très largement utilisés pour les échanges de documents écrits ayant une signification juridique, particulièrement lorsqu'il faut y apposer une signature. Je ne connais pas d'entreprise qui envoie ses contrats par email.
  • Les emails. C'est un moyen simple et très généralisé d'envoyer des messages textuels à des individus ou des groupes d'individus. La réception de messages se fait de manière non intrusive (contrairement au téléphone), même si cela peut être modifié par divers alertes visuelles et/ou sonores.
  • Les blogs d'entreprise. Ils permettent aux collègues d'une même structure d'échanger des idées utiles à l'avancement de leur travail ou de l'entreprise elle-même, dans un cadre où la réactivités des réponses aux idées n'est pas une nécessité forte. Ils permettent de suivre les différentes idées au fil du temps.
  • Lespartages de fichier (au sens NFS ou Samba/CIFS). Ils servent à stocker et partager tous types de fichiers, avec deux buts différents mais pas antinomiques : 1) la pérennité des données, 2) l'édition par plusieurs personnes.
  • Les wikis. Servent à stocker des données textuelles, avec les mêmes buts qu'un partage de fichiers (pérennité et accès multiple), en y ajoutant une facilité d'accès et des capacités d'édition collaborative accrues (historique des modifications, gestion des révisions).
  • Les forums d'entreprise et les messageries instantanées (ou les outils similaires comme Campfire). Ils sont utiles pour une collaboration orientée temps réel. Surtout utile pour les équipes qui sont “éclatées” géographiquement, comme succédané aux discussions de travail habituelles au bureau.
  • Le micro-blogging (popularisé par Facebook et Twitter). Sert à donner fréquemment des informations succinctes quant à l’avancement de ses projets.
  • Les outils de liste (todo-list, buglist). Ils servent à gérer les tâches à traiter.
  • Les lecteurs de flux RSS. Ils facilitent la veille technologique en permettant un accès centralisé rapide à un grand nombre de sources d'information.

On peut remarquer que j'ai aussi bien listé les moyens de communication stricto sensus (comparables au rôle de la voix dans une conversation entre deux personnes), que les moyens d'archivage des communications et des idées (comparable au rôle que les livres tiennent depuis qu'ils ont remplacé les traditions de mémoire orale).

Certains outils regroupent de manière centralisée certains de ces moyens de communication. La plupart des «logiciels de gestion de projet» intègrent au minimum un wiki et une liste de tâches, parfois en y ajoutant un forum et un partage de fichiers.

Lire la suite...

samedi 12 décembre 2009

Les premiers enseignements de Rework

J'ai déjà parlé plusieurs fois de l'entreprise 37signals, de ses logiciels de gestion de documentation et de projet, et de sa méthode Getting Real. Actuellement, ses membres travaillent au successeur de leur livre, dont le nom sera Rework. Ils ont présenté quelques bribes d'information sur le livre, et je me suis arrêté sur le quatrième de couverture :

Je trouve que le texte qui s'y trouve est très intéressant, un brin controverse, et mérite qu'on s'y attarde. Voici une traduction très libre de son contenu, et ce que j'en pense.

“Dès que possible” est un poison

Il est vrai qu'en entreprise, on rencontre bien souvent ce genre de situation : On essaye de se mettre d'accord sur la spécification d'une nouvelle fonctionnalité, et quand vient le moment d'en définir la date de livraison, on se voit répondre “Dès que possible”. Cela peut sembler la réponse la plus honnête, la plus simple à comprendre de tous et la plus facile à gérer ; mais en fait il s'agit souvent d'un pis-aller qui démontre que le projet n'est pas réellement pris en main.

Quand on demande un développement ASAP (as soon as possible), on abdique sur tous les facteurs qui définissent un projet :

  • La définition exacte du projet n'a pas été faite correctement. On sait bien qu'on n'a pas pris le temps de réfléchir à tous les cas limites, à penser à toutes les situations. On sait − mais on ne le dit pas ouvertement − que les développeurs devront affronter tous ces culs-de-sac fonctionnels au fur et à mesure qu'ils se casseront les dents dessus, ce qui empêche d'apporter une quelconque valeur aux estimations qu'ils peuvent faire de leurs développements.
  • À partir du moment où la seule contrainte exprimée est celle du temps passé sur le projet, on accepte implicitement que des raccourcis soient fait pour atteindre l'objectif au plus vite. Un aspect en pâtira forcément, qu'il s'agisse de la qualité générale de la réalisation, de la maintenabilité du code, des tests, du débuggage, ...
  • À l'inverse, l'absence de deadline réaliste autorise les développeurs à se lancer dans des développements inutiles (je ne parle même pas de ceux qui se tournent les pouces). On arrive ainsi à des situations où on découvre au bout de 2 semaines que le développement “ASAP” aurait pu durer 4 jours si on avait pris le temps de dimensionner et budgéter le projet correctement ; mais si on en fait la remarque au(x) développeur(s), on obtient une réponse du genre «Ah, moi j'estime que tout ce que j'ai fait était nécessaire pour que le projet fonctionne correctement. Il fallait me prévenir si c'était plus urgent que ça !».

Lire la suite...

- page 2 de 8 -