Desarrollo Ágil
Unidad I: Introducción a las Metodologías Ágiles
                  o Adaptativas
                 Técnicas Ágiles
               www.inacap.cl
                          Unidad I: Introducción a las
                    Metodologías Ágiles o Adaptativas
Objetivos:
- Técnicas Ágiles
                 Unidad I: Introducción a las
           Metodologías Ágiles o Adaptativas
               SCRUM
               XP: eXtreme Programing
Metodologías
               FDD: Feature-Driven Development
   Ágiles
               KANBAN
               LEAN
               Crystal
               DSDM:Dynamic Systems Development Method
                   Unidad I: Introducción a las
             Metodologías Ágiles o Adaptativas
                         Se basa en 5 Valores
                         • Simplicidad->diseño sólo para necesidades
                             inmediatas en lugar de considerar el futuro;
                             diseño sencillo que se implemente con facilidad
                             en forma de código
                         •   Comunicación-> Se logra con colaboración
                             estrecha,    pero    informal   entre   cliente-
                             desarrollador    para    comunicar    conceptos
                             importantes y evitar documentación voluminosa
                             como medio de comunicación
                         •   Retroalimentación-> se obtiene de 3
                             fuentes; el SW (por medio de los resultados de
XP:eXtreme Programing        las pruebas; se usan las pruebas unitarias), el
                             cliente ( a través de la revisión de los
                             incrementos con las pruebas de aceptación de
                             las historias de usuario) y otros miembros de
                             equipo (en base a nuevos requerimientos)
                         •   Respeto-> al apegarse a los valores se inculca
                             el respeto; conforme logra entregas exitosas se
                             incrementa el respeto pro el proceso XP
                         •   Valentía/Disciplina-> adhesión estricta a XP
                             requiere valentía, también diseñar para hoy y
                             reconocer que los requerimientos pueden
                             cambiar, requiere valentía.
                      Unidad I: Introducción a las
                Metodologías Ágiles o Adaptativas
El Proceso XP
                 Unidad I: Introducción a las
           Metodologías Ágiles o Adaptativas
                Programador (estimar tiempos)
                Cliente
                Tester (vital su comunicación con cliente)
XP-Roles
                Tracker (Seguimiento)
                Coach (asesoramiento y orientación a eq. y cl)
                Manager (coordinar comunicación entre los demás)
                        Unidad I: Introducción a las
                  Metodologías Ágiles o Adaptativas
FDD:          • Proceso adaptativo y ágil aplicable a proyectos de
Feature         software de tamaño moderado y grande
Driven        • Se entregan funcionalidades cada 2 a 10 días.
Development   • La documentación es altamente necesaria; al estar
                disponible la frecuencia de las reuniones del equipo es
                baja.
              • Orientada a equipos más grandes
                            Unidad I: Introducción a las
                      Metodologías Ágiles o Adaptativas
Beneficios de     • Debido a que las características son bloques pequeños
trabajar por        de funcionalidades que se entrega, los usuarios las
Características     describen con más facilidad, entienden cómo se
                    relacionan entre sí y las revisan mejor en busca de
                    ambigüedades, errores u omisiones
                  • Las características se organizan por jerarquía de
                    grupos relacionados con el negocio.
                  • El equipo desarrolla características operativas cada
                    dos semanas.
                  • El diseño y representación en código de las
                    características son más fáciles de inspeccionar con
                    eficacia porque éstas son pequeñas.
                  • La planeación, programación de actividades y
                    seguimiento son determinadas por la jerarquía de
                    características, y no por un conjunto de tareas de
                    ingeniería de software adoptadas en forma arbitraria
                    Unidad I: Introducción a las
              Metodologías Ágiles o Adaptativas
FDD:
Feature
Driven
Development
                                Unidad I: Introducción a las
                          Metodologías Ágiles o Adaptativas
                          FDD-Roles
                                                        Director de desarrollo
 Director del proyecto         Arquitecto Jefe
                                                       Resuelve conflictos en el
Líder administrativo y     Realiza diseño global del
                                                        equipo y respecto del
      financiero                       SI
                                                              recursos
  Programador Jefe
                            Propietario de clases        Expertos de dominio
Analiza requerimientos,        Responsable de           Posee el conocimiento
       selecciona             desarrollo de sus         de los requerimientos
  funcionalidades a           funciones/clases               del sistema
      desarrollar
      Unidad I: Introducción a las
Metodologías Ágiles o Adaptativas
                        KANBAN
                     Visualización
                       de tareas
      Unidad I: Introducción a las
Metodologías Ágiles o Adaptativas
                          Unidad I: Introducción a las
                    Metodologías Ágiles o Adaptativas
                     Características
• Requiere una comunicación en tiempo real sobre la capacidad y una
  transparencia total del trabajo
• Los miembros del equipo pueden ver el estado de cada uno en
  cualquier momento
• El Kanban puede adaptarse a muchos entornos, desde la fabricación
  hasta los recursos humanos, incluido el desarrollo de SW.
