Professional Documents
Culture Documents
Pgina 1
Artculo Original
Rapid Application Development
Walter Maner
15 de marzo de 1997 http://csweb.cs.bgsu.edu/maner/domains/RAD.htm
Definicin de RAD
Proceso de desarrollo de software que permite construir sistemas utilizables en poco tiempo, normalmente de 60 a 90 das, frecuentemente con algunas concesiones.
http://www.mena.com.mx/gonzalo/maestria/ingsoft/presenta/rad/
Pgina 2
Buenas razones
Convergir tempranamente en un diseo aceptable para el cliente y posible para los desarrolladores. Limitar la exposicin del proyecto a las fuerzas de cambio. Ahorrar tiempo de desarrollo, posiblemente a expensas de dinero o de calidad del producto.
Caractersticas de RAD
Equipos Hbridos Herramientas Especializadas "Timeboxing" Prototipos Iterativos y Evolucionarios.
http://www.mena.com.mx/gonzalo/maestria/ingsoft/presenta/rad/
Pgina 3
Equipos Hbridos
Equipos compuestos por alrededor de seis personas, incluyendo desarrolladores y usuarios de tiempo completo del sistema as como aquellas personas involucradas con los requisitos. Los desarrolladores de RAD deben ser "renacentistas": analistas, diseadores y programadores en uno.
Herramientas Especializadas
Desarrollo "visual" Creacin de prototipos falsos (simulacin pura) Creacin de prototipos funcionales Mltiples lenguajes Calendario grupal Herramientas colaborativas y de trabajo en equipo Componentes reusables Interfaces estndares (API) Control de versiones
"Timeboxing"
Las funciones secundarias son eliminadas como sea necesario para cumplir con el calendario.
El Facilitador
Mantiene al grupo enfocado: Tiene claras las metas sobre la informacin que se necesita recabar. Prepara una agenda de asuntos antes de la reunin. Asegura que la discusin adecuada cubra cada asunto. Asegura que todos participen. Escribe un reporte al final de la reunin.
http://www.mena.com.mx/gonzalo/maestria/ingsoft/presenta/rad/
Pgina 4
Restricciones Importantes
El "ajuste a un propsito de negocios" tiene que ser el criterio de aceptacin de los entregables. Todas las areas que pueden afectar los requisitos debe estar involucradas a lo largo del proceso. Clientes, desarrolladores y gerencia deben aceptar entregables informales: Prototipos en papel en lugar de sistemas a gran escala. Notas de las reuniones con usuarios en lugar de documentos de requisitos formales. Notas de las reuniones de los diseadores en lugar de documentos de diseo formales. Principio: crear el mnimo de documentacin necesaria para facilitar el desarrollo futuro y el mantenimiento. El equipo de desarrollo tiene que poder tomar decisiones tradicionalmente dejadas a la gerencia. La escala de tiempo de punta a punta tiene que ser de seis meses o menos. La iteracin debe usarse de manera que se converja a una solucin de negocio aceptable. Los prototipos tienen que incorporar rapidamente los requisitos en evolucin, en tiempo real, y lograr consenso pronto. Debe haber una tendencia a "comprar antes que contruir".
Ventajas de RAD
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Comprar puede ahorrar dinero en comparacin con construir. Los entregables pueden ser facilmente trasladados a otra plataforma. El desarrollo se realiza a un nivel de abstraccin mayor. Visibilidad temprana. Mayor flexibilidad. Menor codificacin manual. Mayor involucramiento de los usuarios. Posiblemente menos fallas. Posiblemente menor costo. Ciclos de desarrollo ms pequeos. Interfaz grfica estndar.
http://www.mena.com.mx/gonzalo/maestria/ingsoft/presenta/rad/
Pgina 5
Desventajas de RAD
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Comprar puede ser ms caro que construir. Costo de herramientas integradas y equipo necesario. Progreso ms difcil de medir. Menos eficiente. Menor precisin cientfica. Riesgo de revertirse a las prcticas sin control de antao. Ms fallas (por sndrome de "codificar a lo bestia"). Prototipos pueden no escalar, un problema maysculo. Funciones reducidas (por "timeboxing"). Dependencia en componentes de terceros: funcionalidad de ms o de menos, problemas legales. Requisitos que no convergen. Interfaz grfica estndar. Difcil de repetir experiencias exitosas. Funciones no deseadas.
Resumen
"Con el fin de asegurar gran interaccin, los proyectos se disean con calendarios fijos y se sacrifica la funcionalidad si es necesario. Esto permite que el equipo de desarrollo se enfoque en las piezas de funcionalidad que tienen el mayor valor de negocio y en entregar dicha funcionalidad rpidamente. Los cambios son frecuentemente la razn de los retrasos en el desarrollo de una aplicacin. En los largos procesos lineales de desarrollo, los cambios en los requisitos funcionales o en el alcance del proyecto, particularmente cuando gran cantidad de tiempo se ha invertido en la planeacin, diseo, desarrollo y pruebas, provocan que se pierdan meses de trabajo y se incurra en grandes gastos por rediseo y redesarrollo. RAD ataca la infiltracin de cambios de alcance y requisitos al limitar la exposicin del proyecto al cambio, acortando el ciclo de desarrollo y limitando el costo de los cambios al incorporarlos desde el inicio, antes de que grandes inversiones se hayan hecho en desarrollo y pruebas." -Sun Microsystems
http://www.mena.com.mx/gonzalo/maestria/ingsoft/presenta/rad/