Une équipe de développeurs a-t-elle besoin d'un manager?

28

Contexte:

Je fais actuellement partie d'une équipe de quatre personnes: 1 manager, 1 développeur senior et 2 développeurs. Nous réalisons une gamme de systèmes / projets internes sur mesure (par exemple 6-8 semaines) pour une organisation d'environ 3500 employés, ainsi que toute la maintenance et le support requis des systèmes qui ont été créés auparavant. Nous ne sommes pas assez nombreux pour faire tout le travail qui pourrait nous arriver - nous manquons de personnel. La direction en est consciente, mais les contraintes budgétaires limitent notre capacité à recruter des membres supplémentaires dans l'équipe (même si nous faisons le salaire de nouveau en économies).

Le changement

Cela nous laisse où nous en sommes maintenant. Notre manager doit quitter son rôle pour de nouveaux pâturages, laissant un poste vacant dans l'équipe. La direction profite de cette occasion pour restructurer notre équipe qui verrait le rôle de chef d'équipe remplacé par un autre développeur et un autre développeur senior. Leur logique étant que nous avons besoin de plus de développeurs, voici donc un moyen de le financer (l'un des rôles est partiellement financé par un autre poste vacant).

L'équipe n'aurait pas de supérieur hiérarchique direct et les rôles et responsabilités seraient répartis entre les personnes âgées et le gestionnaire de service (relativement nouveau) (un rôle non technique avec peu ou pas de connaissances / expérience en développement dont l'objectif est partagé). parmi un certain nombre d'autres équipes et individus) - qui serait notre prochain manager actuel dans la chaîne alimentaire.

Je suppose que la dernière question est:

Est-il possible de diriger une équipe de développement sans manager? En avez-vous fait l'expérience? Et quelles choses pourraient mal tourner / pourraient nous être bénéfiques?

Je voudrais idéalement «voir la lumière» et les avantages de faire les choses de cette façon, ou proposer des arguments contre.

Amadiere
la source
20
Si personne n'est le manager, alors tout le monde est effectivement le manager. Recette pour un désastre.
JohnFx
14
Équipes Google autogérées ou autogérées. Il existe des preuves anecdotiques que cela peut très bien fonctionner dans certaines situations. Est-ce que cela convient aux gens et à la culture est la vraie question de l'OMI.
Guy Sirton
@Guy Sirton: Certains de ces articles s'appliquent-ils aux programmeurs? J'en doute.
Jim G.
@Guy Sirton: Voir le commentaire de JohnFx. Il a 100% raison.
Jim G.

Réponses:

47

Plus les risques sont grands, plus vous avez besoin de "couverture d'air". C'est ce qu'un gestionnaire est vraiment censé fournir. Pendant que l'équipe fait le travail, le gestionnaire est censé s'assurer que rien n'empêchera l'équipe d'atteindre ses objectifs. Qu'il s'agisse de modifier le calendrier, de provoquer des interférences entre l'équipe et le personnel de vente, ou simplement de s'assurer que l'équipe est payée à temps et que la machine à café reste en état de marche. Un très bon manager permet à l'équipe de fonctionner presque comme si le manager n'était pas là.

La réalité est bien sûr que la plupart des gestionnaires échouent complètement à cela. Soit ils font de la microgestion, soit ils sont rendus obsolètes afin que les échelons supérieurs de l'entreprise puissent contrôler les choses plus directement, et les véritables grands gestionnaires sont en effet un oiseau rare. En ce qui concerne une équipe logicielle, il existe des avantages et des inconvénients dans les deux cas lorsqu'il s'agit d'avoir une structure d'équipe hiérarchique ou plate. Si l'équipe est très petite et que le travail effectué nécessite très peu de chevauchement (et j'entends par là que tout le monde a un projet indépendant), mon expérience a montré qu'une structure d'équipe plate (alias non gérée) peut très bien fonctionner si tous les les membres de l'équipe sont disciplinés. D'après mon expérience, cependant, là où il y a beaucoup de chevauchement dans le travail des membres de l'équipe, où il y a deux ou plusieurs personnalités relativement fortes,

Il y a beaucoup de facteurs impliqués, mais cela se résume vraiment aux personnalités impliquées, à leurs motivations individuelles et à leurs objectifs de carrière, et à l'exemple et aux conseils fournis par la haute direction qui détermineront la nécessité d'un poste de manager ou de chef d'équipe. En général, s'il y a du chaos et lorsque l'équipe le demande, alors l'équipe a clairement besoin de leadership. Si les choses avancent généralement bien sans contribution de la direction, alors peut-être que l'équipe peut gérer au sein d'une structure non hiérarchique pendant un certain temps ... au moins jusqu'à ce que la charge de travail et le calendrier deviennent trop difficiles à gérer.

S.Robins
la source
11
+1 pour la "couverture aérienne" étant ce que les managers doivent vraiment faire dans ce genre de situation (situation différente s'ils sont spécifiquement chefs de projet ).
jcmeloni
5
+1 pour le premier paragraphe - -1 pour le suivant, +1 pour le dernier. Dissing managers peut être amusant, mais il s'use un peu sur ces forums .......
mattnz
7
+1: "Pendant que l'équipe fait le travail, le manager est censé s'assurer que rien n'empêchera l'équipe d'atteindre les objectifs de l'équipe.": Tous les managers ne sont pas comme ça, mais j'ai eu la chance d'avoir un tel directeur. Je peux normalement travailler sans direction, mais avoir un gestionnaire qui empêche que des événements ou des informations perturbateurs ne m'atteignent pendant mon travail est vraiment génial et augmente ma productivité!
Giorgio
17

Quelqu'un doit être le manager, mais dans le cas de votre équipe, je ne pense pas que ce soit un poste à temps plein. Embaucher un autre sr. dev et en faire l'un d'eux le manager. Idéalement, celui qui correspond le mieux à être un gestionnaire et pas nécessairement le meilleur programmeur.

Le gestionnaire doit avoir la décision finale en l'absence de consensus, la personne doit donc être techniquement qualifiée. Évaluer les autres programmeurs, les réunions et repousser la haute direction fait partie du travail.

Lecture suggérée: l'année sans pantalon . Même un grand projet logiciel (WordPress), peut aller sans gestionnaires directs, mais il y a certaines tâches (personne ne veut faire / sont très difficiles) ou nécessitent d'intégrer un grand nombre de développeurs pour la même tâche, peut être très difficile sans certains contrôle central.

JeffO
la source
Je n'ai jamais eu de manager direct qui n'écrive pas de code comme le fait l'équipe.
Vorac
@Vorac - juste curieux, quelle est la plus grande équipe de développement sur laquelle vous ayez jamais travaillé?
JeffO
10 personnes au total :)
Vorac
12

La réponse simple à votre question est oui, comme d'autres personnes l'ont indiqué.

Une réponse plus complète mais plus complexe à votre question consiste à aborder:

"La direction le reconnaît, mais les restrictions budgétaires limitent notre capacité à recruter des membres supplémentaires dans l'équipe"

La direction dit "oui, nous reconnaissons cela, nous reconnaissons que" ce ne sont que des "mots" pour vous faire sentir mieux. Ils ne considèrent pas qu'il est essentiel au succès de l'organisation, ou ils soutiendraient vraiment le fait d'avoir quelqu'un!

Il y a d'autres choses à surveiller (car il y a beaucoup de psychologie là-dedans) lorsque la direction vous dit de mauvaises nouvelles, mais mélange une sorte de blague, mentionnant peut-être le problème directement, peut-être pas, mais ce qui rend fondamentalement impossible de le remettre en question ( c'est une technique subtile et intelligente). Une autre à surveiller est une réunion de 3 heures où le plan vous est présenté et à 2 heures 55 minutes vous êtes demandé votre avis.

Méfiez-vous de la direction qui "dit" la bonne chose, par opposition à la direction qui "fait" la bonne chose.

Michael Durrant
la source
6

Pas de manager = Pas de responsabilité = Désordre au moins sur le long terme. Tout le monde fera les choses comme il / elle le souhaite et les cadres intermédiaires ne sauront pas à qui parler ou qui a raison et qui a tort pour un problème ou une demande donné. À moins que les tâches ne soient si séparées et aient peu ou pas de relations, avoir de nombreux `` petits managers '' ne fonctionne pas en développement car il existe de nombreuses façons d'accomplir une tâche donnée et parce que la gestion nécessite une expertise qu'un développeur occupé peut ne pas toujours avoir acquise. Il faut que quelqu'un voie l'image dans son intégralité. Le style suggéré peut fonctionner pour les équipes qui prennent en charge les applications héritées ou actuelles, mais pas en cours de développement. Pour être optimiste, il faudra à votre organisation et quelques essais et échecs avant que cela fonctionne assez bien.

Aucune chance
la source
Cela peut très bien être vrai pour des groupes de développeurs peu disciplinés, mais ce n'est pas aussi vrai avec une équipe auto-organisée et bien motivée. Si l'équipe est aussi peu disciplinée que le suggère votre réponse, le problème réside davantage dans les RH que dans la gestion.
Dan Lyons
@DanLyons, merci pour votre commentaire. Lorsque la haute direction a besoin de savoir quand un produit sera livré, ou combien d'argent devons-nous encore payer ou pourquoi ce rapport ne fonctionne pas, etc. il doit y avoir au moins une réponse fiable. À mon avis, tout groupe de plus d'une personne doit désigner un responsable. Après tout, il doit y avoir une personne à tirer à la fin de chaque projet informatique :)
NoChance
1
La société qui construit WordPress semble être en mesure de le faire.
JeffO
Ce sont des nouvelles pour moi. Bon point.
NoChance
4

