Ir al contenido principal

Que hace que el modelo Cascada de desarrollo de software falle en muchas maneras?

Estudios han revelado que el 80% de los proyectos de software no se concluyen efectivamente o no se satisfacen las necesidades, las metodología de cascada es uno de los  factores clave para que esto ocurra  por que?.



Las fases tradicionales en un modelo de cascada consisten en un analisis de requerimientos, un diseño, un desarrollo y fase de pruebas y el lanzamiento o puesta en producción.

Como se muestra la metodología consiste en una estricta cadena secuencial de fases, se necesita concluir una fase para continuar con la siguiente, esto es difícil, costoso y frustrante para el equipo ademas de consumir demasiado tiempo.

La linea de tiempo es planificada al inicio del proyecto y se obtiene un entregable funcional únicamente al finalizar la cadena, esto quiere decir que si se retrasa una fase todo el proyecto se retrasa.

Con el método de cascada los usuario de este, deben evitar el riesgo tratando de anticipar de antemano todas las posibilidades.  Esto quiere decir que en una fase inicial del proyecto se deben definir todos los requerimientos con la mayor fineza de granularidad como sea posible, esto es muy difícil ya que la mayoría de requerimientos cambien o pueden cambiar durante el desarrollo del proyecto. Los estudios indican que cerca del 60% de los requerimientos cambian en el proyecto. Otros requerimientos son implementados pero no son realmente necesitados por el usuario, esto consume un tiempo valioso que podria ser utilizado para implementar requisitos que realmente añadan valor al negocio.

Por lo general se separa cada una de las fases del modelo cascada y el tiempo de cada uno es estimado de manera secuencial, el problema es que en la practica se trabaja muchas veces todo en forma paralela y conjunta.

El modelo de cascada puede ser utilizado para manejar simples y pequeños proyectos de software  para proyectos grandes implica un aumento del riesgo generalmente  mas costosos y menos eficiente que un enfoque con SCRUM


Conclusion.

1. El modelo cascada es secuencial y necesita que se termine una fase para continuar con la siguiente
2. En la practica todas las fases se trabajan en paralelo
3. El modelo cascada no permite enfocarse en lo realmente importante
4. El modelo cascada es muy riesgoso  para proyectos grandes


http://www.scrum-institute.org/What_Makes_Waterfall_Fail_in_Many_Ways.php






Comentarios

Entradas populares de este blog

DISEÑO AL NIVEL DE COMPONENTES

El diseño a nivel de componentes se presenta a menudo despues que se ha terminado la primera iteracion del diseño arquitectonico. y  el objetivo de esta fase es traducir el diseño en software operaciona. El diseño a nivel de componentes define las estructuras de datos, los algoritmos, las caracteristicas de la interfaz  y los mecanismos de comunicacion asignados a cada componente de software. esta fase permite revisar si los detalles de diseño son correctos y consistentes con las representaciones iniciales de diseño ¿QUE ES UN COMPONENTE? Es un bloque de construccion modular par el software de computo. una parte modular desplegable y reemplazable de un sistema que encapsula implementacion y expone un conjunto de interfaces. desde el punto de vista orientado a objetos un componente es un conjunto de clases ques se interrelacionan entre si. en el contexto convencional de ingenieria de software  un componente es un elemento funcional que incorpora  la logica del procesamiento y

ESTRATEGIAS DE PRUEBAS DE SOFTWARE

La estrategia de pruebas de software proporciona un mapa que describe los pasos que se daran como parte de la prueba indica cuando se planea y cuando se daran dichos pasos ademas cuanto tiempo, esfuerzo y recursos consumiran. un software se prueba para descubrir los errores cometidos, si se realiza sin ningun plan seguramente se desperdiciara tiempo, se dedicara un esfuerzo innecesario y lo que es peor puede que no se detecten los errores. Las pruebas se deben planificar con anticipacion y realizarlas de manera sistematica por lo que es importante tener una plantilla existen diferentes y en general tienen los siguientes pasos. 1. Revisiones tecnicas formales y efectivas 2. Se inicia a nivel de componentes y se trabaja hacia afuera hacia la integracion del sistema 3. Diferentes tecnicas en diferentes momentos 4. las pruebas las dirige el desarrollador 5. la prueba y la depuracion son actividades diferentes, pero la segunda debe incluirse en cualquier estrategia de pruebas. l

Múltiples Botones de Submit en MVC 5

Hace unos días me tope con un inconveniente debía colocar varios botones de submit en una vista de MVC, la solución que implementé es muy sencilla 1. En el controlador añadí un parámetro llamado "boton" de tipo string, el cual recibe el valor del botón que se esta accionando en la vista, en el ejemplo colocó una condición que indica que si el botón que se esta accionando es el de cancelar, regresamos al index de lo contrario ejecutamos otra acción [HttpPost] public ActionResult Carga(string boton) {         if(boton.CompareTo("Cancelar")==0)                 return RedirectToAction("Index"); } 2. En la vista tengo dos botones "Cargar" y  "Cancelar" de tipo submit, acá es importante que la propiedad "name" del botón tenga el mismo nombre que la variable del controlador, ya que es por este medio por el cual el controlador identifica de donde tomar el valor para la variable en este caso la variable del controlador