Soy el gerente de un equipo de 11 desarrolladores de software que se ocupan de los sitios web / aplicaciones web de mi compañía, ejecutando hasta 4 proyectos concurrentes más el soporte diario en cualquier momento. Dentro de los 11 desarrolladores hay una mezcla de habilidades técnicas, títulos de trabajo y experiencia, aunque la estructura del equipo es plana y los 11 desarrolladores me informan directamente.
Todo el equipo que tiene un solo gerente está comenzando a demostrar que no escala muy bien. Estoy empezando a difundirme demasiado, así que quiero reducir mi número de informes directos. Todas las formas en que puedo pensar para hacer esto tienen desventajas significativas:
- Haga que los desarrolladores junior reporten a los senior. Esto reduce el tiempo dedicado al desarrollo por los mejores técnicos.
- Divida el equipo por producto de software, por ejemplo, los desarrolladores 1-6 trabajan en la intranet y 7-11 trabajan en sitios externos, con cada sección con un nuevo líder del equipo (posiblemente una nueva descripción del trabajo con más responsabilidad de gestión / tutoría / entrenamiento que los desarrolladores senior actuales ) Esto agrega silos artificiales y podría dificultar que un "desarrollador de intranet" trabaje en un sitio web externo si así lo deseo.
- Mantenga la estructura plana y agregue soporte gerencial en la forma de Gerentes de Proyecto / Administradores de Equipo solo para aliviar la presión. Esto no resuelve el problema ya que el equipo no puede seguir creciendo así para siempre.
¿Existe una forma estándar de resolver este problema que me falta?
Si no, ¿cómo han resuelto este problema otros?
fuente
Respuestas:
Algunos pensamientos rápidos:
Además, siempre vale la pena ir y (re) leer el Manifiesto Ágil , y especialmente los doce principios .
fuente
Esa estructura principalmente
depend on project specifications
Idealmente, debería haber 3 juniors por desarrollador senior en un equipo. En consecuencia, hay 2-3 desarrolladores senior por líder de enseñanza.
Por lo tanto, solo los líderes tecnológicos informarán al Primer Ministro sobre el estado de progreso del proyecto. La estructura descrita aún asume que para problemas no técnicos (vacaciones, tiempo libre, conflictos, etc.) todos pueden tener acceso a PM.
Uno de los equipos de desarrollo de software relativamente exitosos de los que formé parte fue algo así por proyecto:
Un Gerente de Desarrollo de Software / Desarrollador Senior / Mentor, a quien todos los demás informaron directamente.
Funcionó perfectamente bien, y me encantó esa organización. Por otro lado, yo era el Gerente de Desarrollo de Software, y la estructura organizativa del equipo estaba evolucionando.
fuente
Considere seguir el patrón de Organización Funcional del Personal . Esto hablaría hacia su segunda opción de dividir el equipo por producto de software.
Para citar el artículo en su contexto:
La estructura real de gestión / recursos humanos es irrelevante más allá de eso.
fuente
Realmente no. Dependerá de su equipo, de usted, de lo que necesite hacer y de los recursos que la empresa pondrá a su disposición.
Personalmente, el mejor tipo de cambio es dividir la gestión técnica de la gestión administrativa. Es raro que las personas sean buenas en ambos, y rara vez tienden a interactuar.
Una persona maneja los aspectos técnicos. Lo que hay que hacer, quién lo va a hacer, cómo deben alinearse las cosas. El otro maneja aspectos administrativos. Revisiones, reuniones de presupuesto, planificación de productos, etc. Luego, trabajan juntas para comunicar ideas de un lado a otro y proporcionar un frente unido.
Cómo se divide esto puede ir de diferentes maneras. Lo más común es que el gerente de ingeniería sea el lado administrativo y un logro sea el lado técnico. Son pares e informan a un director / vicepresidente.
Otro trabajo que he visto es que el gerente de ingeniería sea la persona administrativa, y luego el líder del equipo actúe como la persona técnica. Esto es más complicado y requiere que las personas adecuadas actúen como (en su mayoría) pares, incluso si el informe es jerárquico.
Para su escenario específico, recomendaría tener 2-3 equipos y tener líderes técnicos que hagan los aspectos técnicos y se concentre en los administrativos. Sí, reduce el tiempo de los clientes potenciales que realmente escriben código, pero deberían (si están haciendo un buen trabajo) recuperar ese tiempo haciendo que los desarrolladores más jóvenes sean más eficientes / productivos. También les proporciona más motivación y una sensación de logro con la promoción real. Y más prácticamente, es más fácil vender a la gerencia que abrir una nueva posición.
fuente