Je souscris aux réponses ci-dessus, mais il y a une considération importante.

Un «manager» est un poste, mais pensez en termes de rôles , un manager est quelqu'un qui a certaines responsabilités . Quelles que soient ces responsabilités, négociations avec CxO, rédaction de rapports, gestion des vacances ou même remplissage d'une machine à café, votre équipe a besoin d'une personne responsable.

Pro's - Cela peut être l'un d'entre vous, et cela pourrait devenir un grand coup de pouce pour sa carrière. Le reste de l'équipe aura quelqu'un qui n'est pas «assigné d'en haut», mais quelqu'un qui comprend profondément les besoins de l'équipe.
Bien sûr, n'oubliez pas de négocier combien de temps elle consacrerait aux tâches de gestion et ce qui reste pour ce qu'elle faisait auparavant.

Inconvénients - Il est également possible qu'aucun de vous ne souhaite devenir manager. Il n'y a rien de mal à cela. De nombreux développeurs préfèrent utiliser le clavier et d'autres développeurs plutôt que de "perdre du temps" avec des rapports, des diagrammes et des réunions. Croyez-moi, cinq minutes avec un patron qui crie chaque matin est extrêmement démotivant! :)

Donc, je reformulerais votre question comme ceci:
Est-il possible de diriger une équipe de développement sans gestionnaire dédié ? - Oui .
Votre équipe est-elle prête pour ce changement? - Je ne peux pas dire.
Essayez-le. Ça vaut le coup d'essayer.

