¿Es Extreme Programming (XP) incompatible con las ideas expresadas en Peopleware?

16

Acabo de terminar de leer Peopleware (DeMarco, Lister) y he investigado sobre Extreme Programming (XP) un poco antes. Como lo veo ahora, los dos enfoques son casi exclusivos entre sí.

Peopleware sugiere aislar a los programadores de cualquier perturbación y prioriza el trabajo ininterrumpido para ayudar a los programadores a lograr el flujo. XP, por otro lado, propone garantizar la mayor comunicación posible, incluso sugiriendo que los programadores "se sienten juntos", codifiquen en pares y, en general, trabajen en la misma habitación (generando mucho ruido).

¿Son esas dos escuelas de pensamiento en competencia, tal vez una de ellas sea correcta / incorrecta o haya un compromiso efectivo? Puedo ver los puntos que hacen ambas partes, pero no veo ningún compromiso razonable.

Soy muy nuevo en el estudio de la gestión del desarrollo de software, por lo que es posible que haya entendido mal algo. Todos los comentarios son bienvenidos.

PD: Como una mini pregunta adicional, como programador, ¿cuál sería más productivo?

Aleksandrs Ulme
fuente
44
No son exclusivos. Los desarrolladores de pares deberían funcionar ininterrumpidamente.
Lukasz Madon
@lukas: incluso considerando esto, ¿qué hay de "sentarse juntos"?
Aleksandrs Ulme

Respuestas:

12

Te perdiste el punto con Peopleware. En ninguna parte el libro sugiere aislar a los programadores en oficinas individuales, pero agruparlos en 2 a 4 personas por oficina.

La razón principal es aislar a los programadores del ruido no relacionado con la programación, como el vendedor que grita al teléfono, charla entre el gerente y la secretaria, el ruido generado por las personas que se mueven, el timbre del teléfono, las puertas abofeteando, y más.

La programación extrema es totalmente compatible con una oficina de 2 a 4. Para hacer la programación de pares, tienes 2 o 3 máx.


fuente
Sí, al revisar lo que noté, el comentario de que los programadores deberían estar aislados "del ruido muy diferente a los que hacen", es decir, de los no programadores. ¡Gracias!
Aleksandrs Ulme
Tuve el lujo de trabajar en una oficina de 3 personas durante aproximadamente 5 años. Funciona realmente bien, si las personas trabajan juntas.
rapid_now
@quickly_now: ¿ahora trabajas en un espacio abierto?
1
Ahora trabajo en una oficina de una persona. Solía ​​trabajar en una oficina de 3 personas, y antes de eso en un plan abierto. (Y antes de eso ... un plan más abierto ... y antes de eso, una oficina con una puerta que podría cerrar). Mi preferencia después de todo esto es una oficina de una persona. Si no puede obtener ese lujo, entonces 2-3 personas es bueno. Más que eso es solo un corral gigante.
rapid_now
11

Creo que ambos enfoques describen una estrategia de trabajo general, pero no necesariamente cada minuto de trabajo en un día. Debe existir un equilibrio.

Esté lo suficientemente cerca como para permitir una comunicación rápida, pero retírese a un área aislada cuando se termine la discusión y el trabajo real deba seguir.

Personalmente, encuentro que "sentarse juntos" y "generar mucho ruido" durante todo el tiempo no funciona. Hay tiempo para hablar para discutir problemas, decidir los siguientes pasos, etc., y luego hay tiempo para codificar y las personas deben tener áreas tranquilas para hacerlo.


fuente
4

La clave es la frase "aislar a los programadores de cualquier perturbación y priorizar el trabajo ininterrumpido". La prioridad es clara en XP cuando se seleccionan Historias en cada iteración para que sean las más valiosas. Los clientes deben esforzarse por tener un conjunto de historias "estable", sin cambiar demasiado de opinión a mediados de la iteración (puede suceder, pero deberían ser casos especiales, no la norma).

La parte de "aislar programadores" es la más complicada. Significa que los programadores deberían hacer lo que mejor saben hacer: programar. Para que XP funcione, los programadores deben ubicarse en un entorno en el que se centren únicamente en completar historias, sin ningún gasto externo como reuniones, llamadas telefónicas, pequeños favores y demás. Esto se puede lograr ya sea poniendo a cada par de programadores en su propia oficina, o teniendo a todos los programadores en una sala de guerra donde nadie más pueda ingresar a menos que sea absolutamente necesario.

Soronthar
fuente
1

Personalmente, me parece IMPOSIBLE trabajar en pareja con alguien, incluso si estoy aprendiendo de esa persona. Tal vez es solo para que algunas personas (es decir, yo) trabajen mejor en las formas más "clásicas" (entrar en la zona, silencio, etc.).

O tal vez es el hecho de que XP se implementa principalmente en tiendas de desarrollo web en las que las personas usan muchos sombreros y en lugar de resolver problemas difíciles en un dominio (por ejemplo, optimizar un código), pasan tiempo buscando una solución ya existente para un problema que no es muy duro intelectualmente (por ejemplo, integrar un carrito de compras en la página, etc.).

Para algo como esto, trabajar en parejas, mucha comunicación, etc., podría ser la única manera de avanzar de manera efectiva (no pasará X horas solo para encontrar ese módulo de envío de correo electrónico Joomla! / Droopal bug, ¿verdad? ?)

Jas
fuente
-2

Sí, XP es completamente incompatible con Peopleware y las buenas prácticas de desarrollo de software. ¿Quizás necesites refrescarte con la sección antes de continuar?

http://code.scottshipp.com/2017/03/22/open-office-plans-excerpt-from-peopleware/

La Tabla 8-1 en la parte inferior lo explica con detalle, siendo la entrada final el último torpedo.

  1. ¿La gente a menudo te interrumpe innecesariamente? 38% sí 76% sí

En una oficina de varias personas, físicamente no hay forma de evitar esto. La unidad conyugal de alguien los llama e incluso si la persona se retira después de contestar, la respuesta lo interrumpe. Alguien trata de ser cortés, va a tomar un café y llama para ver si alguien quiere algo.

No olvidemos que el programador que se pone los auriculares y sube el volumen para que pueda escucharlo a 6 pies de distancia o peor aún, se siente obligado a usar un bolígrafo / lápiz para tocar el tambor junto con una sección de una "gran melodía". Ah, y si tienes la mala suerte de tener a un fanático de los deportes trabajando en TI, todos se entusiasman.

"¡Oh! ¿Viste el juego de anoche? ¡¡¡¡¡¡¡¡Y esa LLAMADA !!!!

Bueno, te haces una idea.

XP por definición temprana es de 2 programadores y un teclado. Es una metodología realmente adecuada solo para el buceo profundo en soluciones difíciles de encontrar, no para el desarrollo de software a gran escala. Tanto los conceptos de Open Plan como de Team Room violan la investigación realizada en Peopleware.

usuario3450148
fuente