Metodologias Agiles de Desarrollo de Software

Get Started. It's Free
or sign up with your email address
Metodologias Agiles de Desarrollo de Software by Mind Map: Metodologias Agiles de Desarrollo de Software

1. Tipos de metodologias * Extreme Programming (XP) * Scrum * Adaptive Software Development (ASD) * Crystal Clear y otras metodologías de la familiaCrystal * DSDM * Feature Driven Development * Lean software development

2. Ventajas · Evaluación en cada fase que permite cambios de objetivos · Funciona bien en proyectos de innovación. · Es sencillo, ya que sigue los pasos intuitivos necesarios a la hora de desarrollar el software. · Seguimiento detallado en cada una de las fases.

3. Desventajas · La evaluación de riesgos es compleja · Excesiva flexibilidad para algunos proyectos · Estamos poniendo a nuestro cliente en una situación que puede ser muy incómoda para él. · Nuestro cliente deberá ser capaz de describir y entender a un gran nivel de detalle para poder acordar un alcance del proyecto con él.

4. Extreme Programming (XP) - Es el más destacado de los procesos ágiles de desarrollo de software. Al igual que éstos, la programación extrema se diferencia de las metodologías tradicionales principalmente en que pone más énfasis en la adaptabilidad que en la previsibilidad. Los defensores de la XP consideran que los cambios de requisitos sobre la marcha son un aspecto natural, inevitable e incluso deseable del desarrollo de proyectos. Creen que ser capaz de adaptarse a los cambios de requisitos en cualquier punto de la vida del proyecto es una aproximación mejor y más realista que intentar definir todos los requisitos al comienzo del proyecto e invertir esfuerzos después en controlar los cambios en los requisitos.

5. Scrum - Es el nombre con el que se denomina a los marcos de desarrollo ágiles caracterizados por: Adoptar una estrategia de desarrollo incremental, en lugar de la planificación y ejecución completa del producto. Basar la calidad del resultado más en el conocimiento tácito de las personas en equipos autoorganizados, que en la calidad de los procesos empleados. Solapamiento de las diferentes fases del desarrollo, en lugar de realizar una tras otra en un ciclo secuencial o de cascada.

6. DSDM (Método de desarrollo de sistemas dinámicos) - Como extensión del Desarrollo rápido de aplicaciones (RAD), DSDM se centra en los proyectos de sistemas de información que son caracterizados por presupuestos y agendas apretadas. DSDM trata los problemas que ocurren con frecuencia en el desarrollo de los sistemas de información en lo que respecta a pasar sobre tiempo y presupuesto y otras razones comunes para la falta en el proyecto tal como falta de implicación del usuario y de la comisión superior de la gerencia.

7. Lean software development - La filosofía Lean dicta que debes tener un equipo muy preparado, muy motivado y muy unido. Los activos más importantes a tener en cuenta cuando estás desarrollando un proyecto bajo Lean Development no son el tiempo o el dinero que estás invirtiendo sino el grado de compromiso y, sobre todo, cuánto está aprendiendo tu equipo. Se considera que cuanto más hayan aprendido los miembros del equipo y más unidos se sientan, la cantidad de tiempo y dinero necesaria para llevar a cabo los desarrollos será cada vez menor.

8. Crystal Methodologies - Se trata de un conjunto de metodologías para el desarrollo de software caracterizadas por estar centradas en las personas que componen el equipo y la reducción al máximo del número de artefactos producidos. Han sido desarrolladas por Alistair Cockburn. El desarrollo de software se considera un juego cooperativo de invención y comunicación, limitado por los recursos a utilizar. El equipo de desarrollo es un factor clave, por lo que se deben invertir esfuerzos en mejorar sus habilidades y destrezas, así como tener políticas de trabajo en equi

9. ASD (Adaptive Software Development) - Es una metodología impulsada por Jim Highsmith que incorpora el principio de la adaptación continua, o sea, adaptarse al cambio y no luchar contra él. En ella no hay un ciclo de vida estático (planear-diseñar-construir), si no que ofrece un ciclo de vida iterativo, donde cada ciclo puede ser modificado al tiempo que otro es ejecutado.

10. FDD (Feature Driven Development) - se enfoca en iteraciones cortas que entregan funcionalidad tangible. Dicho enfoque no hace énfasis en la obtención de los requerimientos sino en como se realizan las fases de diseño y construcción. Sin embargo, fue diseñado para trabajar con otras actividades de desarrollo de software y no requiere la utilización de ningún modelo de proceso específico. Además, hace énfasis en aspectos de calidad durante todo el proceso e incluye un monitoreo permanente del avance del proyecto. Al contrario de otras metodologías, FDD afirma ser conveniente para el desarrollo de sistemas críticos.