Quand remettre les gens à leur place

J’ai souvent parlé du comportement en entreprise, en insistant sur l’aspect humain que doivent avoir les relations professionnelles. L’empathie – la capacité de comprendre les gens – et la politesse – se mettre à la place des autres – sont des qualités plus qu’appréciables dans la vie de tous les jours, mais aussi au travail. L’ère des chefs d’entreprise-dictateurs est révolue. Le meilleur moyen de faire travailler une équipe est de faire en sorte que ses membres se sentent bien et apprécient de travailler en commun.

Toutefois, il existe un cas (un seul !) où l’on peut sortir de ses gonds. C’est quand on a en face de soi une personne qui, justement, n’en a rien à faire des autres. C’est un comportement détestable, qui pourtant se rencontre de temps en temps.

Commençons par analyser le cas. De manière générale, les gens sont relativement civilisés et polis. Parfois, certaines discussions peuvent s’envenimer un peu, mais les choses restent globalement à un niveau acceptable. Mais certaines personnes utilisent cet état de fait, la plupart du temps de manière inconsciente, pour s’affirmer par la force ; ces personnes savent pertinemment qu’elles prennent peu de risques à se montrer odieuses.
Prenez par exemple ceux qui mettent de la musique à fond dans les transports en commun. Ils gênent à eux seuls plusieurs dizaines de personnes, mais ils s’en moquent. Consciemment, ils se disent juste « Je fais ce que je veux » ; mais surtout, leur subconscient leur susurre « C’est bon, tu peux y aller, de toute façon personne ne va oser bouger le petit doigt ! ». Et finalement, c’est bien ce qui arrive ; tout le monde se laisse emmerder, se disant qu’il vaut mieux supporter ça 15 minutes que de chercher le conflit.
Autre exemple : Un enfant chahuteur ira chercher la bagarre avec les plus petits que lui, parce qu’il sait qu’ils ne répliqueront pas.

Dans le monde de l’entreprise, c’est pareil.

Scrum : introduction

Scrum est une méthode de gestion de projet très intéressante. Pour mon premier article à son propos, je vais vous la présenter rapidement, et vous parler de l’un de ses concepts-clés : les sprints.

Scrum est une méthode agile qui ne se focalise pas spécialement sur les techniques de développement, mais plutôt sur l’organisation de projet et la gestion d’équipe. C’est une méthode moderne qui a fait ses preuves dans de nombreuses circonstances.

Présentation des rôles

L’image suivante présente d’une manière assez synthétique les différents rôles qui interviennent dans une équipe Scrum :

(image © Avangel, Wikipedia)

  • Le directeur de produit : Je préfère utiliser le terme de chef de projet fonctionnel. Son rôle est de présenter à l’équipe les fonctionnalités qu’elle devra développer, et de transmettre l’ordre de priorités. Il opère un suivi régulier avec l’équipe de développement, et remonte régulièrement les informations d’avancement au client.
  • Le Scrum Master : C’est un personnage très spécial qui prend en charge tous les aspects non techniques pour « protéger » l’équipe, particulièrement pendant les périodes de sprint (voir plus bas). Toutes les requêtes doivent passer par lui, pour s’assurer du respect de la méthode. C’est un rôle qu’on pourrait approcher de celui que je tiens – en temps que directeur technique – vis-à-vis de mes développeurs (hormis que je gère en plus des aspects techniques comme la validation des spécifications techniques).
  • L’équipe de développement : La théorie voudrait que l’équipe soit auto-gérée, et que ses membres prennent eux-mêmes leurs décisions de manière collégiale. D’expérience, j’ai rarement vu une équipe fonctionner correctement quand on la laisse faire ce qu’elle veut. Pour que ça fonctionne, il faut avoir des développeurs très compétents, avec de l’expérience, et surtout qui apprécie les contacts humains. Et malheureusement, toutes les équipes ont leurs stagiaires, leurs pas-très-bons-techniquement ou leurs autistes…

Les sprints

Au coeur de Scrum, il y a la notion de sprint. Le principe est de définir un lot de fonctionnalités à développer, puis de partir dans une phase de développement de durée « raisonnable » (2 à 4 semaines). Évidemment, l’ensemble des fonctionnalités doit avoir été prévu pour pouvoir être développé dans ce laps de temps.

L’important dans cet exercice, c’est de bien comprendre – et surtout faire comprendre aux autres acteurs – qu’une fois qu’on a défini la liste des fonctionnalités et qu’on a écrit les spécifications fonctionnelles, on entre dans une phase de quelques semaines pendant laquelle il est absolument interdit de changer les objectifs de développement. Cela a pour effet de pousser les clients à bien spécifier leurs besoins, car une fois que le sprint est lancé, il n’est pas possible d’ajouter de nouvelles fonctionnalités ni de changer l’ordre de priorité.

