Metodología Ágil
Consiste en desarrollar una
pequeña parte del software que se desea construir. De esta forma, el cliente
nos indica si vamos por el buen camino, estableciendo aquellas partes que le
son más relevantes y así junto, nos aseguramos de que construimos una aplicación
que añadirá valor a su negocio.
Metodología
Tradicional
Estas metodologías
tradicionales imponen una disciplina de trabajo sobre el proceso de desarrollo
del software, con el fin de conseguir un software más eficiente. Para ello, se
hace énfasis en la planificación total de todo el trabajo a realizar y una vez
que todo este detallado, comienza el ciclo de desarrollo del producto software.
Se centra especialmente en
el control del proceso, mediante una rigurosa definición de roles, actividades,
artefactos, herramientas y notaciones para el modelado y documentación
detallada.
Además, las metodologías
tradicionales no se adaptan adecuadamente a los cambios, por lo que no son
métodos adecuados cuando se trabaja en un entorno, donde los requisitos no pueden
predecirse o bien pueden variar.
DIFERENCIA
DE METODOLOGIA AGIL Y TRADICIONAL
Metodología
tradicional
1. Requiere los requisitos detallados desde el inicio del
proyecto, y no pueden cambiar.
2. Lo que se define en cada etapa es inamovible y hasta que no
finaliza con éxito una etapa no se pasa a la siguiente.
3. Se
centra especialmente en el control del proceso, mediante una rigurosa
definición de roles, actividades, artefactos, herramientas y notaciones para el
modelado y documentación detallada.
* Los requisitos son muy cambiantes.
* Permite abordar el alcance de forma sucesiva o cambiante a lo
largo del proyecto.
* Solo se genera la documentación que genera valor al cliente y
al proyecto.
Metodología Incremental
Definición
El modelo incremental fue
propuesto por Harlan Mills en el año 1980, posee como objetivo un aumento progresivo de la
funcionalidad. Es decir, el producto va progresando con cada una de las
entregas previstas hasta que se acondiciona a lo requerido por el cliente.
Cuando se
utiliza un modelo incremental, el primer incremento es a menudo un producto
esencial, sólo con los requisitos básicos. Este modelo se centra en la entrega
de un producto operativo con cada incremento. Los primeros incrementos son
versiones incompletas del producto final, pero proporcionan al usuario la
funcionalidad que precisa y también una plataforma para la evaluación.
Establece
entregas parciales mediante un calendario de plazos. En cada una de
ellas, el producto debe mostrar
una evolución con respecto a la fecha anterior; nunca puede ser
igual, los responsables del proyecto deben analizar si los resultados parciales
son los esperados y si, sobre todo, apuntan al objetivo principal. De no ser
así, deberán intervenir en él e implementar las soluciones que la situación
requiera.
Fases del modelo
incremental
No es un modelo necesariamente rígido, es decir, que
puede adaptarse a las características de cualquier tipo de proyecto, existen al
menos 7 fases que debemos tener en cuenta a la hora de implementarlo:
*Requerimientos: son los objetivos
centrales y específicos que persigue el proyecto.
*Definición de las
tareas y las iteraciones: teniendo en cuenta lo
que se busca, el siguiente paso es hacer una lista de tareas y agruparlas en
las iteraciones que tendrá el proyecto. Esta agrupación no puede ser aleatoria.
Cada una debe perseguir objetivos específicos que la definan como tal.
*Diseño de los incrementos: establecidas las
iteraciones, es preciso definir cuál será la evolución del producto en cada una
de ellas. Cada iteración debe superar a la que le ha precedido. Esto es lo que
se denomina incremento.
*Desarrollo del incremento: posteriormente se
realizan las tareas previstas y se desarrollan los incrementos establecidos en
la etapa anterior.
*Validación de incrementos: al término de cada
iteración, los responsables de la gestión del proyecto deben dar por buenos los
incrementos que cada una de ellas ha arrojado. Si no son los esperados o si ha
habido algún retroceso, es necesario volver la vista atrás y buscar las causas
de ello.
* Integración de incrementos: una vez son
validados, los incrementos dan forma a lo que se denomina línea incremental o
evolución del proyecto en su conjunto. Cada incremento ha contribuido al
resultado final.
*Entrega del producto: cuando el producto en
su conjunto ha sido validado y se confirma su correspondencia con los objetivos
iniciales, se procede a su entrega final.
1. Provee
un impacto ventajoso frente al cliente, que es la entrega temprana de partes operativas del software.
2. Se
evitan proyectos largos y se entrega “algo de valor” a los usuarios con cierta frecuencia.
3. Resulta
más sencillo acomodar cambios al acotar el tamaño de los incrementos.
4.El modelo proporciona todas las ventajas del modelo en cascada
realimentado, reduciendo sus desventajas sólo al ámbito de cada incremento.
5. Más facilidad para probar y depurar.
* Requiere
gestores experimentado con buena planificación
y diseño inicial.
* Es
fácil que cambie el coste y tiempo de desarrollo inicialmente calculados.
*Requiere de metas claras para conocer el estado del proyecto.
*Las
primeras versiones son incompletas.
* No
es recomendable para casos de sistemas de tiempo real o de alto nivel de
seguridad.
Características
* Se evitan proyectos
largos y se entrega “algo de valor” a los usuarios con cierta frecuencia.
* El usuario se
involucre más.
* Difícil de evaluar el costo total.
* Difícil de aplicar a
los sistemas transaccionales que
tienden a ser integrados y a operar como un todo.
* Requiere gestores
experimentados.
* Los errores en los requisitos se detectan
tarde
* El resultado puede
ser muy positivo.






Comentarios
Publicar un comentario