Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Metodologías ágiles

No description
by

Nedlles Poet

on 10 March 2015

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Metodologías ágiles

Metodologías ágiles
Equipo 3
GOAL!
Thank you!
¿Qué es una metodología ágil?
El desarrollo ágil de software son métodos de ingeniería del software basados en el desarrollo iterativo e incremental, donde los requerimientos y soluciones evolucionan mediante la colaboración de grupos auto organizados y multidisciplinarios.
Capacidad de respuesta a cambios de requisitos a lo largo del desarrollo

Entrega continua y en plazos breves de software funcional

Trabajo conjunto entre el cliente y el equipo de desarrollo

Importancia de la simplicidad, eliminado el trabajo innecesario

Existen muchos métodos de desarrollo ágil; la mayoría minimiza riesgos desarrollando software en lapsos cortos. El software desarrollado en una unidad de tiempo es llamado una iteración, la cual debe durar de una a cuatro semanas. Cada iteración del ciclo de vida incluye: planificación, análisis de requerimientos, diseño, codificación, revisión y documentación
Características mas importantes
• La mayoría minimiza riesgos desarrollando software en cortos lapsos de tiempo

• Las metodologías ágiles de desarrollo están especialmente indicadas en proyectos con requisitos poco definidos o cambiantes.


• Atención continua a la excelencia técnica y al buen diseño

• Mejora continua de los procesos y el equipo de desarrollo
Tipos de metodologías ágiles
Adaptive Software Development (ASD)
Agile Unified Process (AUP)
Crystal Clear
Feature Driven Development (FDD)
Lean Software Development (LSD)
Kanban
Open Unified Process (OpenUP)
Programación Extrema (XP)
Método de desarrollo de sistemas dinámicos (DSDM)
Scrum
G300
ASD (ADAPTIVE SOFTWARE DEVELOPMENT)
El método ágil ASD (Adaptive Software Development) traducido en español significa Desarrollo Adaptable de Software es un modelo de implementación de patrones ágiles para desarrollo de software. Al igual que otras metodologías ágiles, su funcionamiento es cíclico y reconoce que en cada iteración se producirán cambios e incluso errores.
Características
Iterativo.
Orientado a los componentes de software (la funcionalidad que el producto va a tener, características, etc.) más que a las tareas en las que se va a alcanzar dicho objetivo.
Tolerante a los cambios.
Guiado por los riesgos
La revisión de los componentes sirve para aprender de los errores y volver a iniciar el ciclo de desarrollo
Diagrama ASD
Especular
Una primera fase de iniciación para establecer los principales objetivos y metas del proyecto en su conjunto y comprender las limitaciones (zonas de riesgo) con las que operará el proyecto.

En ASD se realizan estimaciones de tiempo sabiendo que pueden sufrir desviaciones. Sin embargo, estas son necesarias para la correcta atención de los trabajadores que se mueven dentro de plazos de forma que puedan priorizar sus tareas.

Se decide el número de iteraciones para consumir el proyecto, prestando atención a las características que pueden ser utilizadas por el cliente al final de la iteración. Son por tanto necesarios, marcar objetivos prioritarios dentro de las mismas iteraciones.

Estos pasos se puede volver a examinar varias veces antes de que el equipo y los clientes están satisfechos con el resultado.
Colaborar
Es la fase donde se centra la mayor parte del desarrollo manteniendo una componente cíclica. Un trabajo importante es la coordinación que asegure que lo aprendido por un equipo se transmite al resto y no tenga que volver a ser aprendido por los otros equipos.
Aprender
La última etapa termina con una serie de ciclos de colaboración, su trabajo consiste en capturar lo que se ha aprendido, tanto positivo como negativo. Es un elemento crítico para la eficacia de los equipos.

Calidad del producto desde un punto de vista del cliente. Es la única medida legítima de éxito, pero además, dentro de las metodologías ágiles, los clientes tienen un valor importante.

Calidad del producto desde un punto de vista de los desarrolladores. Se trata de la evaluación de la calidad de los productos desde un punto de vista técnico. Ejemplos de esto incluyen la adhesión a las normas y objetivos conforme a la arquitectura.

La gestión del rendimiento. Este es un proceso de evaluación para ver lo que se ha aprendido mediante el empleo de los procesos utilizados por el equipo.

Situación del proyecto. Como paso previo a la planificación de la siguiente iteración del proyecto, es el punto de partida para la construcción de la siguiente serie de características.
Ventajas
La tercera fase del ciclo de vida, revisión de los componentes, sirve para aprender de los errores y volver a iniciar el ciclo de desarrollo.
Apunta hacia el Rapid Application Development (RAD), el cual enfatiza velocidad de desarrollo para crear un producto de alta calidad, bajo mantenimiento involucrando al usuario lo más posible.
Utiliza información disponible acerca de cambios para mejorar el comportamiento del software.
Promulga colaboración, la interacción de personas.
Anticipa cambios y trata automáticamente con ellos dentro de un programa en ejecución, sin la necesidad de un programador.
Desventajas
Aunque el ciclo entre el aprendizaje y la especulación es bueno permitiéndonos entregar productos con alta calidad, la prolongación de dicho ciclo por errores o cambios que no son detectados en reuniones anteriores afecta tanto a la calidad del producto como a su costo total.

