Je suis le directeur 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:
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?
Quelques réflexions rapides:
De plus, cela vaut toujours la peine de lire et de (re) lire le Manifeste Agile , et surtout le douze principes .
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 à 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 à PM.
L'une des équipes de développement de logiciels relativement performantes Je faisais partie de 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 responsable du développement logiciel et la structure organisationnelle de l'équipe évoluait.
Pensez à 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 plus grande force d'une organisation fonctionnelle est qu'elle lie les structures sociales à la livraison de la valeur commerciale. À mon avis, les projets logiciels réussissent autant qu'ils améliorent l'efficacité de l'activité qu'ils soutiennent, ce qui génère une valeur commerciale. En organisant vos équipes de la même manière, vous avez une équipe orientée vers la satisfaction de leurs utilisateurs métier.
La structure de gestion/RH réelle n'est pas pertinente au-delà de cela.
Existe-t-il un moyen standard de résoudre ce problème qui me manque?
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 plusieurs 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.