Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Este esquema muestra un ejemplo de las fases típicas que considera una metodología en cascada utilizada para
el desarrollo tradicional de software.
Según esta metodología, todas las fases se deben ejecutar siguiendo un orden secuencial. Una de ellas solo
puede iniciarse si la fase anterior ha sido terminada y aprobada; por ejemplo, no se empieza la construcción
(codificación) mientras el diseño final no ha sido aceptado por las partes interesadas. Pese a ello, en ciertas
situaciones, se acepta la ejecución en paralelo de tareas pertenecientes a diferentes fases.
1
Metodología Ágil: Scrum + Kanban
El modelo con enfoque tradicional
En este modelo el alcance se establece y compromete al inicio del proyecto. Solo una vez que el alcance ha sido
definido y aceptado comienza la planificación de tiempos, costos y calidad, entre otros procesos. Uno de los
elementos resultantes de la planificación es un cronograma, generalmente una carta Gantt, que guiará la
ejecución de cada una de las tareas hasta el término del proyecto.
Líneas de código.
Puntos de función.
Puntos de caso de uso.
Modelo constructivo de costo (COCOMO II, por su acrónimo del inglés Constructive Cost Model).
Es importante señalar que todas estas técnicas presentan debilidades, principalmente, porque dependen del
juicio experto y no están desprovistas de subjetividad.
La importancia de la estimación reside en que es la base de las demás actividades de la planificación y, por
consecuencia, de la ejecución del proyecto. Debe ser precisa y exacta, aunque no siempre se cuente con toda la
información necesaria (ni siquiera información histórica de proyectos similares).
Por lo tanto, al emplear una metodología en cascada deben existir estrictos elementos de control que permitan
verificar y validar los productos parciales obtenidos en cada fase. Aun así, muchos de estos errores recién serán
detectados en una fase avanzada del proyecto -especialmente en la fase de pruebas- o, lo que es peor, durante la
implementación y puesta en marcha del sistema, obligando a efectuar correcciones bajo un proceso de control de
cambios, lo que de alguna manera impactará en el cronograma.
Fuente: http://www.agilemodeling.com/essays/costOfChange.htm
El costo de corregir errores aumenta en forma exponencial a medida que avanza el proyecto. Al comienzo este
costo es muy bajo, mientras que corregir el mismo error en una fase posterior tiene un costo mucho mayor.
Metodología Ágil: Scrum + Kanban
El modelo con enfoque tradicional
El uso de la Carta Gantt en la planificación de tareas, tiempos y recursos es ampliamente difundido. Sin embargo,
son prácticamente inútiles en el proceso de desarrollo de una solución en el ámbito tecnológico, pues la varianza
en los tiempos de desarrollo es tan alta que hace que la incertidumbre torne irrelevante hacer una predicción.
Por ejemplo, si se aproxima que en un mes más desarrollará una tarea que requiere diez días, con una baja
varianza diríamos que se puede demorar dos días adicionales. Sin embargo, con una alta varianza, se podría, con
una alta probabilidad, demorar diez días adicionales, lo cual es equivalente al tiempo original. Por tanto, pierde
relevancia hacer una predicción, ya que hay una alta probabilidad de que no se cumpla.
Existe evidencia de que la intuición humana funciona con un comportamiento asociado a una distribución
gaussiana, aunque el desarrollo de software se comporta con tendencias más similares a distribuciones del tipo
Pareto.
Metodología Ágil: Scrum + Kanban
El modelo con enfoque tradicional
En este sentido, en las cartas Gantt - a menos que sea muy básica- existen múltiples rutas paralelas que se deben
ir cumpliendo y que desencadenan tareas en serie. Ello, si ponemos varias tareas en paralelo e incluso les
asignamos una alta probabilidad de terminar en el tiempo predicho.
Metodología Ágil: Scrum + Kanban
El modelo con enfoque tradicional
A pesar de que cada tarea finalice en su tiempo con alto nivel de probabilidad, la probabilidad, a su vez, de que el
proyecto falle en su predicción de tiempo (por ende, de recursos) es altísima. Lo anterior no pasa por la habilidad
de quien hace la predicción, sino por una deficiencia del sistema. ¿Has escuchado decir que las cartas Gantt
nunca se cumplen?
En conclusión, las graves deficiencias del modelo tradicional propiciaron la búsqueda de modelos más
evolucionados, que aumentarán las probabilidades de éxito. Así, a comienzos de los años 90, nace el “Manifiesto
Ágil”, a partir de la industria del software y por la imperiosa necesidad de contar con un modelo acorde a las
exigentes demandas de dinamismo, escalabilidad y flexibilidad de dicha industria. En la actualidad, prácticamente
cualquier startup o empresa en tecnologías innovadoras implementa modelos ágiles de desarrollo, más por una
necesidad que por una opción.