Dado a que es una metodología ágil implica no realizar procesos que son requeridos en las metodologías tradicionales o por lo menos no realizarlos en procesos diferentes, lo cual implica que empresas grandes las cuales necesitan llevar un mayor control a procesos y personas, tener tareas asignadas a un estado o proceso especifico,
Proceso Unificado Ágil (AUP)
La metodología unificada ágil (AUP) es una forma
simplificada del RUP desarrollada por Scott Ambler.
Describe un enfoque simple del desarrollo del
software usando técnicas y conceptos ágiles. Algunas
técnicas usadas por AUP incluyen el desarrollo
orientado a pruebas, modelado y gestión de cambios
ágiles y refactorización de base de datos para
mejorar la productividad.
Diagrama AUP

Fases
Origen: Definir el alcance del proyecto, estimar costes y plazos, definir los riesgos, determinar factibilidad del proyecto, preparar el ambiente

Elaboración: Identificar arquitectura, validar arquitectura, desarrollar ambiente del proyecto, equipo del personal del proyecto.

Construcción: Construcción del software operativo, testeo del sistema, creación de documentación de apoyo

Transición:Test del sistema, test de usuario, instalación del sistema
Disciplinas de AUP
Modelo: Entender el negocio de la Org.

Aplicación: Transformar su modelo en código ejecutable y
realizar un nivel básico de prueba.

Prueba: Realizar una evaluación objetiva para garantizar
la calidad.

Despliegue: Ejecutar el sistema y que este a disposición de
los usuarios.

Gestión de configuración: Es la gestión de acceso a
artefactos de su proyecto.


Disciplinas AUP
Gestión de proyectos: Dirigir las actividades que lleva a
cabo el proyecto.

Entorno: Apoyar al resto de los esfuerzos para garantizar
que el proceso sea el adecuado.
Ventajas
El personal sabe lo que está haciendo: no obliga a conocer detalles.

Simplicidad: apuntes concisos.

Agilidad: procesos simplificados del RUP

Centrarse en actividades de alto valor: esenciales para el desarrollo.

Herramientas independientes: a disposición del usuario.

Fácil adaptación de este producto: de fácil acomodo (HTML)
Desventajas
El AUP es un producto muy pesado en relación con otras metodologías .

Como es un proceso simplificado, muchos desarrolladores eligen trabajar con otras metodologías, por tener a disposición más detalles en el proceso.
SCRUM
SCRUM es un modelo de referencia que define un conjunto de prácticas y roles, y que puede tomarse como punto de partida para definir el proceso de desarrollo que se ejecutará durante un proyecto. Los roles principales en Scrum son el ScrumMaster, que procura facilitar la aplicación de scrum y gestionar cambios.
Características
• La mayoría minimiza riesgos desarrollando software en cortos lapsos de tiempo
• Las metodologías ágiles de desarrollo están especialmente indicadas en proyectos con requisitos poco definidos o cambiantes.
• Capacidad de respuesta a cambios de requisitos a lo largo del desarrollo
• Entrega continua y en plazos breves de software funcional
• Trabajo conjunto entre el cliente y el equipo de desarrollo

Diagrama
El proceso
En Scrum un proyecto se ejecuta en bloques temporales cortos y fijos (iteraciones de un mes natural y hasta de dos semanas, si así se necesita). Cada iteración tiene que proporcionar un resultado completo, un incremento de producto final que sea susceptible de ser entregado con el mínimo esfuerzo al cliente cuando lo solicite.
Planificación de la iteración
El primer día de la iteración se realiza la reunión de planificación de la iteración. Tiene dos partes:
Selección de requisitos (4 horas máximo). El cliente presenta al equipo la lista de requisitos priorizada del producto o proyecto. El equipo pregunta al cliente las dudas que surgen y selecciona los requisitos más prioritarios que se compromete a completar en la iteración, de manera que puedan ser entregados si el cliente lo solicita.
Planificación de la iteración (4 horas máximo). El equipo elabora la lista de tareas de la iteración necesarias para desarrollar los requisitos a que se ha comprometido. La estimación de esfuerzo se hace de manera conjunta y los miembros del equipo se autoasignan las tareas.
Ejecución de la iteración

Cada día el equipo realiza una reunión de sincronización (15 minutos máximo). Cada miembro del equipo inspecciona el trabajo que el resto está realizando (dependencias entre tareas, progreso hacia el objetivo de la iteración, obstáculos que pueden impedir este objetivo) para poder hacer las adaptaciones necesarias que permitan cumplir con el compromiso adquirido.
En la reunión cada miembro del equipo responde a tres preguntas:

¿Qué he hecho desde la última reunión de sincronización?

¿Qué voy a hacer a partir de este momento?

¿Qué impedimentos tengo o voy a tener?
Durante la iteración el Facilitador (Scrum Master) se encarga de que el equipo pueda cumplir con su compromiso y de que no se merme su productividad.

Elimina los obstáculos que el equipo no puede resolver por sí mismo.

Protege al equipo de interrupciones externas que puedan afectar su compromiso o su productividad.
Inspección y adaptación
El último día de la iteración se realiza la reunión de revisión de la iteración. Tiene dos partes:

1. Demostración (4 horas máximo). El equipo presenta al cliente los requisitos completados en la iteración, en forma de incremento de producto preparado para ser entregado con el mínimo esfuerzo. En función de los resultados mostrados y de los cambios que haya habido en el contexto del proyecto, el cliente realiza las adaptaciones necesarias de manera objetiva, ya desde la primera iteración, replanificando el proyecto.
2. Retrospectiva (4 horas máximo). El equipo analiza cómo ha sido su manera de trabajar y cuáles son los problemas que podrían impedirle progresar adecuadamente, mejorando de manera continua su productividad. El Facilitador se encargará de ir eliminando los obstáculos identificados.
Esquema general
Full transcript