2010-01-17 25 views
11

Tenemos un equipo relativamente pequeño de desarrolladores con menos de 5 personas y un gerente de proyecto. ¿Cuál crees que es el conjunto típico de responsabilidades que un gerente de proyecto debería tener en un equipo como ese? Estoy mirando más desde la perspectiva del desarrollador y quiero saber qué debería esperar del gerente y qué debería preocuparme por mí (por ejemplo, calidad del código, coordinación, etc.).¿Cuáles son las responsabilidades de un gerente de proyecto en un pequeño equipo de desarrolladores?

Actualmente, nuestro gerente de proyecto solo pregunta periódicamente a los chicos: "¿Cuál es el progreso en su tarea?", y sirve como un proxy entre los empresarios y desarrolladores que se hace responsable de la entrega y simplemente transfiere la presión a los desarrolladores. Nunca lee el código, a menos que los desarrolladores le digan que ni siquiera conoce los problemas que existen (la tarea se considera realizada cuando un desarrollador responsable de ella dice que ya está hecho y no hay problemas obvios).

Además, ¿es una buena estrategia tener un gerente de proyecto en dicho equipo o es mejor tener solo un líder técnico que cubra algunas tareas de administración?

ACTUALIZACIÓN: No tengo un conocimiento profundo sobre metodologías ágiles pero creo que el peligro de no estar técnicamente capacitado (para un maestro de PM, SCRUM, etc.) es que no se pueden distinguir las cualidades de los miembros del equipo cuando el único indicador que tienes es lo que te dicen. Todo se reduce a lo bien que están en la comunicación y persuadir a otros, pero no si entienden los problemas reales a largo plazo en el proyecto (como la capacidad de mantenimiento, código heredado, problemas arquitectónicos etc.)

+0

Este es uno de los aspectos más importantes de la programación y el desarrollo. Definitivamente se trata de programación relacionada con la programación en el mundo real. –

Respuesta

7

En un pequeño equipo que no debería introducir ningún tipo de gastos unnescessary y optar por las jerarquías planas. No solo mejorará la comunicación en el equipo, sino que los desarrolladores también se sentirán mejor si su palabra tiene peso.

No obstante, debe definir un gerente responsable para cada proyecto o para todo el equipo. En mi experiencia, él/ella tiene las siguientes tareas:

  • negociar con los clientes (empresa-sabia y software inteligente)
  • visión general de todos los equipos de proyectos de estado y plazos
  • planificación
  • tarea, distribución y estimación (puede y debe ser compartida con los miembros del equipo, pero el PM es responsable)
  • dirección general del equipo: que es cuando, donde y hace lo
  • mediar en caso de que es necesario decidir técnicos
  • escribir código

El último punto es muy importante. Si un gerente de proyecto no es capaz de escribir código, ¿de qué otra forma podría cumplir sus tareas? (Ver el estado del proyecto, la mediación, negociar con los clientes).

+0

La parte "escribir código" es bastante interesante. Entonces, ¿cree que el gerente no solo debe leer, sino también escribir algún código? –

+0

No puedo ver que el código de escritura tenga algo que ver con el estado del proyecto y la negociación con los clientes. En el equipo, debe contar con un programador sénior que pueda realizar revisiones de códigos para mantener la calidad y los estándares. Él puede escribir el código tanto como quiera. – magnus

+4

Un gerente tiene que montar dos disciplinas: técnica y comercial. Un gerente que comprende las presiones comerciales, pero que no comprende el aspecto técnico, tiende a conducir mal a un equipo de desarrollo porque tiene dificultades para comunicarse con el equipo. Un gerente que entiende el aspecto técnico pero no comprende las fuerzas motrices comerciales tenderá a tener problemas para satisfacer las necesidades del negocio y de los clientes. Obviamente, no es necesario que sea una división 50/50, pero un gerente debe entender a su equipo para apoyarlos bien. –

7

día G,

(Inserte el descargo de responsabilidad habitual aquí)

Un buen gerente de proyectos pensará que trabaja para el equipo y no que el equipo trabaje para él. Ellos entienden que se verán bien si eliminan tantos impedimentos como sea posible para permitir que el equipo se vea bien y haga un buen trabajo.

La gran responsabilidad es asegurarse de que el equipo tenga todo lo que necesitan para hacer el trabajo.

También debe estar mirando hacia el futuro para ver si hay obstáculos en el camino e intentar eliminarlos antes de que se conviertan en un problema para minimizar las interrupciones en el equipo.

Debería estar desertando las interferencias administrativas del equipo para permitirle continuar con la tarea también.

He estado en esta situación un par de veces y una vez el gerente de proyecto hizo un brillante trabajo en las tres tareas. Desafortunadamente, en la mayoría de los casos, el primer ministro no tenía ninguna maldita idea y simplemente canalizaba su presión directamente sobre el equipo, transmitiendo todas las solicitudes de gestión sin importar lo estúpidas que fueran.

Edición: La calidad del código es inicialmente responsabilidad de los mismos programadores.

Se supone que son a) competentes, yb) profesionales, por lo que lo que producen es bueno y adecuado para el propósito. Debería haber sido probado por ellos porque, como dice el viejo refrán "¡si no está probado, no está hecho!".

Luego vienen las pruebas funcionales más extensas que deberían ser parte de los procedimientos normales de control de calidad.

HTH

+0

Las responsabilidades que indicó son razonables, pero parece que los desarrolladores tienen que hacer el trabajo al final, incluidos todos los problemas de alto nivel. Como no hay un líder técnico o arquitecto en el equipo, solo desarrolladores similares, nadie tiene la verdadera responsabilidad de que el código no sea una mierda. –