• Puede haber tableros físicos o digitales; lo determinará el tipo de
  proyecto.
• Se puede trabajar con Kanban y con Scrum
                     Unidad I: Introducción a las
               Metodologías Ágiles o Adaptativas
               LEAN-Objetivos
Excluir actividades que no agregan valor.
Mejorar de forma continua.
Detectar Problemas.
Cambiar el enfoque de la empresa.
      Unidad I: Introducción a las
Metodologías Ágiles o Adaptativas
     Lean
       Unidad I: Introducción a las
 Metodologías Ágiles o Adaptativas
Institutolean.cl
                            Unidad I: Introducción a las
                      Metodologías Ágiles o Adaptativas
                           Crystal
Según el tamaño del equipo es el color
• Clear 1-9
• Yellow 10-20
• Orange 21-40
• Red 41-80
• Brown 81-200
Se centra en tamaño y complejidad
                            Unidad I: Introducción a las
                      Metodologías Ágiles o Adaptativas
               Crystal Clear-Valores
  Entrega                Comunicación                 Mejora
 Frecuente
 (hasta trimestral)
                           (cara a cara)             reflexiva
 Seguridad                                              Acceso a
personal (todos           Foco    (períodos de
                                                        usuarios
 pueden opinar sin       24hr de no interrupción)       expertos
     miedos)                                        (reuniones semanales)
                                Unidad I: Introducción a las
                          Metodologías Ágiles o Adaptativas
Crystal Clear-Roles
                                  Usuario                     Diseñador
  Patrocinador
  (Define totalidad del         Experto (lista de              Principal
   proyecto, recursos)                                           (describe la
                               actores, objetivos DCU)
                                                                arquitectura)
                                Experto en
                                                            Coordinador
  Programador                  Negocio (trabaja            (Plan del proyecto, plan
                               en conjunto con Usuario     de entrega, riesgos,etc)
                                      Experto)
                  Verificador                  Escritor     (Manual
                (verifica que funciones,
                                                    de Usuario)
                     indica errores)
                                  Unidad I: Introducción a las
                            Metodologías Ágiles o Adaptativas
                                     MDSD
               Método de Desarrollo de Sistemas Dinámicos
-   Enfoque de desarrollo ágil de software que “proporciona una estructura para
    construir y dar mantenimiento a sistemas que cumplan restricciones apretadas
    de tiempo mediante la realización de prototipos incrementales en un ambiente
    controlado de proyectos”
- DSDM se centra en los proyectos de sistemas de información que son
  caracterizados por presupuestos y agendas apretadas.
-   La filosofía MDSD está tomada de una versión modificada de la regla de Pareto:
    80 por ciento de una aplicación puede entregarse en 20 por ciento del tiempo
    que tomaría entregarla completa (100 por ciento).
-   El MDSD es un proceso iterativo de software en el que cada iteración sigue la
    regla de 80 por ciento. Es decir, se requiere sólo suficiente trabajo para cada
    incremento con objeto de facilitar el paso al siguiente. Los detalles restantes se
    terminan más tarde, cuando se conocen los requerimientos del negocio y se
    han pedido y efectuado cambios.
                                 Unidad I: Introducción a las
                           Metodologías Ágiles o Adaptativas
                                   MDSD
                                   Principios
• Involucrar al cliente es la clave para llevar un proyecto eficiente y efectivo.
• El equipo del proyecto debe tener el poder para tomar decisiones que son
  importantes.
• DSDM se centra en la entrega frecuente de productos.
• El desarrollo es iterativo e incremental.
• Todos los cambios durante el desarrollo son reversibles.
• Las pruebas son realizadas durante todo el ciclo vital del proyecto.
• La comunicación y cooperación entre todas las partes interesadas .
                                       Unidad I: Introducción a las
                                 Metodologías Ágiles o Adaptativas
                                             MDSD
                  Método de Desarrollo de Sistemas Dinámicos
-   El grupo DSDM Consortium (www.dsdm.org) es un conglomerado mundial de
    compañías que adoptan colectivamente el papel de “custodios” del método. El
    consorcio ha definido un modelo de proceso ágil, llamado ciclo de vida MDSD, que
    define tres ciclos iterativos distintos, precedidos de dos actividades adicionales al
    ciclo de vida:
- Estudio de Factibilidad, Establece requerimientos y restricciones básicas
- Estudio del negocio, Establece requerimientos funcionales para dar valor al negocio
- Iteración del Modelo Funcional, produce un conjunto de prototipos incrementales          que
    demuestran al cliente la funcionalidad
- Diseño e Iteración de la Construcción, revisa los prototipos construidos en la iteración
    del modelo funcional, de forma de asegurar que en cada iteración se da valor operativos del
    negocio a los usuarios finales.
- Implementación,          coloca el incremento más reciente del software (un prototipo
    “operacional”) en el ambiente de operación
      Unidad I: Introducción a las
Metodologías Ágiles o Adaptativas
      Unidad I: Introducción a las
Metodologías Ágiles o Adaptativas
     SCRUM
   Flujo de Trabajo