bytebuster
la source
-1: Ça vaut le coup d'essayer? Quand? Sur un projet qui n'a pas d'importance?
Jim G.
@Jim: ... sauf s'il y a un manager qui ne se soucie que de l'opportunité de fréquenter les gens en empêchant leur croissance, bien sûr. ;-)
bytebuster
3

Je travaille actuellement sur une petite équipe sans manager. Petite entreprise. Ça marche bien.

Votre kilométrage peut varier.

Lord Tydus
la source
3

Vous avez besoin d'un responsable technique et d'un manager, oui. Personnellement, je pense que le responsable technique est beaucoup plus important. (Si vous n'êtes pas sûr de ce que c'est, c'est essentiellement la personne qui distribue le travail et s'assure que tout le monde fait ce qu'il devrait être.)

Gavin Sapp
la source
1
Se mettre d'accord. Compte tenu de la description du rôle «Service Manager» dans la question, le complément est un responsable technique de l'équipe.
MSalters
2

Une équipe de développeurs n'a pas besoin d'un manager si chaque personne est suffisamment mature pour travailler en équipe et répondre aux attentes des parties prenantes.

Il y a certains rôles (par exemple les développeurs) qui doivent se concentrer sur un problème qui doit être résolu et ne pas se soucier d'autres facteurs environnementaux. C'est là qu'avoir un manager aide.

Cela dit, une personne âgée qui peut ajouter de la valeur aide toujours. Même un PDG relève d'une équipe de managers (conseil d'administration).

Mes 2 cents ...

Chenni
la source
1

Je dirais que cela dépend des batailles qui doivent être menées pour l'équipe de l'organisation. S'il y a des problèmes qui vous empêchent de faire votre travail, le directeur devrait les régler.

Cela peut être des choses comme s'assurer que les priorités sont contrôlées et fixées de manière sensée, s'assurer que vous avez l'équipement, les logiciels, etc. dont vous avez besoin pour faire votre travail. Ils devraient être les avocats de l'équipe au sein de l'organisation.

Comment vous engagez-vous dans l'entreprise, comment déterminez-vous ce sur quoi vous devez travailler, qui détermine quand vous avez «terminé». Si l'organisation s'occupe de ces choses sans que votre manager n'ait à faire grand-chose, alors tant mieux. Mais alors, il peut y avoir des changements en dehors de votre équipe et peut-être que si une ou deux personnes clés dans les affaires changent de rôle, vous pourriez vous retrouver dans une situation difficile.