5pm

Dans le groupe des logiciels de gestion de projet qui font parler d’eux actuellement, et qui tentent de dépasser Basecamp, 5pm fait partie du groupe de tête et sa notoriété semble croître.

Interface principale

L’interface de 5pm est à la fois impressionnante et déroutante. Contrairement aux autres outils du même genre, elle fait un grand usage du Flash pour proposer un dynamisme et une réactivité améliorés.

La fenêtre principale est séparée en 2 parties :

  • À gauche, la liste des projets (et des tâches « autonomes », non attachées à un projet).
  • À droite, les informations concernant le projet sélectionné, ses activités (toutes les actions qui ont été effectuées sur le projet), et les fichiers qui y sont liés.

5pm - écran principal

L’affichage dans le panneau de gauche permet de voir rapidement les projets et leurs tâches, dans une vue arborescente à 2 niveaux facile à comprendre. On y voit par défaut l’état de progression des tâches et le nombre de jours qui reste pour les accomplir.

La diplomatie au travail

Quand on travaille en équipe, on doit apprendre à gérer les rapports humains. Nous ne sommes pas tous égaux face aux relations humaines. Certaines personnes se sentent à l’aise, d’autre non. Certaines personnes n’hésitent pas à imposer leurs vues, d’autres se mettent en retrait.

L’essentiel est de garder, en toute circonstance, un comportement qui permette de travailler efficacement. Si on peut se faire des amis au boulot, c’est la cerise sur le gâteau ; mais il ne faut pas se faire d’ennemis.

Les désaccords

Il existe un principe fondamental en entreprise : Critiquer les idées, pas les personnes

Quand on n’est pas d’accord avec les propositions de quelqu’un, il semble parfois plus facile de chercher à démolir la personne elle-même, plutôt que d’expliquer en quoi on est en désaccord. Ce n’est pas constructif, et vous attirera les inimitiés de vos confrères.

L’estimation du travail

Quand on veut planifier son travail ou celui de son équipe, il faut obligatoirement commencer par faire une estimation du temps nécessaire pour réaliser chacune des tâches qui sont listées. Et c’est souvent un casse-tête, car on ne sait jamais par quel bout s’y prendre.

Nous allons voir les raisons qui doivent vous pousser à réaliser des estimations, les réactions les plus récurrentes, et les pistes à suivre pour y arriver.

À noter : J’avais commencé à écrire ce texte au sein d’un article consacré à la planification et aux approches top-down et bottom-up. Mais un article présent dans le dernier numéro du magazine PHP Architect (très bon magazine canadien, en anglais) m’a convaincu d’y consacrer un billet à part entière. Le sujet est intéressant.

Les motivations

On peut voir plusieurs aspects qui conduisent à la nécessité d’estimer préalablement la durée d’une tâche ou d’un projet :

Collabtive

Collabtive est un outil de gestion de projet qui s’utilise à travers une interface Web. Jusqu’à un certain point, c’est un concurrent de Basecamp, Taskii, PlanZone, ActionMethod, …

L’élément différenciant principal de Collabtive, c’est qu’il est placé sous licence libre. N’importe qui peut le télécharger gratuitement et l’installer sur un serveur (PHP et base de données MySQL sont requis). C’est ce que j’ai fait, en l’installant directement sur mon poste de travail pour le tester durant quelques semaines. Ainsi, pas de version d’essai limité dans le temps ou proposant des fonctionnalités réduites, pas besoin de mettre la main au portefeuille dès que vous devez gérer un grand nombre de projets.

Les fonctionnalités sont très classiques pour ce genre d’outil, et tout ce qu’on est en droit d’attendre est présent :

  • Création d’un nombre illimité de projets.
  • Gestion de tâches et de jalons.
  • Gestion des utilisateurs et de leurs permissions.
  • Messagerie interne WYSIWYG.
  • Partage de fichiers.
  • Rapport d’activité par heures.
  • Alertes par email.

Mais aussi quelques petites douceurs (import Basecamp, export du calendrier au format iCal, export du rapport d’activité au format Excel, flux RSS des messages et des tâches). L’interface est disponible en plus de 25 langues.

L’interface générale

Au premier coup d’oeil, Collabtive offre un aspect très joli, très « léché ». L’affichage est clair, le design est plaisant.

L’écran d’accueil présente le « bureau », qui regroupe les informations principales de l’utilisateur. Ses projets, les tâches qui lui sont affectées, un calendrier (vue mensuelle), et les messages reçus. Collabtive - bureau

La vue par projet

Le travail sérieux commence lorsqu’on « entre » dans un projet.