Je suis le gestionnaire d'une équipe de 11 développeurs de logiciels qui s'occupent des sites Web / applications Web de mon entreprise, exécutant jusqu'à 4 projets simultanés et un soutien quotidien à tout moment. Au sein des 11 développeurs, il y a un mélange de compétences techniques, de titres de poste et d'expérience, bien que la structure de l'équipe soit plate, les 11 développeurs relevant directement de moi.
Toute l'équipe ayant un seul manager commence à se révéler très peu évolutive. Je commence à être trop dispersé, donc je veux réduire mon nombre de subordonnés directs. Toutes les façons dont je peux penser pour ce faire ont des inconvénients importants:
- Demandez aux développeurs juniors de faire rapport aux seniors. Cela réduit le temps consacré au développement par les meilleurs techniciens.
- Divisez l'équipe par produit logiciel, par exemple, les développeurs 1-6 travaillent sur l'intranet et 7-11 travaillent sur les sites externes, chaque section ayant un nouveau chef d'équipe (éventuellement une nouvelle description de poste avec plus de responsabilités de gestion / mentorat / coaching que les développeurs seniors actuels). ). Cela ajoute des silos artificiels et pourrait rendre difficile la tâche d'un "développeur intranet" de travailler sur un site Web externe si je le souhaite.
- Gardez la structure plate et ajoutez un soutien managérial sous la forme de chefs de projet / administrateurs d'équipe juste pour soulager la pression. Cela ne résout pas le problème car l'équipe ne peut pas continuer à grandir comme ça pour toujours.
Existe-t-il un moyen standard de résoudre ce problème qui me manque?
Sinon, comment d'autres d'entre vous ont-ils résolu ce problème?
la source
Réponses:
Quelques réflexions rapides:
De plus, cela vaut toujours la peine d'aller et de (re) lire le Manifeste Agile , et surtout les douze principes .
la source
Cette structure sera principalement
depend on project specifications
Idéalement, il devrait y avoir 3 juniors par développeur senior dans une équipe. Par conséquent, il y a 2-3 développeurs seniors par responsable d'apprentissage.
Ainsi, seuls les responsables techniques feront rapport au PM sur l'état d'avancement du projet. La structure décrite suppose toujours que pour des questions non techniques (vacances, congés, conflits, etc.), tout le monde peut avoir accès aux MP.
L'une des équipes de développement de logiciels relativement réussie dont je faisais partie a quelque chose comme ça, par projet:
Un directeur du développement logiciel / développeur principal / mentor, à qui tout le monde relevait directement.
Cela a parfaitement fonctionné et j'ai adoré cette organisation. D'un autre côté, j'étais le responsable du développement logiciel et la structure organisationnelle de l'équipe évoluait.
la source
Envisagez de suivre le modèle d'organisation du personnel fonctionnel . Cela parlerait de votre deuxième option de scinder l'équipe par produit logiciel.
Pour citer l'article dans votre contexte:
La structure réelle de gestion / RH n'est pas pertinente au-delà de cela.
la source
Pas vraiment. Cela dépendra de votre équipe, de vous, de ce que vous devez faire et des ressources que l'entreprise mettra à votre disposition.
Personnellement, le meilleur type de changement est de séparer la gestion technique de la gestion administrative. Il est rare que les gens soient bons dans les deux cas, et ils ont rarement tendance à interagir.
Une personne s'occupe des aspects techniques. Ce qui doit être fait, qui va le faire, comment les choses doivent s'aligner. L'autre gère les aspects administratifs. Examens, réunions budgétaires, planification de produits, etc. Ils travaillent ensuite ensemble pour communiquer des idées d'un côté à l'autre et pour fournir un front uni.
La façon dont cela est divisé peut prendre différentes formes. Le plus commun est d'avoir le directeur de l'ingénierie du côté administratif et un architecte du côté technique. Ce sont des pairs qui relèvent d'un directeur / vice-président.
Un autre travail que j'ai vu consiste à faire en sorte que le directeur de l'ingénierie soit la personne administrative, puis le ou les chefs d'équipe agissent en tant que personne technique. Ceci est plus délicat et nécessite que les bonnes personnes agissent en tant que pairs (la plupart du temps) même si le reporting est hiérarchique.
Pour votre scénario spécifique, je recommanderais d'avoir 2 à 3 équipes et d'avoir des responsables techniques pour les aspects techniques et vous concentrer sur l'administration. Oui, cela réduit le temps des leads qui écrivent du code, mais ils devraient (s'ils font du bon travail) récupérer ce temps en rendant les développeurs plus juniors plus efficaces / productifs. Cela leur donne aussi plus de motivation et un sentiment d'accomplissement avec la promotion réelle. Et le plus pratique, c'est une vente plus facile à la direction que l'ouverture d'une nouvelle position.
la source