it-swarm-es.com

¿Agile obliga a los desarrolladores a pasar más tiempo trabajando realmente?

Al observar las prácticas ágiles comunes, me parece que (¿intencionalmente o no?) Obligan a los desarrolladores a dedicar más tiempo a trabajar en lugar de leer blogs/artículos, chatear, tomar un café y simplemente postergar.

En particular:

1) Programación en pareja: el mayor forzador de trabajo, solo porque es inconveniente hacer toda esa procrastinación cuando hay dos de ustedes sentados juntos.

2) Historias cortas: cuando tienes una ENORME porción de trabajo que debes hacer, p. un mes, es bastante común aflojarse en las primeras tres semanas y cambiar al modo OMG DEADLINE para la última.

Y con los pequeños trozos (que deben hacerse en un día o menos) es exactamente lo contrario: siente que el tiempo es escaso, no hay espacio para maniobrar, y se le hará responsable de la tarea muy pronto, por lo que comienza trabajando de inmediato.

3) Comunicación y cohesión en equipo: cuando tiene un bajo rendimiento en un entorno lento, distante y silencioso, puede sentirse bien, pero cuando al final del día en la reunión de Scrum, todos se jactan de lo que han logrado y no tienen nada que decir que realmente pueden sentir avergonzado.

4) Pruebas y comentarios: una vez más, le impide mantener las tareas "99% listas" (cuando en realidad es alrededor del 20%) hasta que la fecha límite se produzca repentinamente.

¿Sientes que con Agile trabajas más que con metodologías "convencionales"? ¿Esta presión es compensada por el ambiente más cómodo y por la sensación de hacer las cosas bien rápidamente?

25
Fixpoint

La idea principal detrás de los métodos ágiles es ayudarlo a ser productivo, en un sentido positivo. A nadie le importa si pasas una hora navegando todos los días si cumples con la fecha límite. Todos se enojan si navegas media hora todos los días, pero no cumples con tu fecha límite. La solución: facilitarle el cumplimiento de la fecha límite.

Como notó, la programación de pares asegura que se mantenga enfocado (entre todas las otras ventajas, como mejorar la difusión de habilidades/conocimientos, mejor código, menos errores, diseño uniforme, etc.).

Descubrí que la disciplina siempre es una lucha para mí. Si me emparejo con alguien, lo más probable es que uno de nosotros quiera que hagamos algo de trabajo hoy y haga que el otro avance. Entonces, el "trabajo por un mes" a menudo se convierte en "trabajar juntos durante una semana", sorprendiéndose de cómo esa gran cantidad de trabajo se resolvió al final, pasar un día más o menos recuperándose (refactorizando, arreglando TODOS en el código, agregando un un par de pruebas, navegando con la conciencia tranquila) y luego agarrando el próximo mes de trabajo.

Resultado neto: estoy mucho más relajado (más porque a pesar de la supervisión constante), la cohesión del equipo es mucho mejor, el trabajo se realiza más rápidamente, las personas no se quedan con algún problema menor durante horas o incluso días (porque alguien más puede detectar el problema mucho más rápido).

Cuando dices "puedes sentirte realmente avergonzado", ¿no es eso algo bueno? Significa que sientes que hiciste mal y deberías hacerlo. No te pagan por no hacer nada. No hacer nada te hace sentir impotente, infeliz, indigno, miserable. En lugar de sentirte avergonzado, retrocede y piensa "¿Por qué no logré nada hoy?" ¿Necesitas ayuda? ¿Hay algo que no entiendas? ¿La tarea actual es demasiado difícil? No te gusta Tal vez puedas cambiar la tarea con otra persona. Quizás alguien más pueda ayudarte a superarlo. Ágil significa: asumir la responsabilidad en lugar de ser microgestionado como un títere con cuerdas. ¿Necesitas una herramienta? Ve a tu jefe y pídelo. Aprende a discutir. Aprenda a ponerse de pie y gritar cuando sea necesario.

