Aplicar la gestión a proyectos en continuo desarrollo

Antecedentes de la empresa:

Somos una empresa que consta de cinco desarrolladores, un departamento de ventas, uno de recursos humanos y un departamento de comunicación. (esta pregunta solo se centrará en el departamento de desarrollo).

Construimos nuestro sistema (y aún lo estamos construyendo) usando Angular, lo que significa que el sistema está basado en la Web. En este momento "pretendemos" usar scrum, sin embargo, hay muchos pasos que, como jefe del departamento, todavía no estoy seguro de cómo abordar.

La cuestión

En este momento se ha establecido nuestro plan de desarrollo para el año. Esto consiste en muchos proyectos más pequeños que deben realizarse desde el tercer trimestre de 2015 hasta finales de 2016. A partir de ahora, cada desarrollador tiene la tarea de una tarea y dos desarrolladores a la vez rara vez trabajarían en el mismo proyecto (que veo como un problema).

Me resulta difícil dividir cada proyecto en grupos y, por lo tanto, permitir que dos o más de mis desarrolladores trabajen en el mismo proyecto sin superponerse. Me parece que el desarrollo web es más o menos una línea recta de pasos que se deben realizar hasta que el proyecto se completa y pasa a la fase de prueba.

Siento que esto niega un poco mi idea de un equipo Scrum que, en mi opinión, debería ser un equipo que trabaja en los mismos proyectos.

Mi pregunta es ¿cómo trabajan ustedes en un solo proyecto de desarrollo web que se divide en muchas tareas diferentes? ¿Debo continuar entregando tareas a cada desarrollador individual o es necesaria una colaboración en los proyectos más pequeños para fomentar un sentido de espíritu de equipo?

Respuestas (1)

Veo cosas diferentes aquí y no hay detalles de qué cosas estás desarrollando y para quién, así que toma los comentarios con pinzas, por supuesto;)

En primer lugar, no existe Scrum para un solo desarrollador, toda la idea de Scrum se centra en el concepto de un equipo de desarrollo multidisciplinario y autoorganizado, que tiene la tarea de un objetivo general y luego se desarrolla iterativamente, decidiendo quién hace lo que de manera autónoma y dinámica. Dicho esto, creo que primero debe centrarse en los problemas y cómo resolverlos, ya que tal vez Scrum no sea la respuesta y ser "compatible" con Scrum podría no ayudarlo en absoluto.

Me parece que el desarrollo web es más o menos una línea recta de pasos que se deben realizar hasta que el proyecto se completa y pasa a la fase de prueba.

Bueno, eso es cierto solo en un entorno muy estable, ese es un entorno en el que:

  • Puede capturar los requisitos de forma detallada
  • Los requisitos no cambian
  • Cada etapa de desarrollo produce un entregable completamente completado, que no está sujeto a cambio alguno, que se puede pasar a la siguiente fase.
  • La gente no cambia
  • Los objetivos no cambian
  • No necesitas feedback intermedio

Si no estás en esa situación (y si estás haciendo desarrollo web, apuesto a que no lo estás), actuar como si no estuvieras expuesto a tales problemas puede ser peligroso. Para ser más específico a su pregunta, la forma de Scrum funciona más o menos así (y realmente estoy simplificando aquí en aras de la concisión, lo invito a echar un vistazo a la Guía para saber más):

  • Se define una cartera de productos/proyectos
  • Se nombra un equipo (el equipo debe tener toda la experiencia necesaria para desarrollar el producto/proyecto)
  • El equipo se centra principalmente/totalmente en el proyecto/producto (por ejemplo, Dev1 no trabaja de lunes a martes, Dev2 trabaja de miércoles a jueves, el probador trabaja los viernes , etc.)
  • Se decide y prioriza un backlog de sprint, el backlog está compuesto por elementos procesables
  • El equipo divide el backlog en tareas y decide de forma autónoma quién va a trabajar en qué, dadas las prioridades.

Para que esto funcione, también se aplican algunas reglas y principios, por ejemplo:

  • El trabajo debe hacerse estrictamente por prioridad, es decir, no existe tal cosa como "aquí todo es prioritario".
  • El backlog no cambia dentro del sprint
  • El desarrollo es más iterativo que incremental.

Si su situación no permite implementar esto, o no ve ningún beneficio en hacerlo, ni siquiera intente aplicar Scrum, es probable que esté buscando algo más. Afortunadamente, el espectro Agile de métodos y prácticas le ofrece mucho más que Scrum... :)