Realmente hay dos respuestas a su pregunta: la respuesta Scrum “por libro” y la respuesta herética “hacer lo que funciona”.
En el Scrum tradicional e idealista, cada equipo debe estar lleno de generalistas que sean igualmente capaces de realizar todas las tareas a las que se compromete el equipo. Ahora, eso no es realmente realista, por lo que el enfoque más “realista” pero aún más dogmático es dotar al equipo de recursos suficientes para que puedan ofrecer una funcionalidad útil de extremo a extremo en una “porción” de una característica durante una sola iteración . Sí, esto significa que un desarrollador de back-end debería “ayudar” a los desarrolladores de front-end, pero solo si su asistencia no disminuiría la velocidad del equipo.
En el mundo de “haz lo que funciona”, donde encuentro que la goma realmente toca la carretera, a menudo es mejor “cortar” tus características de modo que los diferentes equipos puedan centrarse en sus fortalezas, en lugar de tratar de hacer que cada equipo sea completamente independiente de los demás. . Sí, esto presenta algunos inconvenientes: si el equipo “backend” no logra hacer algo en lo que se basa el equipo “frontend”, puede haber problemas. Pero he visto que este enfoque funciona mucho más eficazmente en ciertos entornos que el enfoque Scrum más tradicional de las habilidades de desarrollo general en cada equipo. Sin embargo, diré que tener equipos especializados como este solo funciona bien si hay una persona que maneja los hilos (un buen arquitecto de software) y un conjunto muy diligente de ScrumMasters o propietarios de productos que vigilan de cerca cualquier trabajo dependiente y puede pivotar a los equipos si sucede algo para que todo avance.
- ¿Hay escasez de trabajadores STEM en los Estados Unidos o no? Sigo leyendo que es solo una artimaña traer mano de obra barata H1B, y los trabajadores estadounidenses se ven obligados a entrenar a sus reemplazos (por ejemplo, Disney).
- ¿Es la velocidad de aprendizaje una de las habilidades más importantes para los desarrolladores de software?
- ¿Los empleadores evalúan a los probadores de software cuando el cliente / cliente detecta un error válido? ¿Con qué frecuencia ocurre esto?
- ¿Qué se entiende por "desarrollar utilidades de prueba" en la descripción del trabajo de un desarrollador de pruebas o para un puesto de SDET? ¿Cuáles serían algunos ejemplos?
- ¿Cuál es la mejor manera de configurar un entorno de desarrollo profesional para pruebas y desarrollo con equipos remotos que usan Github y tal vez Vagrant o Docker?