El desarrollo rápido de aplicaciones (RAD, de sus siglas en inglés Rapid Application Development) describe un método de desarrollo de software que hace mucho hincapié en la creación rápida de prototipos y la entrega iterativa. El modelo RAD es, por lo tanto, una alternativa nítida al modelo típico de desarrollo en cascada (que es el modelo más usado tradicionalmente), que suele enfocarse en hacer una planificación secuencial. Fue introducido por primera vez en 1991 en el libro de James Martin con el mismo nombre , el desarrollo rápido de aplicaciones se ha convertido en uno de los métodos de desarrollo más populares y potentes, que se incluye en la categoría de técnicas de desarrollo ágil. Este mismo autor señala que los 4 ingredientes principales de RAD son: Personas, herramientas, metodología y gestión.
Quizás la mayor ventaja del desarrollo rápido de aplicaciones es su sinergia inherente con los requisitos del medio: el software. Mientras que otras formas de creación, como un rascacielos imponente o un automóvil nuevo y elegante, requieren una planificación meticulosa y un desarrollo lógico, la esencia misma del software es su constante evolución. Dado que el código en sí mismo, y por extensión, el software que se alimenta con dicho código, puede transformarse rápida y fácilmente durante el desarrollo, el software es inherentemente adaptable y se presta a la iteración y la experimentación.
Al utilizar un método rápido de desarrollo de aplicaciones, los diseñadores y desarrolladores pueden utilizar agresivamente el conocimiento y los descubrimientos obtenidos durante el proceso de desarrollo para dar forma al diseño o alterar completamente la dirección del software.
A continuación, exploraremos algunos de los usos principales del desarrollo rápido de aplicaciones, tanto en escenarios históricos como teóricos, así como también analizaremos los pros y los contras de este atractivo método de creación de software.
Pasos o Fases de la metodología RAD
Comenzar con el desarrollo rápido de aplicaciones generalmente sigue un proceso cíclico que incluye cuatro pasos básicos:
- Planificación de requerimientos: durante esta etapa inicial, los diseñadores, desarrolladores y usuarios llegan a un acuerdo aproximado sobre el alcance del proyecto y los requisitos de la aplicación, para que puedan comenzar las etapas futuras con creación de prototipos.
- Diseño con el usuario: los comentarios de los usuarios se recopilan con gran énfasis en la determinación de la arquitectura del sistema. Esto permite crear modelos y prototipos iniciales. Este paso se repite tantas veces como sea necesario a medida que el proyecto evoluciona.
- Construcción: una vez que ha comenzado el diseño básico del usuario y del sistema, la fase de construcción es donde se lleva a cabo la mayor parte de la codificación, las pruebas y la integración reales de la aplicación. Junto con el diseño del usuario, la fase de construcción rápida se repite tantas veces como sea necesario, a medida que se requieran nuevos componentes o se realicen modificaciones para satisfacer las necesidades del proyecto.
- Transicción: la etapa final de Transicción (o Cutover) le permite al equipo de desarrollo tiempo para mover los componentes a un entorno de producción en vivo, donde se pueden llevar a cabo todas las pruebas necesarias o la capacitación del equipo.
La interfaz de usuario
En los métodos de desarrollo de software lento y metódico, recibir comentarios útiles y concretos de los usuarios ha sido intrínsecamente difícil, costoso y lento. Las largas reuniones y las llamadas telefónicas, e incluso los documentos de diseño más largos, eran un mal necesario para diseñar incluso los planes concretos más básicos del diseño de software adecuado. Con los métodos típicos de cascada, los comentarios rudimentarios de los usuarios a menudo duraban muchos meses, si no años, en el futuro, después de que toda la planificación y la mayor parte del desarrollo habían tenido lugar.
En marcado contraste, uno de los mayores beneficios para el desarrollo rápido de aplicaciones es la capacidad de recibir comentarios de usuarios que interactúan directamente con la aplicación durante el desarrollo y la creación de prototipos. Si bien esta ventaja es más visible dentro de los componentes UI / UX del sistema, el diseño iterativo intrínsecamente significa que la retroalimentación del usuario puede estar a la vanguardia del proceso.
El prototipado
Si bien varias formas de RAD enfatizan conceptos y metodologías de diseño ligeramente diferentes, una inclusión común en la mayoría de los sistemas de RAD es el uso intensivo de prototipos. Como alternativa a las especificaciones de diseño de mano dura, el uso de prototipos a lo largo del ciclo de desarrollo proporciona una serie de beneficios únicos:
- Participación del usuario: a diferencia de un modelo de cascada tradicional, que requiere que el equipo de diseño discuta con los usuarios qué funciones o implementaciones pueden ser necesarias y planifique las especificaciones en torno a esas ideas, un prototipo rápido permite a los usuarios utilizar el software y proporcionar comentarios sobre un sistema en vivo en lugar de intentar proporcionar evaluaciones abstractas de un documento de diseño.
- Viabilidad: la creación de prototipos permite al equipo de desarrollo evaluar rápidamente la viabilidad de un componente particularmente complejo o arriesgado desde el principio. Al reconocer y trabajar en sistemas complicados al principio del ciclo de vida del desarrollo, el software será más robusto, menos propenso a errores y mejor estructurado para futuras adiciones de diseño.
- Reducción de errores y depuración: con los lanzamientos rápidos de prototipos durante un proyecto, es mucho más probable que los errores se descubran (y luego se aplasten) mucho antes en el ciclo de desarrollo que con un enfoque típico en cascada.
Ventajas de RAD
Si bien hay un número de beneficios al usar un método rápido de desarrollo de aplicaciones, estos son algunos de los más importantes al considerar si RAD es la opción correcta para su próximo proyecto:
- Progreso medible: con frecuentes iteraciones, componentes y prototipos que se despliegan, el progreso en el proyecto en general, así como segmentos menores, se pueden medir y evaluar fácilmente para mantener los cronogramas y presupuestos.
- Generar rápidamente un código productivo: a medida que un mayor porcentaje de desarrolladores de software activos pasan a roles multidisciplinares, una metodología RAD permite a los miembros de equipos expertos producir rápidamente prototipos y códigos de trabajo para ilustrar ejemplos que de otra manera podrían tomar semanas o más.
- Compartimentación de los componentes del sistema: de la misma manera que las prácticas de programación orientadas a objetos mantienen a los objetos y componentes en cuarentena entre sí, RAD tiene inherentemente el mismo impacto beneficioso en los componentes generados durante el desarrollo. Al obligar a los diseñadores y desarrolladores a crear componentes que sean funcionales e independientes por sí mismos, para ser utilizados en una versión o prototipo iterativo, cada elemento dentro del sistema de software general se divide en compartimientos y, por lo tanto, se modifica fácilmente a medida que las necesidades del software o del usuario evolucionan.
- Comentarios rápidos y constantes de los usuarios: como se explicó anteriormente, obtener comentarios relevantes de los usuarios durante el desarrollo es invaluable. Las metodologías de RAD permiten una interacción y retroalimentación casi constantes de los usuarios a través de iteraciones frecuentes y lanzamientos de prototipos, lo que proporciona a todo el equipo una evaluación y una crítica invaluables cuando más se necesitan.
- Integración temprana de sistemas: mientras que la mayoría de los proyectos de software de método de cascada deben, por su propia naturaleza, esperar hasta el final del ciclo de vida para comenzar las integraciones con otros sistemas o servicios, una aplicación desarrollada rápidamente se integra casi de inmediato. Al requerir integraciones tempranas dentro de un prototipo, un sistema RAD identifica rápidamente cualquier error o complicación dentro de las integraciones y fuerza resoluciones inmediatas.
- Adaptabilidad simple: durante el desarrollo, el software es una forma bastante maleable. Dado que se puede cambiar el código que altera dramáticamente todo el sistema o genera nuevos componentes, es una ventaja para el equipo de desarrollo hacer uso de esta flexibilidad de manera temprana y frecuente, mediante la iteración y creación de prototipos de conceptos o ideas potenciales durante todo el desarrollo.
Desventajas de RAD
Ningún método de desarrollo de software se salva de tener desventajas y RAD no es diferente. Si bien los beneficios generalmente superan las desventajas, examinaremos algunos de los obstáculos más probables al implementar RAD en un nuevo proyecto.
- Requiere sistemas modulares: dado que cada componente dentro del sistema debe ser iterable y verificable por sí mismo, el diseño general del sistema cuando se usa RAD requiere que cada componente sea modular, lo que permite que los elementos sean intercambiados o alterados por una variedad de miembros del equipo. .
- Dificultad dentro de proyectos a gran escala: si bien los métodos de desarrollo rápido de aplicaciones llevan a una flexibilidad mucho mayor durante el proceso de diseño y desarrollo, también tenderá a reducir el control y las restricciones. Si bien esto no es intrínsecamente negativo, la administración adecuada de esta flexibilidad y volatilidad adicionales dentro del alcance de todo el proyecto puede ser difícil para aplicaciones más grandes.
- Exige mucha interactividad del usuario: obtener información y opiniones de los usuarios temprano y con frecuencia es sin duda un beneficio desde la perspectiva del diseño, pero esta espada de doble filo requiere que el equipo esté dispuesto y sea capaz de comunicarse con los usuarios de forma mucho más frecuente, en comparación a un método típico de desarrollo de cascada.
- Depende de los desarrolladores expertos: si bien muchos desarrolladores en estos días son multidisciplinarios, vale la pena señalar que el uso de las técnicas de RAD requiere una mayor habilidad general en todo el equipo de desarrollo, a fin de adaptarse rápidamente a medida que el sistema y los componentes evolucionan.
adilene says
muy buena gracias me sirvió para una tarea 🙂
Chalatenango says
hola que pex,soy de chalate salu2
PrinceMage says
Productivos mas pronto: La metodologia DRA permitira a los desarrolladores adoptar roles multidisciplinares que creen prototipos y codigos de trabajo de forma rapida, lo que supone ser productivos mas rapido.
Director_2022 says
Rapid Framework es una coleccion de bibliotecas, metodos, clases y objetos reutilizables que siguen el paradigma de desarrollo rapido de aplicaciones. Los marcos RAD ayudan a los desarrolladores a ahorrar tiempo al organizar y optimizar su trabajo. Los marcos ahorran tiempo al eliminar la necesidad de crear bibliotecas y metodos desde cero. los clientes y el equipo del proyecto establecen los objetivos del sistema futuro en esta fase. El enfasis esta en lograr objetivos comerciales, y los criterios son relativamente amorfos. Es crucial poder alterarlos o cambiarlos a lo largo de la etapa de prototipo.