Además de Waterfall, ¿cuáles son otras metodologías de desarrollo de software basadas en planes?

8

Acabo de leer Equilibrio entre agilidad y disciplina . Dejando de lado el pobre título, contrastó un equipo de proyecto impulsado por un plan que estaba empleando PSP / TSP y un equipo ágil que usa programación extrema.

Cuando los autores proporcionaron un ejemplo de una metodología basada en el plan, utilizaron el Proceso de Software Personal / Proceso de Software de Equipo. Aunque, de manera inmediata, estas son metodologías impulsadas por el plan, también están diseñadas para ser utilizadas como marcos de procesos y, en última instancia, solo especifican qué tipo de cosas hacer y no cómo hacerlo, whi ch los hace potencialmente útiles incluso en un entorno ágil. Es posible ser ágil y seguir los principios de PSP, y no estoy lo suficientemente familiarizado con el TSP para decirlo con seguridad, pero tengo entendido que es muy similar.

En un punto del libro, enumeran varias metodologías y las clasifican en términos de agilidad. Métodos como Scrum, Lean, Crystal y XP están en la parte superior. La parte inferior (de la mayoría a la menos ágil) consiste en el Proceso Unificado de Rational, el Proceso de Software del Equipo, el Desarrollo Dirigido por Características, el CMMI, el CMM de Software, el Proceso del Software Personal y la Sala Limpia.

Watts Humphrey, en PSP: un proceso de superación personal para los ingenieros de software , dedica un capítulo a la definición del proceso , y modificando específicamente el Proceso de Software Personal. El tema común es que los procesos son prescriptivos (dicen qué hacer) y no descriptivos (cómo hacerlo). Supongo que el TSP es muy similar. CMMI también se ha utilizado junto con métodos ágiles, y el SEI tiene un libro sobre él (que no tengo sin embargo leer).

El desarrollo basado en características a menudo se promociona como un enfoque ágil para la gestión de proyectos, aunque los autores eligen clasificarlo como una metodología menos ágil.

RUP es un marco iterativo. Aunque no estoy increíblemente familiarizado con él, el hecho de que sea un marco me permite agruparlo con SW-CMM, CMMI y PSP / TSP, ya que podría implementarse como una metodología ágil o como planificada.

El único otro ejemplo que proporciona el libro con el que estoy de acuerdo es Ingeniería de software para salas limpias . Los componentes clave de Cleanroom son el uso de métodos formales, el control estadístico de calidad y las pruebas estadísticamente sólidas. No veo por qué no se pueden usar en un método ágil (iterativo / incremental), con el costo adicional de tiempo y costos.

Para aclarar lo que estoy buscando, la familia de métodos ágiles incluye implementaciones específicas de una idea abstracta en la forma de programación Scrum y extrema. Éstos se dan cuenta de los conceptos de desarrollo iterativo e incremental, respuesta al cambio, personas (individuos y equipos), entrega frecuente de software en funcionamiento, colaboración con el cliente, etc. Especifican claramente los roles, artefactos, reuniones, cajas de tiempo y otras prácticas, y "hacer Scrum" o "hacer programación extrema" significa tomar el paquete. Aun así, permiten la adaptabilidad y la creación de nuevos procesos (pero entonces no estás "haciendo Scrum" o "haciendo XP"). Sin embargo, no he encontrado el "hacer X" de las metodologías basadas en planes, la mayor parte del trabajo parece ser hacia marcos que podrían ser ágiles o impulsados por planes.

Entonces, mi pregunta: ¿Cuáles son ejemplos de metodologías de desarrollo de software más orientadas al plan? Algunos de los marcos de procesos (PSP / TSP, SW-CMM, CMMI, RUP) también permiten un desarrollo ágil o impulsado por el plan, pero ninguno es descriptivo. Pero, ¿existen metodologías realmente orientadas a los planes, por ejemplo, contrapartes directas de Scrum y Extreme Programming?

    
pregunta Thomas Owens 25.10.2011 - 02:09

1 respuesta

5

Honestamente, tengo dudas sobre la validez de cualquier reclamación hecha en un libro que haga que la Agilidad y la Disciplina se enfrenten entre sí. Las metodologías ágiles requieren mucha más disciplina, en mi experiencia, que otros tipos de desarrollo.

Es decir, si va a explotar los beneficios de los procesos Agile, debe seguir las prácticas habilitadoras que los acompañan (consulte Is Design Dead ; habla sobre todo de XP, pero en mi opinión se aplica a toda la Agilidad. Eso requiere mucha disciplina.

Pero, para responder a tu pregunta, creo que todas las metodologías realmente basadas en planes son variaciones de Waterfall, como Spiral , que lleva el desarrollo a través de múltiples niveles de creación de prototipos antes de cambiar a un enfoque de cascada, y Cap Gemini SDM , que es cascada fases muy distintas donde cada una termina antes de que comience otra.

    
respondido por el pdr 25.10.2011 - 02:52

Lea otras preguntas en las etiquetas