2009-03-22 12 views
11

¿Hay algún estudio científico que haya comparado las metodologías ágiles de desarrollo de software con otras? Creo que ágil es una buena forma de trabajar, pero ¿hay alguna base científica para ello?¿Es ágil científicamente probado?

Estoy buscando algo como this, excepto que este estudio solo trata con TDD. ¿Han habido estudios sobre ágil en general?

Estoy preguntando esto porque conocí a un fanático ágil que afirmó que la forma ágil de trabajar produce un mejor software que todas las otras formas de trabajar. Presentó esto como un hecho, que no creo que sea.

+1

¿Qué quiere decir con "Agile"? –

+0

"Ágil" no está lo suficientemente definido como para permitir el estudio científico, es una amplia "marca" que abarca una gran cantidad de técnicas y metodologías. – womble

+1

Y, de todos modos, es casi imposible establecer un experimento adecuado. –

Respuesta

5

Consulte this response a una pregunta diferente para obtener información acerca de por qué rara vez hay buenos estudios empíricos sobre cualquier aspecto del software de construcción.

+0

El enlace a la otra respuesta parece estar roto. –

2

Laurie Williams from NCSU publicó muchos estudios realmente interesantes sobre la efectividad de la programación de pares, y luego comenzó a tratar con más facetas de ágil.

5

Científico? Bien, estoy muy impresionado con el trabajo de Alistair Cockburn. Escúchenlo here

Alistair Cockburn había sido un diseñador de hardware e investigador durante 16 años cuando IBM le pidió que escribiera una metodología para proyectos orientados a objetos. Ha pasado la última década estudiando y escribiendo sobre desarrollo de software y aprendió que algunos de los proyectos más exitosos tienen los procesos más simples. En 2001 él y otros 16 pesos pesados ​​de desarrollo de software se reunieron para discutir las llamadas metodologías ligeras, y un resultado fue el Manifiesto de desarrollo de software ágil, que incluye cuatro declaraciones de valores: individuos e interacciones sobre procesos y herramientas; software de trabajo sobre documentación completa; colaboración del cliente sobre la negociación del contrato; y responder al cambio por seguir un plan.

+5

Eso no es evidencia científica; es un argumento de la autoridad. Cockburn estudió mucho y llegó a conclusiones, está bien, pero aprender "que algunos de los proyectos más exitosos tienen los procesos más simples" es subjetivo, como se dijo. –

+0

¿Quién dijo que era 'evidencia científica'? Observe el signo de interrogación después de la primera palabra? Yo como otros aquí diría que es muy difícil decir algo con certeza sobre "ágil", ya que está abierto para la interpretación y la libertad de elegir. Creo que lo que Alistair trae a la mesa es la "experiencia" recogida (de los proyectos del mundo real) y de ese "nosotros" podemos tomar mejores decisiones. – epatel

4

Ciertos aspectos del scrum tienen evidencia empírica de respaldo. Se han realizado bastantes estudios empíricos de diferentes partes del scrum. Escuché a Jeff Sutherland (http://jeffsutherland.com/scrum/, el inventor del scrum) mencionar muchos estudios y observaciones específicos en sus charlas.

Agile en general es solo un término general diseñado para mantener a los diferentes grupos políticos moderadamente felices. No espere ver un experimento demostrar algo general acerca de todos los "ágiles". Es demasiado vago para ser útil.

+0

(¿Como la "evidencia empírica" ​​para los diseños de teclado de Dvorak resultando en velocidades de tipeo más rápidas? :-) –

+0

No sabe sobre teclados Dvorak, pero me refiero a empírico de la misma manera que lo hacen los químicos y los científicos médicos, es decir. algo repetitivamente observable y mensurable más bien que simplemente el habitual "tono de ventas de TI". Veo que esto es un antídoto contra toda la cháchara y las exageraciones no calificadas que se transmiten en nuestra industria. – daf

1

No creo que sea posible "demostrar" tal cosa.

Iré aún más lejos, y diré que no creo que sea realmente posible estudiar el tema de "Productividad de desarrollo de software" con dicho estudio. Que es principalmente por qué toda la evidencia que alguna vez realmente tiene que seguir es lo que nos dicen las personas con experiencia (y desafortunadamente, cada uno tiene una visión diferente sobre diversas metodologías).

Hay una razón simple para esto: las personas son completamente diferentes. Siéntate en un equipo de 5 personas para un proyecto de unos pocos meses (que es más, supongo, que la mayoría de los estudios alguna vez manejan, veamos a alguien financiar algunos meses de tiempo de desarrollador), y seguro que obtendrás completamente diferentes resultados El problema es que no hay forma de separar los muchos factores diferentes aquí:

  1. Capacidad de los programadores individuales.
  2. Dedicación/esfuerzo realizado por los programadores.
  3. Experiencia con las herramientas.
  4. La capacidad de quien está actuando como líder del equipo (solo siguiendo una metodología no es suficiente. Si alguien no sabe cómo administrar un equipo, la metodología no estará realmente bien representada).

Y probablemente haya muchos más factores.

Entonces, lo que estoy tratando de decir es, no creo que los estudios que han "probado" que una metodología/herramienta/algo funciona mejor que otros. Son casi imposibles de hacer

0

Lo que está comprobado es la falla estadística de la cascada, es decir, scientific management aplicada al desarrollo de software. Agile, como movimiento, es solo una respuesta a esta evidencia empírica (ver, por ejemplo, los informes de CHAOS).

1

No, no se ha demostrado científicamente o de otro modo. Para "probar" significaría:

  • Para demostrar su validez desde un punto de vista analítico.
  • para demostrar que funciona en la práctica y luego inferir su validez

Un enfoque analítico es inviable, ya que se trata de gente que aquí en lugar de los sistemas simples. No puedes formalizar equipos y organizaciones.

Los estudios empíricos, por otro lado, se han llevado a cabo, pero los resultados no son concluyentes. Robert Glass muestra algunos resultados interesantes en su libro Software Creativity 2.0, por ejemplo.

Así que no, no se ha demostrado que sea ágil. Ni siquiera cerca. :-)

0

Este interview with Linda Rising on InfoQ atiende su pregunta hasta cierto punto. Ella habla sobre la efectividad de los placebos y nuestras creencias en medicina y cómo estas mismas cosas pueden estar relacionadas con el Desarrollo de Software. Básicamente, ¿estamos en la comunidad Agile dándonos a nosotros mismos una "píldora de azúcar"?

Extracto Entrevista

La ciencia trata de experimentos, sobre la celebración de una idea para un corto período de tiempo y para ello, y después de examinar los resultados de esa prueba para saber si es o no la hipótesis sostiene . De eso se trata realmente Agile. Agile se trata de pequeños experimentos. Ahora creo que todo lo que hacemos, no solo el desarrollo de software, sino nuestras vidas deben ser una serie de pequeños experimentos.

Traemos a todas las partes interesadas posibles, traemos clientes, traemos usuarios, los probadores trabajan con los desarrolladores. Siempre estamos examinando cuidadosamente esas píldoras de azúcar. ¿Realmente funciona? ¿Qué piensas? Estas contento con los resultados? Eso es lo único que nos salva: ágil en sí mismo. Esta serie de pequeños experimentos.

0

This paper analiza el retorno de la inversión (ROI) de los métodos Agile versus Traditional. Se basa en resultados reales de estudios publicados.

Del resumen:

ágil Métodos ROI era cuatro veces más caros que métodos tradicionales, dos veces menos que los baratos, y la mejor ágil y tradicional Métodos tenido igual ROI.

Cuestiones relacionadas