¿Por qué la programación extrema (XP) ha caducado en favor de Agile, Kanban, etc.


15

Me gusta XP (programación extrema), especialmente la parte donde hay 2 programadores en la misma pantalla, ya que la solución de un problema a menudo se encuentra más rápidamente si solo explicas lo que estás haciendo y la programación de pares te obliga a explicar lo que estás haciendo. haciendo.

En los últimos 10 años más o menos, el estilo de trabajo XP parece haberse quedado obsoleto en favor de las metodologías de trabajo: ágil y / o Kanban. ¿Por qué? Desde XP me parece una muy buena forma de trabajar y se trata mucho de la programación, mientras que Agile y Kanban son más sobre procesos.


28
XP es un enfoque ágil . Por lo tanto, "Agile" realmente no puede reemplazar XP.
Joachim Sauer

1
Estaba a punto de publicar una respuesta, cuando noté que Volker dice casi lo mismo. Los procesos ágiles son por naturaleza adaptativos, no existe el Kanban, Scrum, XP "perfecto / puro", es más una mezcla y combinación. XP, en ese sentido, sigue siendo fuerte, dado que varios de los conceptos que introdujo fueron adoptados por casi todos los demás enfoques.
Yannis

3
Hay una lista interesante de críticas sobre XP en Wikipedia , pero si la escanea, la mayor parte se aplica a Agile en general.
Yannis

3
No creo que XP haya ido a ninguna parte. Gran parte se supone como parte del desarrollo ágil. Creo que lo que pasó de moda fue usar el término 'extremo'. Siempre me dio la imagen de un codificador saltado en el monte. Rocío con una tabla de snowboard se apoyó en el escritorio.
JimmyJames

Todo el asunto de la "Programación de pares" no ha funcionado, OMI Es excelente para resolver ciertos problemas aislados, pero la gran mayoría de los problemas de programación (interfaces de usuario, arquitecturas, reglas comerciales) no justifican el costo de tener dos desarrolladores de software sentados en la misma pantalla.
Robert Harvey

Respuestas:


21

Hay muchos estilos, métodos y mentalidades diferentes relacionados con todo el desarrollo del campo, y todo tiene su propio nombre brillante.

Agile es solo una mentalidad que se aleja de los modelos de programación estáticos habituales (como las cascadas): su objetivo principal es lograr un desarrollo más flexible y (al final) un mejor software y clientes satisfechos. Debajo de ágil, hay muchos modelos diferentes como Scrum, Kanban, XP.

Especialmente Kanban no proviene del desarrollo de software originalmente, se origina en la construcción de automóviles (recuerdo que Toyota lo presentó para construir automóviles y algunos desarrolladores de software lo adoptaron y lo ampliaron)

La programación de pares, las revisiones de código y esas cosas son solo herramientas: siempre puede (y debe) hacerlo durante un proyecto, independientemente del método que utilice. Es solo que estas cosas son más nativas de lo ágil que de lo estático.

XP más o menos introdujo estas cosas (o al menos les dio un nombre brillante) y todo lo siguiente las adoptó porque simplemente funcionó bien.


3
Como @refro también mencionó, Scrum y Kanban no incluyen programación de pares o revisiones de código (pero tampoco las excluyen). Ambos son más una metodología de gestión de proyectos que un proceso de desarrollo de software. Y como tales, son aplicables a una amplia gama de campos fuera del desarrollo de software. Mientras que XP es específicamente un enfoque de desarrollo de software. Estos pueden coexistir: puede administrar su equipo XP en la forma Scrum.
Péter Török

16

En mi opinión, XP es una práctica de programación, Scrum y Kanban son prácticas de gestión de proyectos. Tienen una relación pero no se reemplazan entre sí.

En nuestro proyecto Kanban utilizamos programación de pares (principalmente para secciones complejas y depuración), TDD, CI. Por lo tanto, todavía se usa, pero la administración está presionando más al lado de la administración del proyecto.


1
La programación en pareja es como interferir en las prácticas de músicos. Funciona a veces y a veces no funciona en absoluto. En casos raros, podría adoptarse como una forma general de jugar y en casos muy raros como una forma de componer .
Alex Yu

0

La programación extrema trata sobre la mecánica del desarrollo, mientras que Agile trata sobre el SDLC (ciclo de vida del desarrollo de software).

La razón principal por la que ya no escuchas sobre "Extreme Programming" es el uso del término "Extreme" como un adjetivo positivo que es una cosa obsoleta de los 90 a principios de los 00 que ahora se ve cursi. Principalmente es solo una víctima del marketing. Es por eso que casi exclusivamente lo escuchas referido como "XP", incluso verbalmente.


0

Tengo algunas ideas sobre la programación de pares.

Para mí, esto es algo que haces cuando estás atrapado con algo. En esos momentos puede ser muy efectivo, puede sacarte de la rutina. Pero también es agotador y una forma de trabajar que al programador de tipo estéreo no le gusta hacer más que ocasionalmente.

Si está cavando un hoyo, a pocas personas les importaría obtener ayuda de un compañero de trabajo. Pero tan pronto como haya creatividad involucrada, las personas prefieren hacer las cosas a su manera en lugar de a otra persona. Por lo tanto, la tensión siempre está cerca, a menos que a uno no le importe de una manera u otra o si el papel de uno es claramente sugerir solamente.

Donde trabajo la programación de pares no está formalizada, pero tenemos sesiones ad hoc y generalmente son breves. No será como "Hola compañero de trabajo, ¿qué tal una programación extrema?" Más a menudo comenzaría con "¿Puedes echar un vistazo a mi pantalla?" y acercando una silla para ellos.

Por lo tanto, no creo que la programación de pares esté muerta o sea menos popular, es solo una de esas herramientas que no usa muy a menudo porque es costosa, y no principalmente porque tiene dos personas remuneradas trabajando en una cosa.


0

Agile es más comercializable porque involucra a diferentes partes interesadas con diferentes roles y responsabilidades relacionadas con el proceso de creación de software.

Cuando en su segunda edición, Kent Beck amplió el alcance de los participantes dentro de XP, fue tarde: la gente ya adoptó otras metodologías porque la primera versión de XP apunta a los creadores del código, y eso es lo que la audiencia todavía recuerda inconscientemente o no. XP no era comercializable al nacer.


0

Siempre pensé que Scrum era la versión de Agile que era más fácil de vender a la gerencia: las estimaciones deterministas, su naturaleza algo doctrinaria y bien definida ("realmente no estás haciendo Scrum, ¡siéntete culpable!") ...

Estira tus sprints el tiempo suficiente y toma esas pequeñas "cartas de póker" lo suficientemente en serio, y Scrum puede hacer cosquillas con el mismo picor que los métodos de la cascada. Esto no es necesariamente malo, pero no nos escondamos detrás de humo y espejos aquí.

En el lado de XP, la programación de pares generalmente no es atractiva para la administración, especialmente la administración no técnica.

Para ponerlo en formato de analogía SAT, Scrum: XP :: The Monkees: The Beatles

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.