El documento define RAD (Desarrollo Rápido de Aplicaciones) como un proceso de desarrollo de software que permite construir sistemas utilizables en poco tiempo, normalmente entre 60 y 90 días, aunque a veces con concesiones en la calidad. Describe algunas características clave de RAD como el uso de equipos híbridos, herramientas especializadas, prototipos iterativos y el "timeboxing".
2. Definición de RAD
Desarrollo Rápido de Aplicaciones
Proceso de desarrollo de software que
permite construir sistemas utilizables en
poco tiempo, normalmente de 60 a 90
días, frecuentemente con algunas
concesiones.
3. Hoy en día se suele utilizar para referirnos al
desarrollo rápido de interfaces gráficas de usuario
tales como Glade, o entornos de desarrollo
integrado completos.
Algunas de las plataformas más conocidas son
Visual Studio, Lazarus, Gambas, Delphi,Foxpro ,
Anjuta, Game Maker, Velneo o Clarion.
En
ciertas situaciones, una solución utilizable al 80%
puede producirse en el 20% de tiempo que se
hubiera requerido para la solución completa.
4. En el área de la autoría multimedia, software como
Neosoft Neoboo y MediaChance Multimedia
Builder proveen plataformas de desarrollo rápido
de aplicaciones, dentro de ciertos límites.
El método comprende el desarrollo interactivo, la
construcción de prototipos y el uso de utilidades
CASE (Computer Aided Software Engineering).
Tradicionalmente, el desarrollo rápido de
aplicaciones tiende a englobar también la
usabilidad, utilidad y la rapidez de ejecución.
5. ¿Por qué usar RAD?
Malas razones
Prevenir presupuestos rebasados (RAD necesita un
equipo disciplinado en manejo de costos).
Prevenir incumplimiento de fechas (RAD necesita
un equipo disciplinado en manejo de tiempo).
Buenas razones
Convergir tempranamente en un diseño aceptable
para el cliente y posible para los desarrolladores.
Limitar la exposición del proyecto a las fuerzas de
cambio.
Ahorrar tiempo de desarrollo, posiblemente a
expensas de dinero o de calidad del producto.
6. Las concesiones determinan el ritmo de desarrollo
Desarrollo eficiente: equilibra calendario, presupuesto
y calidad.
Calendario: más rápido que el promedio
Presupuesto: cuesta menos que el promedio
Calidad: mejor calidad que el promedio
RAD razonable: inclina la balanza hacia el tiempo más
corto.
Calendario: mucho más rápido que el promedio
Presupuesto: cuesta poco menos que el promedio
Calidad: calidad poco mejor que el promedio
RAD a fondo: "programar a lo bestia".
Calendario: más corto posible
Presupuesto: cuesta más que el promedio
Calidad: menor calidad que el promedio
7. Características de RAD
Equipos Híbridos
Herramientas Especializadas
"Timeboxing“
Prototipos Iterativos y Evolucionarios.
8. Equipos Híbridos
Equipos compuestos por alrededor de
seis personas, incluyendo desarrolladores
y usuarios de tiempo completo del
sistema así como aquellas personas
involucradas con los requisitos.
Losdesarrolladores de RAD deben ser
"renacentistas": analistas, diseñadores y
programadores en uno.
9. Herramientas Especializadas
Desarrollo "visual"
Creación de prototipos falsos (simulación
pura)
Creación de prototipos funcionales
Múltiples lenguajes
Calendario grupal
Herramientas colaborativas y de trabajo en
equipo
Componentes reusables
Interfaces estándares (API)
Control de versiones
10. El Facilitador
Mantiene al grupo enfocado:Tiene claras
las metas sobre la información que se
necesita recabar.
Prepara una agenda de asuntos antes de la
reunión.
Asegura que la discusión adecuada cubra
cada asunto.
Asegura que todos participen.
Escribe un reporte al final de la reunión.
11. Con la aparición de lenguajes visuales en donde
se arrastran controles en lugar de tener que
especificar las posiciones por código, snippets
(pequeños trozos de código prefabricado, para
realizar actividades especificas y repetitivas) que
obviamente reducen el tiempo de diseño de los
componentes individuales se genera confusión
respecto a lo que es RAD.
Máxime que la mayoría ofrecen precisamente
programación más rápida.
12. Calidad: según lo definido por el RAD, es el grado
al cual un uso entregado resuelve las necesidades
de usuarios así como el grado al cual un sistema
entregado tiene costes de mantenimiento bajos.
El RAD aumenta calidad con la implicación del
usuario en las etapas del análisis y del diseño.
El RAD tiene dos desventajas primarias:
Características reducidas.
Escalabilidad reducida: debido a que el RAD se
desarrolló como prototipo.
13. Herramientas RAD Multiplataforma NetBeans
Revolution Studio Es una avanzada herramienta
cross-platform RAD que deriva ejecutables sobre
Windows, Linux, Solaris, MacOS X Universal Binary
and MacOS Classic.
Otradesventaja sobre el desarrollo de aplicaciones
RAD es que el programador se centra mas en el
diseño (vista que va a tener la aplicación) así
dejando como secundario el problema que quería
ayudar a solucionar con dicha aplicación
14. Bibliografía:
Gonzalo Mena Mendoza
http://mena.com.mx/gonzalo/maestria/ings
oft/presenta/rad/