En cuanto a las pruebas, hay un punto óptimo cuando su código colapsa repentinamente de "Niza" a "perfecto". Ese es el momento en que te das cuenta de que necesitas implementar la función X y crees que será una pesadilla y de repente te das cuenta de que el código está casi allí. Solo una pequeña refactorización aquí y allá. Una nueva clase y listo. Cuatro semanas de trabajo de repente se convirtieron en un día. ¡Victoria! ¡Triunfo!

38
Aaron Digulla

Estoy de acuerdo.

Programación en pareja

Es una forma de trabajo muy intensa y exhaustiva, y nunca la aplico a menos que tenga algunos desarrolladores que necesitan ser entrenados por otros (nuevos participantes, por ejemplo)

Cuentos cortos

Comunicación y cohesión del equipo.

Pruebas y comentarios

Sí Ágil y específicamente Scrum es un gran impulsor de productividad. Cuando se aplica correctamente, la rotación puede ser de hasta el 20% (1 desarrollador en 5 abandona la empresa).

La razón es simple: Scrum no proporciona más productividad, it provides the whole company with much more visibility on what's going on (incluido en la gestión, por supuesto).

  • Hace imposible que un desarrollador solo haga lo mínimo. ¡El mínimo es ahora el promedio del equipo!

  • Hace imposible que la gerencia no colabore adecuadamente.

Es por eso que dije (en mis otras respuestas en preguntas similares), que Ágil NO es para todas las organizaciones (y para todos).

Por ejemplo, el sector público realmente no es adecuado para Agile.

¿Ágil se utiliza como herramienta de presión? Por supuesto, lo he visto muchas veces. Simplemente empeora las cosas.

20
user2567

¿Sientes que con Agile trabajas más que con metodologías "convencionales"? ¿Esta presión es compensada por el ambiente más cómodo y por la sensación de hacer las cosas bien rápidamente?

Me hace trabajar más, pero, sobre todo, me hace trabajar en lo correcto. En cualquier momento sé lo que debería estar haciendo.

Es una especie de presión positiva. Eso es bastante diferente de algunos externos "ya estás retrasado, ¡trabaja más, codifica horas extras!" -tipo de presión.

8
Joonas Pulakka

En realidad, soy mucho más productivo cuando uso los métodos convencionales. Con el método convencional, creo p. Un análisis detallado de los requisitos, un estudio de viabilidad, una especificación funcional, una especificación técnica y muchos protocolos de reunión, ¡todo en unos pocos meses! ¡Incluso podría crear algunas líneas de código una vez que se realiza el análisis de impacto!

Ágil, todo lo que creo son unos pocos entregables.

7
user281377

En nuestra compañía,

Programación por parejas: cuando algo realmente complejo requiere un análisis amplio, incluso podríamos reunir a dos personas excelentes y realizar la tarea en Quick Time. Aquí la complejidad de la tarea decide la necesidad de programación de pares.

Relatos breves: luego, durante 3 semanas (aproximadamente 5-6 horas por día) y corriendo en el último momento (aproximadamente 12 a 14 horas por día) como desarrollador, no me gusta tener una oscilación en mi carga de trabajo. Trabaje alrededor de 8 horas por día y mantenga su horario estable y esto siempre se ve FRESCO.

Comunicación y cohesión del equipo: en la reunión scrum no solo compartimos el estado de la tarea sino también los obstáculos. Aquí, cuando alguien realmente necesita ayuda, a otros miembros se les ocurren ideas para ayudarlo. Pero ciertamente necesitas un excelente equipo para esto y nosotros estamos :)

Pruebas y comentarios: Ciertamente, como desarrollador, no quiero que me carguen de errores por fin, el siguiente momento después de que encuentre un error fue solucionarlo y nuevamente, esto me permitiría tener un buen pronóstico de lo que debería/puede A continuación, vuelva a programar la fecha límite (si es necesario).

Entonces, como desarrollador, estoy muy contento con el tipo de tarea que tomo y estoy seguro de que puedo decir que nunca sentí la presión REAL de la fecha límite.

4
Gopi