Peut-être pourriez-vous choisir un leader fort dans l'organisation qui peut être votre défenseur, mais n'a pas besoin de participer à votre gestion quotidienne, de les approcher et de voir s'ils seraient prêts à placer votre équipe sous eux. (Vous l'avez peut-être déjà fait avec votre «gestionnaire de services» que vous mentionnez.)

carolineggordon
la source
1

réponse courte: oui, c'est possible.

Réponse longue: mais cela dépend des personnalités de l'équipe. De toute évidence, quelqu'un doit décider de ce que vous faites et vous avez donc besoin de quelqu'un à qui faire rapport - il n'est pas nécessaire que ce soit le responsable de votre équipe, mais quelqu'un doit vous donner du travail à faire. Au sein de l'équipe, vous pouvez avoir besoin de quelqu'un pour décider des priorités et / ou des problèmes techniques, mais cela peut facilement être fait par un chef d'équipe.

Peut-être que vous devez fusionner votre équipe de développement avec une autre, avez-vous une équipe de test> serait-il préférable d'utiliser le même gestionnaire pour les deux, tout en gardant l'équipe de développement semi-autonome?

Il me semble que le gestionnaire de services peut très volontiers vous fournir le travail que vous devez effectuer et également vérifier qu'il correspond à la qualité nécessaire, et il n'a pas besoin d'expérience en développement pour effectuer cette tâche - le logiciel est un outil commercial, soit correspond aux exigences ou non, et généralement les meilleures personnes pour déterminer ce sont les utilisateurs. Le gestionnaire de services agira en tant que liaison entre vous et eux et, espérons-le, vous permettra de continuer à bien travailler. Je crains juste qu'il n'ait pas suffisamment de contrôle sur les responsabilités de votre équipe, comme si les choses commençaient à mal tourner, vous vous retrouverez dans un état malheureux jusqu'à ce que la direction le rende (ou pire, quelqu'un d'autre) responsable de toi.

gbjbaanb
la source
1

Les équipes autogérées ne sortent pas de l'ordinaire. Ils nécessitent généralement des mesures de performance claires pour créer une responsabilité générée en interne. Votre organisation pourrait avoir cela, mais si vous ne pouvez pas générer d'effectifs supplémentaires sur la base des économies de coûts, cela ne fonctionnera peut-être pas. L'autre défi est que votre nouveau patron ne ressemble pas à quelqu'un qui saurait récompenser le talent.

Pour le meilleur ou pour le pire, il semble que vous ayez besoin d'un coach de joueur. Quelqu'un qui peut à la fois gérer l'équipe et y jouer. Dans un groupe de 4, c'est certainement faisable. Dans un groupe de 8 ou 10, ce ne serait pas. Le défi consiste à identifier qui devrait être cet entraîneur de joueur. La valeur par défaut est d'en faire votre meilleur programmeur, mais voulez-vous nécessairement les lier à l'administrateur? Il n'y a pas de réponse ferme et rapide, à part dire que les organisations hautement performantes trouvent des moyens de ne pas forcer tous leurs meilleurs techniciens à devenir des managers.

MathAttack
la source
-1 pour le premier paragraphe. +1 pour le deuxième paragraphe.
Jim G.
1

Le manager est généralement le chaînon manquant entre l'organisation et votre équipe de développement.

  • Ils s'assurent que votre travail est pertinent et répond aux besoins de l'organisation.
  • Réponse à la haute direction
  • Gérez le planning pour que le projet soit dans les temps
  • Assurez-vous que vos besoins pour le projet sont pris en compte.

De plus petites équipes, avec de petites responsabilités pourraient fonctionner sans un gestionnaire désigné. Mais à mesure que les responsabilités augmentent, vous aurez besoin de quelqu'un qui gère tous ces risques et problèmes.

Et compte tenu de votre configuration, un membre de votre équipe finira par jouer le rôle de gestionnaire même s'il n'est pas désigné comme tel. Les responsabilités généralement réparties ne fonctionnent pas bien. Cela dépend beaucoup de la façon dont il est distribué et du type de personnes impliquées.

gorengpisang
la source
1

Les avantages d'avoir un manager dépendent du rôle qu'ils jouent pour votre équipe. Donc, cela se résume vraiment au rôle nécessaire pour l'équipe:

  • Avez-vous besoin de quelqu'un qui a le pouvoir de résoudre les différends entre les membres de l'équipe et de garder l'équipe concentrée sur la livraison d'un travail de bonne qualité à temps?
  • Ou avez-vous besoin de quelqu'un pour fournir une couverture d'air comme mentionné dans une réponse de premier plan? Gérer les plannings, décider des priorités, intervenir entre la haute direction et l'équipe, etc.

