Ticona Condori Shirley Fabiola 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 Ticona Condori Shirley Fabiola 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: Ticona Condori Shirley Fabiola TABLA COMPARATIVA Metodo odollogí gíaa de datos Metodo odollogí gíaa de Procesos Descripción Metodología XP Nace en busca de simplificar el desarrollo del software y que se lograra reducir el costo del proyecto. Planificación Diseño Codificación Pruebas Especificación de casos de uso Diagrama de clases Diagrama de casos de uso Tabla de requerimientos Historias de usuario Metodología RUP Metodología para juegos Metodología para Aplicaciones Móviles Forma disciplinada dePara el desarrollo de La cantidad de móviles que se están asignar tareas yun juego hacemos la vendiendo actualmente dan un cambio responsabilidades en utilización de drástico a la industria de las aplicaciones una empresa demetodologías agiles. móviles, consiguiendo expandir el uso de desarrollo (quién hace dichas aplicaciones y servicios qué, cuándo y cómo). comercialmente. Análisis y diseño Requerimiento Prueba Desarrollo Casos de Uso Paquetes Modelo Conceptual Contratos Diagrama de secuencias Metodología para aplicaciones en Educación Las metodologías convencionales de Ingeniería de Software Educativo (ISE) tienen mecanismos robustos para hacer un análisis de necesidades y diseño educativo completo. Requisitos Análisis Diseño preliminar Diseño detallado Codificación Pruebas. Evaluación de necesidades Guion grafico Flujo UML. Cliente/Servidor Diseño Desarrollo en línea/fuera de línea Prueba Proceso de firma Distribución de aplicaciones Actualizaciones regulares Análisis, diseño educativo y comunicacional. Prueba piloto. Prueba de campo. Diseño Desarrollo Diagrama de casos de uso Tabla de requerimientos Estructura de la aplicación Navegación de botones y paginas Flujo de las páginas en el ámbito de la aplicación. Experiencias de usuario Diseño de objetos bajo criterios de pantalla táctil y teclado Soporte multiresolución Definición formal de cada pantalla Objetivo Eventos del modelo del mundo que está en capacidad de detectar Diagrama de la pantalla, indicando cuáles objetos tiene y dónde están ubicados. Listado de las características tanto de la pantalla como de cada objeto Enlaces con otros elementos de la interfaz. Notas adicionales. Diagrama de flujo de información en la Interfaz. Ticona Condori Shirley Fabiola 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. Ticona Condori Shirley Fabiola COMPARACION ENTRE METODOLOGIAS AGILES Y TRADICIONALES Enfoque Éxito de Medición Tamaño del proyecto Estilo de gestión Perspectiva para el Cambio Cultura Documentación Énfasis Ciclos Dominio Planificación por adelantado Retorno de la Inversión Tamaño del equipo Métodos Ágiles Adaptación Valor del Negocio pequeño Descentralizada Cambio y Adaptabilidad Liderazgo-Colaboración Bajo Orientada a las personas Muchos Impredecible exploratorio Mínimo A principios de Proyecto Pequeños / Creatividad Met Metodologías Ágile Ágiles iles Basadas en heurísticas provenientes de prácticas de producción de código Especialmente preparados para cambios durante el proyecto Impuestas internamente (por el equipo) Proceso menos controlado, con pocos principios No existe contrato tradicional o al menos es bastante flexible El cliente es parte del equipo de desarrollo Grupos pequeños (<10 integrantes) y trabajando en el mismo sitio Pocos artefactos Pocos roles Menos énfasis en la arquitectura del software Métodos Tradicionales Predictivo Conformación de planificar grande Autocrático Cambio y Sostenibilidad Comandos de control Pesado Orientado a los procesos Limitado Previsible Exhaustivo Fin de Proyecto Grande Metodo odologí ogías Tradiciona onales Basadas en normas provenientes de estándares seguidos por el entorno de desarrollo Cierta resistencia a los cambios Impuestas externamente Proceso mucho más controlado, con numerosas políticas/normas Existe un contrato prefijado El cliente interactúa con el equipo de desarrollo mediante reuniones Grupos grandes y posiblemente distribuidos Más artefactos Más roles La arquitectura del software es esencial y se expresa mediante modelos Ticona Condori Shirley Fabiola METODOLOGIAS PARA APLI PLICACIONE IONES WEB