COMPARACIÓN DE METODOLOGÍAS METODOLOGÍA TRADICIONAL. Teniendo en cuenta la filosofía de desarrollo de las metodologías, aquellas con mayor énfasis en la planificación y control del proyecto, en especificación precisa de requisitos y modelado, reciben el apelativo de Metodologías Tradicionales o Pesadas. Estas metodologías tradicionales imponen una disciplina de trabajo sobre el proceso de desarrollo del software, con el fin de conseguir un software más eficiente. Para ello, se hace énfasis en la planificación total de todo el trabajo a realizar y una vez que está todo detallado, comienza el ciclo de desarrollo del producto software. Se centran especialmente en el control del proceso, mediante una rigurosa definición de roles, actividades, artefactos, herramientas y notaciones para el modelado y documentación detallada [42]. Además, las metodologías tradicionales no se adaptan adecuadamente a los cambios, por lo que no son métodos adecuados cuando se trabaja en un entorno, donde los requisitos no pueden predecirse o bien pueden variar. Entre las metodologías tradicionales o pesadas podemos citar: RUP (Rational Unified Procces) MSF (Microsoft Solution Framework) Win-Win Spiral Model Iconix En el caso particular de RUP, presenta un especial énfasis en cuanto a su adaptación a las condiciones del proyecto (mediante su configuración previa a aplicarse), realizando una configuración adecuada, podría considerarse Ágil.
METODOLOGÍAS ÁGILES. Un modelo de desarrollo ágil, generalmente es un proceso Incremental, (pequeños y frecuentes releases o entregas con ciclos rápidos), también Cooperativo (Clientes y desarrolladores trabajan constantemente con una comunicación muy fina y constante), sencillo (El método es fácil de aprender y modificar para el equipo, es bien documentado por medio de libros o la Web) y finalmente adaptativo (capaz de permitir cambios de último momento). Las metodologías ágiles proporcionan una serie de pautas y principios junto a técnicas pragmáticas que puede que no curen todos los males pero harán la entrega del proyecto menos complicada y más satisfactoria tanto para los clientes como para los equipos de entrega. Entre las metodologías ágiles más destacadas hasta el momento se pueden nombrar: XP (Extreme Programming) Scrum Crystal Clear DSDM (Dynamic Systems Developmemt Method) FDD (Feature Driven Development) ASD (Adaptive Software Development) XBreed Extreme Modeling XP es uno de los métodos más representativos dentro de las metodologías llamadas ligeras que lleva al extremo las prácticas para la consecución de sistemas funcionales y que cumplan las características del usuario cliente, surge como respuesta a la sobre planificación a la hora de generar software. Está basada en la simplicidad, la comunicación, la retroalimentación y la refactorización de código.
También existen metodologías para el desarrollo de Juegos, Aplicaciones móviles y educativos; estos en su mayoría tienen un desarrollo igual al de una metodología ágil o en algunos casos reutiliza las metodologías tradicionales. En nuestra siguiente tabla realizaremos una comparación de las metodologías:
Metodologías ágiles vs Metodologías tradicionales Metodología Ágil Metodología tradicional Metodología educativa Metodología Aplicaciones móviles Metodología para juegos Scrum OMT MDAEAM HMD general Object Modeling Metodología para el (Hybrid Methodology Technique es una desarrollo de aplicaciones Design) se apoya en una metodología de análisis educativas en ambientes combinación del desarrollo y diseño orientada a multimedios. adaptativo de software objetos. (Adaptive Software Scrum es una metodología de desarrollo ágil basado en procesos iterativos e incrementales. Tres fases fundamentales: Antes de partido * Planeación * Arquitectura del sistema/ de alto nivel En el partido Sprints (Ingeniería concurrente) - Desarrollar (Análisis,, Desarrollo) - Envolver - Ajustar - Revisar Después del partido Clausura Analisis de objetos Descripción del problema Modelo de objetos Modelo dinámico Modelo funcional del sistema de objetos implementación Investigación y análisis Objetivos Identificación de objetos y procesos Identificación de utilización y usuario Lógico Funcional Físico Desarrollo Herramientas multimedia Documentación Evaluación de prototipo Implantación, producción y entrenamiento Development, ASD) y el diseño de nuevos productos. Análisis Análisis preliminar Análisis detallado arquitectónico detallado Implementación Pruebas Pruebas de mercadeo Transición Comercialización El desarrollo de videojuegos tiene un proceso similar a la creación de software en general, aunque difiere en la gran cantidad de aportes creativos (música, historia, diseño de personajes, niveles, etc) necesarios. Historia Arte conceptual Sonido Mecánica de juego programación Planificación Producción Programación Ilustración Interfaz Modelado de y
animación 3D de sonido Producción Mantenimiento TABLA COMPARATIVA Mientras que el RUP intenta reducir la complejidad del software por medio de estructura y la preparación de las tareas pendientes en función de los objetivos de la fase y actividad actual, XP, como toda metodología ágil, lo intenta por medio de un trabajo orientado directamente al objetivo, basado en las relaciones Interpersonales y la velocidad de reacción.
Tabla de Resumen
Datos Interesantes
Métodos Ágiles Métodos Tradicionales Enfoque Adaptación Predictivo Éxito de Medición Valor del Negocio Conformación de planificar Tamaño del proyecto pequeño grande Estilo de gestión Descentralizada Autocrático Perspectiva para el Cambio Cambio y Adaptabilidad Cambio y Sostenibilidad Cultura Liderazgo-Colaboración Comandos de control Documentación Bajo Pesado Énfasis Orientada a las personas Orientado a los procesos Ciclos Muchos Limitado Dominio Impredecible exploratorio Previsible Planificación por adelantado Mínimo Exhaustivo Retorno de la Inversión A principios de Proyecto Fin de Proyecto Tamaño del equipo Pequeños / Creatividad Grande