¿Sientes que con Agile trabajas más que con metodologías "convencionales"?

  • Si te refieres a si me siento más productivo con Agile, diría depende .

    Usualmente pienso en términos de Ferrari (como convencional) vs Landrover (como Scrum). Cuando se conduce por una autopista, Ferrari supera a Landrover.

    Es todo terreno cuando se necesita un jeep, no un auto deportivo; quiero decir, si sus requisitos son irregulares y/o si el trabajo en equipo y la experiencia de gestión no son tan buenos, tendrá que elegir Scrum, simplemente porque tratar de hacerlo convencional te atrapará, como Ferrari se quedará fuera de la carretera.

En cuanto a "trabajar más" , bueno, creo que uno que espera cosas así probablemente subestima el coeficiente intelectual del programador y su capacidad de adaptarse a varias formas de gestión de la demencia.

Hasta ahora, participé en dos equipos Scrum haciendo proyectos bastante diferentes en diferentes compañías. En ambos equipos no noté ningún cambio en mis hábitos en comparación con, por ejemplo, cascada/iterativo.

Me enorgullecería afirmar que esto se debe a que soy tan especial e invencible, pero, francamente, también he visto que los hábitos de todos los demás miembros del equipo son invencibles.

4
gnat

Agile obliga a los programadores a hacer un trabajo más útil, porque las diversas técnicas de desarrollo ágil eliminan el trabajo ocupado y el trabajo que simplemente no es necesario.

2
Jay Godse

es inconveniente hacer toda esa procrastinación cuando hay dos de ustedes sentados juntos.

Estoy en desacuerdo. Trabajé con un grupo de fumadores y todos lograron tomarse un descanso juntos durante períodos prolongados porque "todos lo hacían".

común para aflojar en las primeras tres semanas

Esta es una señal de mala gestión, independientemente de la metodología. Incluso si se espera una gran parte en un mes, esperaría ver algo al final de la primera semana.

no tiene nada que decir, puede sentirse avergonzado.

Si estás dispuesto a masturbarte durante tres semanas, pensarás en algunas tonterías que decir.

4) Pruebas y comentarios: una vez más, le impide mantener las tareas "99% listas" (cuando en realidad es alrededor del 20%) hasta que la fecha límite se produzca repentinamente.

Los proyectos en cascada pueden tener pruebas y construcciones diarias.

Personalmente, odiaría escribir código y no tener nada que hacer durante un mes. Prefiero el ciclo de retroalimentación más corto en mi código, ya sea una revisión codificada o el cierre de sesión del usuario. Hacer que otros aprueben mi trabajo es gratificante. Es como el gato que deja caer un mouse en tu puerta solo para hacerte saber que está haciendo su trabajo.

2
JeffO

Agile no obliga a los desarrolladores a trabajar más, sino a trabajar más eficientemente

1
greuze

Plantear la pregunta 'obligar a los desarrolladores a trabajar más' parece un poco negativo, pero seguramente es positivo si realmente hacemos más y postergamos menos.

Dicho eso, es un buen punto. Me he sentido un poco hastiado con agilidad este año, pero este es un gran beneficio no escrito que no había reconocido.

Estoy de acuerdo en que ágil puede llevar a los desarrolladores a ser más productivos. Sus puntos sobre la visibilidad, la responsabilidad y la tendencia a posponer menos son todos muy ciertos.

Pero ágil puede y también debe llevar a los desarrolladores a trabajar más duro por razones positivas: la zanahoria frente al palo. Bien hecho, ágil dará a los desarrolladores más interacción con los usuarios, menos beuracracia, más control sobre su trabajo, todo lo cual puede llevar a obtener más de su equipo.

0
Benjamin Wootton

más trabajo todavía no es semánticamente correcto o relevante para Agile, el objetivo es ser más productivo . Se centra específicamente en trabajar menos en lo incorrecto, y más en trabajar normalmente en correcto cosa; lo que no significa trabajar más, solo más productivamente.

Un efecto secundario es que expone a los holgazanes y a aquellos que no son eficientes o que no son competentes muy rápidamente. Lo que suena más a lo que estás llegando.

La metodología es irrelevante sobre si un desarrollador es o no no funciona. El proceso es, incluso en cascada, las revisiones de gestión y las revisiones de código pueden exponer estas cosas que no hacen nada, solo que no son tan transparentes como la mayoría de las metodologías ágiles.

0
user7519