+0

@Thomas, agregó una nota sobre "el código no es una mierda total" en mi respuesta. (-: –

+0

Tengo que aceptar que la calidad del código depende de los programadores. Sin embargo, cuando se detectan fallas graves solo recientemente, incluso cuando los programadores que las causaron ya se han ido, es muy difícil hacer algo al respecto. Tengo en mente algún tipo de reconocimiento de estas cosas .. –

2

La responsabilidad de un jefe de proyecto se podría resumir en

  • debe desarrollar una cultura de responsabilidad, rendición de cuentas y la independencia y concentrarse en la tarea de la limpieza de las vías y los obstáculos enfrentan los miembros del equipo en el mejor manera posible.
0

información sobre el método de gestión del proyecto Scrum. Trabajo en una empresa pequeña y le está yendo bien a entre 4 y 8 programadores en equipo. En la metodología de Scrum Scrum Master = Project Manager. Hay un Scrum diario donde Scrum Master pregunta:

-¿Qué has hecho desde ayer? -¿Qué piensas hacer hoy? -¿Tiene algún problema que le impida alcanzar su objetivo?

de contacto con el cliente también es importante, (véase también el Proyecto función Propietario) http://en.wikipedia.org/wiki/Scrum_(development)

2

El tamaño de un equipo es sólo un factor, un detalle. Hay muchos factores a considerar, lo que hace que su pregunta sea difícil de responder.

Para ilustrar el ancho de banda de una "respuesta correcta", considere estos dos extremos: En Scrum (an agile approach), Scrum Master es el equivalente de un administrador de proyectos. Este rol no requiere principalmente experiencia técnica, porque una tarea importante es establecer el entorno adecuado para que el equipo sea productivo. En entornos menos ágiles, donde un waterfall model es más frecuente, el enfoque técnico de lead programmer se vuelve más importante.

Parece que trata de protegerte de las distracciones externas. Es correcto. También parece entregar mucha responsabilidad al equipo. Eso también está bien, si el equipo puede encargarse de la responsabilidad propia. Toda la situación podría ser una (poco entusiasta?) intentar introducir agilidad en el equipo. Este intento fracasará si nadie sabe a dónde debería ir el viaje.

+0

@ Theo, +1 para "intentar protegerlo de las distracciones externas" (-: –

0

La responsabilidad del gerente del proyecto es enviar el producto a tiempo según el presupuesto y las especificaciones. De esa responsabilidad única se desprenden un conjunto de otras responsabilidades; lo que sigue es mi primer corte, es posible que desee agregarlo o restarlo:

  1. Planifique, administre y controle el proyecto.
  2. Informe, en particular informe fuera de las especificaciones, fuera de tiempo y fuera del presupuesto.
  3. Gestione los riesgos.
  4. Identifique los problemas (complete su propia definición de problemas) y tome medidas para evitar que se conviertan en problemas.

Otros encuestados han escrito algunas cosas muy sensatas sobre las formas en que un PM podría cumplir con sus responsabilidades, pero la mayoría de ellas parecen ser un medio para un fin en vez de un fin en sí mismas.

0

¡El gerente de proyecto debe trabajar con el equipo, no en contra de eso!

Además, una de sus mayores responsabilidades es asegurarse de que el proyecto vaya bien, no su posición actual. Esto significa que no debe adoptar el escenario más optimista para dar una buena impresión a sus superiores. A veces el PM solo dirá "2 semanas ?! No ... eres mi mejor desarrollador, sé que puedes hacer esto en 1". Esta disminución realista del tiempo se propagará aún más. El superior del primer ministro dirá: "¿una semana? No ... sé que eres un administrador capaz y encontrarás una mejor solución para terminar en 3 días". Y así sucesivamente ...

El PM debe ser de alguna manera técnico para comprender y encontrar soluciones a los riesgos. Debería poder ver los riesgos futuros y elegir qué hacer con ellos (Tratar, Terminar, Transferir o Tomar el riesgo).

El PM debe mediar en todos los conflictos equipo-equipo o equipo-resto de la empresa. No solo que el PM debe mediar en estos conflictos, sino que debe tener una sexta sensación de anticiparlos y resolverlos en la fase incipiente.

Dependiendo de la organización del proyecto, el PM debe asegurarse de que el equipo aún esté bajo el control de la organización y respete sus políticas y reglas internas. El PM es un proxy y no debe aislar al equipo.

Al menos, pero definitivamente no es el último, el PM debe hacer todo lo posible para cumplir con los plazos y satisfacer las expectativas de los clientes y la organización.

0

Para un equipo pequeño como el suyo, un ingeniero debe ocupar el puesto de director técnico de proyecto . Hay tantas decisiones que abarcan los requisitos, el calendario, el diseño y la calidad que es mejor si una persona puede tenerlo todo en la cabeza y coordinar con el equipo y los clientes externos.

Pero como tiene un gerente de proyecto, le recomiendo que elija un ingeniero como líder técnico y les pida que trabajen juntos. El líder técnico puede ser el propietario del diseño, la estimación y la calidad del código . Los dos deberían trabajar juntos en los requisitos. El gerente del proyecto puede manejar la comunicación externa, negociar el horario según la estimación, y también manejar el cuidado y la alimentación del equipo .Trabajando juntos, pueden proteger al equipo y hacer que se asegure de que se entregue un buen producto en una fecha que satisfaga las necesidades de su negocio .

Cuestiones relacionadas