DESARROLLO AGIL

AGILIDAD

PROCESO AGIL

MODELOS AGILES

ROLES

ANTECEDENTES

Creado en el 2001

Kent Beck y otros 16 desarrolladores

Firmaron el manifiesto por el desarrollo agil de software

Conformaron el grupo Alianza agil

Puede aplicarse a cualquier proceso del software

Diseñado en forma que permita la adaptacion de tareas y hacerlas directas

Cambios en el software

Equipo

Nuevas tecnologias

Facilidad de comunicacion

Entrega rápida de software funcional

Costos

Tradicional

Procesos agiles

Cambios en etapas

Cambios cualquier etapa

Principios

Suposiciones adaptables incrementalmente

prediccion de requerimientos

Diseño y construccion

Proceso

Politica

Debates

Factores humanos

Colaboración - Habilidad para tomar decisiones

Capacidad para resolver problemas difusos

Competencia-enfoque humano

Confianza y respeto mutuos - oraganizacion propia

Lider del proyecto

Equipo de desarrollo

Product Owner

Interesados

Entrenador agil

Supervisa y dirige el proyecto

asegura la comunicación del equipo

Se encarga del proceso de desarrollo

Proporcionar una retroalimentación

Ayuda en la mejora de procesos

Desarrollo impulsado por las características (DIC)

Desarrollo esbelto de software (DES)

Cristal

Modelado Ágil (MA)

Método de desarrollo de sistemas dinámicos (MDSD)

El proceso unificado ágil (PUA)

Scrum

Desarrollo adaptativo de software (DAS)

Una empresa de desarrollo de software comienza un proyecto para crear una aplicación móvil. Durante el proceso, los requisitos cambian con frecuencia debido a la retroalimentación del cliente. El equipo utiliza DAS para ajustar rápidamente el diseño y las funcionalidades de la aplicación en respuesta a estos cambios, entregando versiones incrementales cada dos semanas.

image

WhatsApp Image 2024-08-21 at 9.47.43 AM

image

image

image

image

INTEGRANTES:
CHOQUE CONDORI JOHANN FABRICIO
FLORES FERNANDEZ JAIME ANTONIO IBAÑEZ CHOQUEHUANCA YERKO CRISTHIAN
HUANCO YUJRA JULIO CESAR

HERRAMIENTAS

Desarrollo Ágil de Software (DAS)

Desarrollo iterativo

Reuniones diarias

Retrospectivas

Mapeo de historias de usuario

Bucles de retroalimentación continua

SCRUM

Standup diario (reunión diaria)

Planificación de Sprint (planificación de sprint)

Revisión de Sprint (revisión de sprint)

Retrospectiva del sprint

Refinamiento del backlog de producto

Desarrollo de software basado en modelos (MDSD)

Lenguajes específicos de dominio (DSL)

Transformación del modelo

Generación de código

Validación del modelo

Diagramas UML

CRISTAL

Talleres de reflexión

Entrega incremental

Comunicación directa (cara a cara, videollamadas)

Tableros de gestión visual (e.g., Trello, Jira)

Integración frecuente

DES

Mapeo del flujo de valor

Sistemas Pull (Kanban)

Eliminación de residuos (Muda)

Mejora Continua (Kaizen)

Desarrollo justo a tiempo

Métodos Ágiles (MA)

Programación en pareja

Integración continua

Historias de usuarios

Retrospectivas ágiles

Limpieza de cartera de pedidos

Programación Extrema (PUA)

Programación en pareja

Desarrollo basado en pruebas (TDD)

Integración continua

Refactorización

Estándares de codificación

xx

Se enfoca en la adaptabilidad y la flexibilidad durante el desarrollo de software. Su objetivo es ajustar continuamente el proyecto a medida que se presentan nuevos desafíos y oportunidades.

image

Es una metodología ágil que organiza el trabajo en ciclos cortos llamados sprints (generalmente de 2 a 4 semanas). Los equipos trabajan en conjunto para completar un conjunto de tareas definidas al comienzo de cada sprint.

Un equipo de desarrollo está trabajando en un software de gestión de proyectos. Dividen el trabajo en sprints de 3 semanas. Al final de cada sprint, revisan el progreso y ajustan el plan de trabajo para el próximo sprint, incorporando la retroalimentación del cliente y los aprendizajes obtenidos.

Se enfoca en la comunicación y la interacción humana, permitiendo flexibilidad en las prácticas y herramientas utilizadas.

Un pequeño equipo de 4 desarrolladores trabaja en un proyecto de software interno para una startup. Utilizan Cristal Claro, la variante más simple de Cristal, que les permite trabajar de manera flexible y mantener una comunicación constante, adaptando su enfoque según las necesidades del proyecto.

Se utiliza cuando se requiere un alto nivel de automatización en el desarrollo, permitiendo un enfoque más rápido y estructurado para sistemas complejos.

Una empresa de desarrollo necesita crear un sistema para gestionar una red de sensores IoT. Utilizan MDSD para modelar el sistema de forma abstracta y luego generar automáticamente el código necesario, reduciendo significativamente el tiempo de desarrollo.

Se enfoca en la entrega de características funcionales completas y útiles al cliente en cada iteración.

Un equipo de desarrollo está trabajando en una aplicación de comercio electrónico. Deciden implementar primero la funcionalidad de búsqueda y filtrado de productos porque es una de las características más solicitadas por los usuarios. Cada iteración se centra en completar una característica antes de pasar a la siguiente.

Se enfoca en la entrega continua de valor al cliente, minimizando los recursos y esfuerzos innecesarios.

Una empresa de software utiliza DES para desarrollar un nuevo producto. El equipo reduce la documentación innecesaria, elimina pasos redundantes en su proceso de desarrollo y se enfoca en entregar funcionalidades útiles a los clientes de manera rápida y eficiente.

Se utiliza para crear modelos y diagramas que ayuden a entender y comunicar el diseño del sistema, sin perder la agilidad del proceso.

Durante el desarrollo de un sistema de reservas en línea, un equipo utiliza MA para crear un diagrama de casos de uso que define cómo interactúan los usuarios con el sistema. Este modelo ayuda a todos los miembros del equipo a comprender el diseño sin necesidad de crear documentación extensa.

Combina los principios del Proceso Unificado con las prácticas ágiles, manteniendo la estructura del ciclo de vida del proyecto pero con un enfoque en la entrega continua de valor.

Un equipo de desarrollo está trabajando en un sistema complejo para una institución financiera. Utilizan PUA para gestionar el ciclo de vida del proyecto, combinando la disciplina del Proceso Unificado con la flexibilidad de las metodologías ágiles para asegurar entregas regulares y la satisfacción del cliente.

image