Alors, en avez-vous besoin? Les personnes occupant les postes que vous avez notés peuvent-elles le faire pour vous? Si oui, alors ça va. Sinon, vous vous dirigez probablement vers la catastrophe.

Source: expérience personnelle avec des projets de groupe et des équipes gérées et non gérées.

Zeroth
la source
0

Je pense que les équipes plates sont toujours un problème à moins que vous ne mettiez un gars en charge de rassembler un groupe d'ingénieurs de même grade / similaires.

Comme mentionné par S.Robins, SI tous les membres de l'équipe sont bien disciplinés, alors mettre un manager peut être un goulot d'étranglement inutile ici. Quelques-unes des petites entreprises dans lesquelles j'ai travaillé ont des contraintes de main-d'œuvre (en raison de contraintes budgétaires, entre autres) et, par conséquent, elles ont tendance à mettre un groupe de quelques recrues / juniors dans une équipe plate avec un gars au-dessus d'eux pour les gérer .

Si le gestionnaire "1 niveau supérieur" n'est pas en mesure de gérer les personnes, cela se retournera. Les débutants / juniors qui commencent leur carrière vont être extrêmement compétitifs - essayez de vous établir fermement le plus tôt possible dans l'équipe et quelqu'un doit parfois maîtriser les gens afin que leur compétitivité ne nuise pas à la coopération.

Le problème avec une équipe plate, c'est qu'avec la mise à l'échelle du projet, vous devrez inévitablement laisser un ou deux gars faire un peu plus, prendre un peu plus de responsabilités. À ce stade, vous devrez créer une hiérarchie bien définie et certainement mettre en place un gestionnaire approprié pour prendre les appels et gérer les gens, car très souvent, lorsqu'il y a des promotions au sein du même groupe, il y a toujours un groupe malheureux.

L'autre mauvaise idée que je vois dans de nombreux petits Cos est de simplement mettre le gars le plus âgé en termes de désignation ou d'expérience en tant que manager. Ou le gars le plus habile techniquement du groupe est promu au poste de manager. Je n'ai jamais vu ça marcher.

Je pense que toute équipe de plus de 4 personnes aura certainement besoin d'un gestionnaire au début de son calendrier si le projet a une bonne mise à l'échelle. Idéalement une personne technique avec des compétences en gestion de l'homme, une bonne communication devrait être mise en charge de certaines décisions.

Sandeep
la source
0

Je travaille pour une entreprise où nous adoptons des pratiques agiles, en particulier Scrum. Cela fonctionne très bien dans tous les domaines: les équipes de développement et la direction générale sont toutes satisfaites. Ils obtiennent ce qu'ils veulent.

  1. Tous les ingénieurs relèvent du directeur de l'ingénierie. Le directeur de l'ingénierie est un rôle extrêmement technique et fonctionnel, ce rôle nécessitant de générer plus d'affaires dans la division. Ce rôle est équivalent à Product Owner.
  2. Le chef de projet est un rôle distinct, semblable à un scrum master, et est généralement un entrepreneur pour une durée déterminée (12 mois à 18 mois, sans prolongation de contrat)
  3. Le chef de projet - scrum master - est entièrement responsable des activités non fonctionnelles et non techniques

Cela a fonctionné à merveille, car l'équipe de développement se concentre sur les aspects techniques, les analystes commerciaux / propriétaires de produits se concentrent sur les aspects commerciaux. Le chef de projet est responsable du suivi des tâches, des rapports et d'autres tâches typiques du Scrum Master.

La gestion intermédiaire est externalisée et il n'y a pas de chemin de croissance de la gestion intermédiaire à la direction. L'opportunité de croissance passe du rôle d'équipe de développement ou d'analyste commercial au responsable de l'ingénierie, et non des rôles de supervision.

Notre entreprise est convaincue que le management intermédiaire n'est pas une valeur ajoutée majeure pour une entreprise et qu'il vaut mieux le laisser à des sociétés de conseil externes.

CMR
la source
0

Un point à noter est que peu importe qu'ils désignent une personne comme gestionnaire, il est probable que l'un d'entre vous devienne le gestionnaire de facto, probablement la personne ayant le plus d'expérience / de temps servi.

D'autant plus que cela se fait comme une mesure de réduction des coûts (c.-à-d. Ne pas payer un gestionnaire, embaucher un développeur à la place) plutôt que comme une restructuration réfléchie, il semblerait probable que la haute direction continuera à travailler comme elle l'a fait. auparavant, il s'agissait simplement de traiter avec les personnes qu'ils connaissent mieux (c.-à-d. la plus longue période de service).

Paddy
la source