El modelo de desarrollo rápido de aplicaciones fue propuesto por primera vez por IBM en la década de 1980. La característica crítica de este modelo es el uso de poderosas herramientas y técnicas de desarrollo. Un proyecto de software se puede implementar utilizando este modelo si el proyecto se puede dividir en pequeños módulos en los que cada módulo se puede asignar de forma independiente a equipos separados. Estos módulos finalmente se pueden combinar para formar el producto final. El desarrollo de cada módulo implica varios pasos básicos como en el modelo en cascada, es decir, analizar, diseñar, codificar y luego probar, etc., como se muestra en la figura. Otra característica llamativa de este modelo es el corto período de tiempo, es decir, el plazo de entrega (time-box) es generalmente de 60 a 90 días.
El uso de potentes herramientas de desarrollo como JAVA, C++, Visual BASIC, XML, etc. también es parte integral de los proyectos. Este modelo consta de 4 fases básicas:
- Planificación de requisitos: implica el uso de varias técnicas utilizadas en la obtención de requisitos, como lluvia de ideas, análisis de tareas, análisis de formularios, escenarios de usuario, FAST (técnica de desarrollo de aplicaciones facilitadas), etc. También consta de todo el plan estructurado que describe los datos críticos, métodos para obtenerlo, y luego procesarlo para formar un modelo refinado final.
- Descripción del usuario: esta fase consiste en recibir comentarios de los usuarios y construir el prototipo utilizando herramientas de desarrollo. En otras palabras, incluye el reexamen y la validación de los datos recopilados en la primera fase. Los atributos del conjunto de datos también se identifican y aclaran en esta fase.
- Construcción: en esta fase, se lleva a cabo el perfeccionamiento del prototipo y la entrega. Incluye el uso real de poderosas herramientas automatizadas para transformar procesos y modelos de datos en el producto de trabajo final. Todas las modificaciones y mejoras requeridas también se realizan en esta fase.
- Transición: todas las interfaces entre los módulos independientes desarrollados por equipos separados deben probarse correctamente. El uso de subpartes y herramientas altamente automatizadas facilita las pruebas. A esto le sigue una prueba de aceptación por parte del usuario.
El proceso implica construir un prototipo rápido, entregarlo al cliente y recibir comentarios. Después de la validación por parte del cliente, se desarrolla el documento SRS y se finaliza el diseño.
¿Cuándo usar el modelo RAD?
Cuando el cliente tiene requisitos bien conocidos, el usuario está involucrado a lo largo del ciclo de vida, el proyecto se puede delimitar en el tiempo, la funcionalidad se entrega en incrementos, no se requiere un alto rendimiento, los riesgos técnicos son bajos y el sistema se puede modular. En estos casos, podemos utilizar el Modelo RAD.
ventajas:
- El uso de componentes reutilizables ayuda a reducir el tiempo de ciclo del proyecto.
- La retroalimentación del cliente está disponible en las etapas iniciales.
- Costos reducidos ya que se requieren menos desarrolladores.
- El uso de poderosas herramientas de desarrollo da como resultado productos de mejor calidad en períodos de tiempo comparativamente más cortos.
- El progreso y desarrollo del proyecto se puede medir a través de las distintas etapas.
- Es más fácil adaptarse a los requisitos cambiantes debido a los cortos períodos de iteración.
Desventajas:
- El uso de herramientas potentes y eficientes requiere de profesionales altamente calificados.
- La ausencia de componentes reutilizables puede llevar al fracaso del proyecto.
- El líder del equipo debe trabajar en estrecha colaboración con los desarrolladores y clientes para cerrar el proyecto a tiempo.
- Los sistemas que no se pueden modularizar adecuadamente no pueden utilizar este modelo.
- La participación del cliente es necesaria durante todo el ciclo de vida.
- No está diseñado para proyectos a pequeña escala, ya que en tales casos, el costo de usar herramientas y técnicas automatizadas puede exceder el presupuesto total del proyecto.
Aplicaciones:
- Este modelo debe usarse para un sistema con requisitos conocidos y que requiera un tiempo de desarrollo corto.
- También es adecuado para proyectos donde los requisitos se pueden modularizar y los componentes reutilizables también están disponibles para el desarrollo.
- El modelo también se puede usar cuando los componentes del sistema ya existentes se pueden usar para desarrollar un nuevo sistema con cambios mínimos.
- Este modelo solo se puede utilizar si los equipos están formados por expertos en el dominio. Esto se debe a que el conocimiento relevante y la capacidad de usar técnicas poderosas son una necesidad.
- El modelo debe elegirse cuando el presupuesto permita el uso de las herramientas y técnicas automatizadas requeridas.