SlideShare ist ein Scribd-Unternehmen logo
1 von 55
www.chileagil.cl

                   Agustín Villena M.
                   agustin.villena@chileagil.cl




                                       16-04-2009
Esta obra está publicada bajo una Atribución-No Comercial-

    Licenciar Igual 2.0 Chile de Creative Commons. Para ver una
    copia de esta licencia, visite
    http://creativecommons.org/licenses/by-nc-sa/2.0/cl/




                                                           agustin.villena@gmail.com
Logros de Proyectos de Software

    ◦ Pequeño avance




         Fuente:
         “CHAOS Report”, EE.UU.
         The Standish Group


                                      16-04-2009   agustin.villena@chileagil.cl
Pero con poca productividad





Fuente:
“CHAOS Report”, EE.UU.
The Standish Group


                            16-04-2009   agustin.villena@chileagil.cl
Como lo describió el
                                                                   Como lo programó el
 Como lo explicó el    Como lo entendió el    Como lo diseñó el
                                                                                            área comercial
                                                                      Desarrollador
     cliente             Jefe de Proyecto        Analista




Como se documentó el   Qué fue instalado en   Qué se le cobró al   Cómo fue soportado      Qué necesitaba el
      proyecto               el cliente            cliente                                 cliente en realidad




                                                                     16-04-2009          agustin.villena@chileagil.cl
Y en Chile, ¿será mejor?

    ◦ ...




                               16-04-2009   agustin.villena@chileagil.cl
Plano de Negocio

                            Problema
        Valor
                           (Necesidad)
Lenguaje de Negocio


                                                                     Ámbito de la
             Lenguaje




                         Funcionalidades
              Común
               Base




                                                                     gestión
                           (Soluciones)

     Lenguaje Técnico


                             TAREAS
         Calidad


                          Plano Técnico

                                           agustin.villena@chileagil.cl
Avance de Proyecto:
                               - ¿Cuánto hemos avanzado realmente
                                 (en generar real valor)?
                               - ¿Cuáles y cuántas funcionalidades queda por hacer?
                               - ¿Cuánto tiempo se requerirá para dichas funcionalidades?
                               - ¿Qué defectos puede tener el producto?

                               Método de Trabajo
                               - ¿Qué prácticas y estándares se debe seguir?
                               - ¿Qué errores no se debe repetir?
                               - ¿Qué debemos mejorar?


                                                                                                         ?
                                         ?
                                                                                                                 Tecnología:
                                                                                  Desarrollador                  - ¿Cuál tecnología usar?
                               Cliente
                                                       ¿Concuerdan?                                              - ¿Qué sabemos hacer con
Problema en resolución:



                                                                                          ¿Concuerdan?
                                                                                                                   la tecnología utilizada?
- ¿Cuáles son la necesidades
                                                                                                                 - ¿Cuáles es posible hacer
  actuales?                                                                                                        (limites) con la
- ¿Cuáles son prioritarias?                                                                                        tecnología?
                               Trabajo en Equipo:

                                                                                                             ?
                               - ¿Cómo mantener la motivación?
                               - ¿Cómo comunicarse efectivamente?
                               - ¿Hay áreas del proyecto que sólo puedan ser
                                 mantenidas por uno?

                                                                                agustin.villena@chileagil.cl
                                                                               Equipo de Desarrollo
agustin.villena@chileagil.cl
Lidiar con el Riesgo
    ¿Causa del Riesgo?





                    La incertidumbre




                                          agustin.villena@gmail.com
Concepto: “Desarrollo de

    nuevo producto” (NPD)
    ◦ Alta incertidumbre,
      tecnológica y de
      requerimientos
    ◦ Alta probabilidad de cambio
      el proyecto
    ◦ Se estima mejor mientras más
      se resuelve el problema
    ¡Un desarrollo de software es

    un NPD!




                                     agustin.villena@gmail.com
agustin.villena@gmail.com
Tradicionalmente, para atacar la incertidumbre,

    ◦ se trata de definir todo desde un principio
    ◦ generando un diseño y plan detallado, que luego el desarrollador
      debe ejecutar
       Conformado por requerimientos abstractos y detallados
    ◦ En este modelo, el cliente delega su responsabilidad en el
      desarrollador
       Y si este no cumple lo definido es castigado por multas en el contrato




                                                              agustin.villena@gmail.com
Esto da origen al Modelo de Cascada de desarrollo





           Análisis y
       especificación de
        requerimientos

                           Diseño


                                     Codificación y
                                    Test de Módulos

                                                       Integración y
                                                      Test del Sistema

                                                                            Instalación y
                                                                           Mantenimiento




                                                                     agustin.villena@gmail.com
NO hay retroalimentación entre el problema de

    negocio y el producto desarrollado
    ◦ Es fácil caer en el sesgo tecnológico (cool features)
    ◦ Se pierde sincronía con las necesidades reales del negocio
       Hasta que es demasiado tarde




                                                    agustin.villena@gmail.com
Mientras más se trate de definir a priori un problema

    de software que posee incertidumbre,
    más probabilidad hay de error
    Y se agrega inflexibilidad ante los (muy) posibles

    cambios

         Problema típico
               del
          ciclo de vida
           “cascada”




                                                      agustin.villena@gmail.com
                              agustin.villena@gmail.com
Cree que a medida que avanza

    un proyecto, los cambios son
    más caros
    ◦ Se tiende a desarrollar cosas
      que se cree que alguna vez
      se necesitarán
    ◦ Tiende a priorizar según sus propia
      visión, no la del negocio
       Primero diseñamos toda la BD y sus
        mantenedores, y entonces
        implementamos las aplicaciones
        cliente



                                             agustin.villena@gmail.com
Única zona
                  donde hay
        Valor para el cliente

agustin.villena@gmail.com
agustin.villena@chileagil.cl   16-04-2009
Cliente   Problema de Negocio




                                                            Proyecto de
                                                             Software
                    Ingeniero
                   de Software




                                              Producto de
                                               Software
Equipo de
Desarrollo
                                 Tecnología
Antecedente 1

    Software fails to deliver…
    and fails to deliver value!
    Kent Beck, “Extreme Programming Explained”, 1999




    En 2001, Kent Beck y otros autores de enfoques similares

    proponen los Principios Ágiles:
                Individuos e interacciones                         Procesos y herramientas.
                    Software funcional                             Documentación exhaustiva
                                                       por sobre
               Colaboración con el cliente                         Negociación de contratos
                   Responder al cambio                                  Seguir un plan




                                                                                agustin.villena@chileagil.cl
• Ken Beck, 1999, “Extreme Programming Explained”
  Extreme
Programming   • Enfoque empírico e integral de un proyecto de software
    (XP)      • Equipos pequeños que incluyen al cliente


              • Basado en el enfoque de gestión de la innovación de productos de Hirotaka
                Takeuchi and Ikujiro Nonaka, 1986
              • Sutherland and Schwaber , lo presentan en OOPSLA (1995)
  Scrum       • Define un conjunto de herramientas de gestión y visualización de avance
              • Metáfora: se requiere abarcar todas las disciplinas requeridas, tal como la
                formación de scrum del rugby



              • Mary y Tom Poppendieck, “Lean Software Development”
    Lean
  Software    • Define las bases teóricas de las metodologías ágiles, a partir del Toyota
Development     Production System




                                                            16-04-2009      agustin.villena@chileagil.cl
Es la metodología ágil más famosa en la

    actualidad

    Enunciada por Kent Beck, Ward Cunningham,

    and Ron Jeffries.

    Concebida en el proyecto C3 (Chrysler

    Comprehensive Compensation)

    Documentada en el WikiWiki original

    ◦   http://c2.com/cgi/wiki?ExtremeProgrammingRoadmap


    Plasmada en 1999 en el libro

    “Extreme Programming Explained”
    ◦ Acaba de salir la segunda edición en el 2005



                                                           agustin.villena@chileagil.cl
Ciclo de Gestión del Proyecto Orientada al Valor
             Cliente        Problema de Negocio




                                                                               Ciclo de Gestión del Desarrollo en Equipo
                                                            Proyecto de
                                                            Software

                       Ingeniero
                       de Software


                                                                                              Ciclo de
                                                                                           Programación
                                              Producto de
                                                                                             de calidad
                                              Software
Equipo de
Desarrollo
                                     Tecnología



                                                                                    XP lo organiza en ciclos de
                  Entorno de un
                                                                            retroalimentación y aprendizaje acelerado
               proyecto de software




                                                                                      agustin.villena@chileagil.cl
El desarrollo de software es una actividad humana

    ◦ Es afectada por la motivación, creencias y los instintos de las personas
    Valores Comunes: son los que permiten que las personas trabajen por el

    beneficio común antes que el propio


                                            Comunicación




                         Respeto                               Simplicidad




                                   Coraje            Retroalimentación




                                                                             agustin.villena@gmail.com
Reglas que orientan la toma de decisiones

    •   Comunicación abierta y honesta
    •   Enseñar a aprender
    •   Trabajar con los instintos de las personas
    •   Siempre asumir simplicidad
    •   Viajar con equipaje: poco, simple y valioso
    •   Cambios paso a paso
    •   Adaptar de XP a la realidad local
    •   Jugar a ganar
    •   Responsabilidad aceptada (antes que asignada)
    •   Trabajo de Calidad
    •   Atacar los problemas urgentes, dejando la mayor cantidad de opciones abiertas
    •   Retroalimentación Rápida (favorece el aprendizaje)
    •   Medir honestamente
    •   Experimentos concretos



                                                                 agustin.villena@gmail.com
Embrace change
•
    • Aceptar con naturalidad y entusiasmo el cambio

    YAGNI: You Arent’ Gonna Need It.
•
    Avoid PrematureGeneralization
    • ¡No lo vas a necesitar! (No hagas sobrediseño)

    Once and Only Once
•
    DRY: Don’t repeat yourself
    RefactorMercilessly
    Una funcionalidad en una y solo una parte del sistema

    Fail fast
•
    • Si va a fallar, que lo haga pronto, para asi escoger otro camino

    Do The Simplest Thing That Could Possibly Work
•

    • Haz lo más “simple” que podría funcionar


                                                                   agustin.villena@gmail.com
Kent Beck:

    ◦ “Llevar buenas prácticas de Ingeniería de Software al
      extremo”

                  Buen Práctica                         Práctica Extrema

                   Software funcionando         Entregas Incrementales e Integración Continua


                   Revisiones de código                   Programación de a pares


              Sistema de Pruebas Estructurado          Desarrollo Guiado por Pruebas


                 Tener alineado al cliente                     Cliente in situ




                                                                    agustin.villena@gmail.com
Entregas
                                                                                                                                                                                 pequeñas
                                                                                                                   Planning Game




                                             Gestión del Proyecto
                                               orientada al valor
                                                                      Cliente en
                                                                        terreno
                                                                    (Un sólo equipo)

                                                                                                                                     Tests de Aceptación
                                                                                                                    Definición                                                   Validación
                                                                                                                                          del Cliente


                                                                                                                          Desarrollo



                                                                                                              Planning Game de la Iteración
Gestión del Desarrollo en Equipo




                                      Liderazgo Motivador
                                                                                                                                                                               Diseño
                                           (Coaching)
                                                                                                                                                                               Simple
                                                                                                           Programación de a




                                                                                                                                   Programación Incremental
                                                                                  Programación en Equipo




                                   Retroalimentación de Avance                                                   pares
                                            (Tracking)                                                       (+ Mantener el
                                                                                                            equipo rotando)




                                                                                                                                          de Calidad
                                                                                                                                                              Desarrollo
                                                                                                                                                                                              Integración
                                                                                                                                                              Guiado por
                                                                                                                                                                                                continua
                                                                                                                                                                Tests
                                        Stand Up Meeting
                                                                                                           Estándares de Código

                                       Espacio de Trabajo
                                          Informativo
                                                                                                                                                                           Refactorización
                                                                                                           Propiedad Colectiva
                                                                                                               de Código
                                         Ritmo Sostenido
                                      ( No a las horas extra)

                                         Retrospectivas
funcionalidades
funcionalidades




                     tiempo                                          tiempo
   Valor entregado de un proyecto tradicional   Valor ideal que debiera entregar un proyecto


                  Tradicionalmente                                ¿No debiera ser así?


                                                                               agustin.villena@gmail.com
El desarrollo se debe dividir

    en iteraciones cortas de
    tiempo fijo
    Al fin de cada iteración del

    desarrollo, debe tenerse un
    producto funcional y útil




                                    Alto valor promedio
                                          para el cliente

                                                     agustin.villena@chileagil.cl
Visión tradicional        ¿Y si fuera así?
                         




                                                agustin.villena@chileagil.cl
                         agustin.villena@gmail.com
Tiempo disponible para el proyecto

    Costo (Recursos) que se dispondrán

    Alcance, es decir conjunto de funcionalidades que se

    desarrollarán
    Y la que se suele olvidar

    ◦ Calidad (eficacia, resistencia a fallas, eficiencia, etc.)




                                                      agustin.villena@chileagil.cl
Por lo regular se fijan las 3 primeras variables:

    ◦ “Hazme un administrador de estas tablas de la base de datos, en una
      semana, con dos programadores”

    ¿Qué sucede al haber cambio?:

    ◦ Tiempo y Costo no son en realidad muy flexibles
    ◦ El Alcance está fijo por el diseño y el plan definido
    ◦ Variable que sufre: la Calidad,
      lo que afecta el valor generado para el cliente

    ◦ Esto genera conflicto
       El cliente siempre querrá el mayor valor por sus recursos invertidos
       Y el desarrollador la mayor calidad
        ¿Qué persona sana desea hacer un trabajo mediocre?




                                                               agustin.villena@chileagil.cl
Definamos contratos en que la duración de cada

    iteración esté prefijada, inamoviblemente
    ◦ ¡No existen “atrasos”!


    Y lo que se ajusta es el alcance (cantidad y cualidad de

    las funcionalidades) del proyecto para la iteración




                                             agustin.villena@chileagil.cl
El objetivo es que todos adquieran la confianza de que las metas del proyecto (de negocio y técnicas) son

    alcanzables

    Aquí el cliente comparte su responsabilidad sobre el proyecto con el desarrollador, en una relación de

    sinergia
    ◦   (inspirado en el modelo Toyota de gestión)



                                                 Cliente                  Desarrollador
               Desea               Valor recibido por cada        Calidad del trabajo
               maximizar           semana de desarrollo        realizado
                                   Qué será implementado, y Cuánto se estima que
                                   en qué prioridad, según las demorará una tarea
               Puede
                                   necesidades de su              (idealmente)
               definir
                                   negocio

                                   Funcionalidades                Sus estimaciones en base a
               Puede               solicitadas por otras no       nuevos descubrimientos
               cambiar             implementadas de costo
                                   equivalente (canjear)
                                                                                      agustin.villena@chileagil.cl
C = Cliente
                                   El flujo del Planning Game
                                                                                                          D = Desarrollador



                                                                               C                       Fase de Exploración
                                                       Escribir Historias

                                                          para toda la iteración

                                                                               D
                                                       Estimar Historias

                                                                                                                  C
                                                                                              Dividir Historias
                                                                             NO
    El Planning Game
                                                         ¿Estimable?

                                                                                            Experimentos Concretos D
    ◦ Juego colaborativo que
                                                                 SI



       sigue las los roles y                                                                         Fase de Compromiso
                                                                                    C
                                                              Ordenar por Valor

       reglas de la gestión ágil                                                    D
                                                             Ordenar por Riesgo


    ◦ Se usan historias de                                                              D
                                                              Definir Velocidad


       usuario escritas en                                                                     C
                                                                        Decidir Alcance

       tarjetas
                                         Recuperación D                                                     Fase de Maniobra
                                                                                                                                 C
                                                                                                              Nueva Historia
                                                         Iteración
                                        Velocidad                                                                     Cliente requiere
                                                                                                    C
                                   sobreestimada                                                                      nueva historia
                                                              Planning Game de la Iteración

                                                                                                    D
                                                                        Desarrollo XP
                                          Plan no es
                                          adecuado
                                                                                                   D
                                                                                   Ejecutar
                                    Re-Estimar D                   Test
                                                                                                                               no
                                                                                                                    ¿OK?
                                                                                                   C
                                                                   Funcionales      Validar
                                                                                                                       si
                                                       agustin.villena@gmail.com
Ciclo de Gestión del Proyecto Orientada al Valor




                                                                                                                                Ciclo de Gestión del Desarrollo



                                                                                                                                   Ciclo de
                                                                                                                                   Programación
                                                                                                                                   de calidad
Gestión del Desarrollo en Equipo




                                                                 Stand Up Meeting
                                      Liderazgo Motivador
                                           (Coaching)

                                                                 Espacio de Trabajo   Planning Game de la Iteración
                                   Retroalimentación de Avance
                                                                    Informativo
                                            (Tracking)

                                                                  Retrospectivas

                                          Ritmo Sostenido
                                       ( No a las horas extra)
                                                                                      Ciclo de Desarrollo




                                                                                                     agustin.villena@gmail.com
Ciclo de Gestión del Proyecto Orientada al Valor




                                                                            Ciclo de Gestión del Desarrollo



                                                                               Ciclo de
                                                                               Programación
                                                                               de calidad


    Planning Game de la Iteración

    ◦ Plan orientado al trabajo técnico (descomponer historias de
      usuario en tareas)
    StandUpMeeting

    ◦ Mini-reunión al comenzar la jornada, en que todos, de pie,
      definen lo que harán
       Asi se va directo al grano




                                                 agustin.villena@gmail.com
Ciclo de Gestión del Proyecto Orientada al Valor




                                                                                 Ciclo de Gestión del Desarrollo



                                                                                    Ciclo de
                                                                                    Programación
                                                                                    de calidad




    Productividad Sostenida

    (No al sobretiempo)
    ◦ Los equipos XP trabajan duro, y a un ritmo que puede
      sostenerse indefinidamente. Esto significa:
       Se trabaja sobretiempo sólo cuando es efectivo, pero se entiende
        como algo extra-ordinario
       Un proceso ordenado saca el mejor provecho del tiempo ya
        asignado
       Un desarrollador cansado no produce más que uno descansado
       También llamado “40 horas a la semana” (aplicado a jornada
        completa)

    ◦ Otra aplicación del timeboxing




                                                      agustin.villena@gmail.com
Ciclo de Gestión del Proyecto Orientada al Valor




                                                                             Ciclo de Gestión del Desarrollo



                                                                                Ciclo de
                                                                                Programación
                                                                                de calidad


    ¿Cómo alcanzar el justo medio entre…?

      Gestión centralizada
      Caos
    Se definen dos roles

    ◦ Coach (Entrenador)
    ◦ Tracker (Medidor de avance)
    … pueden ser cumplidos por la misma persona




                                                  agustin.villena@gmail.com
Ciclo de Gestión del Proyecto Orientada al Valor




                                                                                              Ciclo de Gestión del Desarrollo



                                                                                                 Ciclo de
                                                                                                 Programación

    Ayudar al resto a hacer un trabajo aún mejor
                                                                                                 de calidad

    Que todos tomen buenas decisiones

    Estar disponible para ser socio de desarrollo (en especial de los novicios)

    Vislumbrar objetivos de refactorización de gran escala, y promover las

    refactorizaciones pequeñas que ayuden
    Ayudar a los programadores con destrezas individuales

    ◦ Testing,
    ◦ Formateo y estandarización de código
    ◦ refactorización
    Explicar el proceso a gerentes de mayor nivel

    Proveer de juguetes y comida 





                                                                   agustin.villena@gmail.com
Ciclo de Gestión del Proyecto Orientada al Valor




                                                                              Ciclo de Gestión del Desarrollo



                                                                                 Ciclo de
                                                                                 Programación
                                                                                 de calidad

    Usar métricas para medir el avance del proyecto (solo las

    indispensables)
    ◦ Por ejemplo:
     Tiempo de desarrollo / Tiempo calendario
    ◦ Actualizarlas mínimo 2 veces por semana
    Ayudar al Entrenador a

    ◦ Motivar al cambio de una manera gentil y no coercitiva
    Mostrar la información en una Carta Grande y Visible para

    todo el equipo en el Espacio Informativo




                                                   agustin.villena@gmail.com
Ciclo de Gestión del Proyecto Orientada al Valor




                                                                           Ciclo de Gestión del Desarrollo



                                                                              Ciclo de
                                                                              Programación
                                                                              de calidad

                                    Burn Down Chart:
    Estado de Avance (Kanban)   

                                    Horas de trabajo que quedan




                                    agustin.villena@gmail.com
Ciclo de Gestión del Proyecto Orientada al Valor




                                                                                                                                                    Ciclo de Gestión del Desarrollo



                                                                                                                                                       Ciclo de
                                                                                                                                                       Programación
                                                                                                                                                       de calidad



    En vez de                                                                                 pasar a
                                                                                         
    ◦ diseñar-programar-probar-                                                               ◦ Diseñar continuamente, Probar
                                                                                                continuamente, Armar
      depurar-armar-entregar,
                                                                                                continuamente , Revisar
                                                                                                continuamente y Entregar temprana
                                                                                                y frecuentemente


                                                                                                              Diseño
                                                                                                              Simple
                                        Programación de a
                                                               Programación Incremental
               Programación en Equipo




                                               pares
                                          (+ Mantener el
                                          equipo rotando)
                                                                      de Calidad
                                                                                              Desarrollo
                                                                                                                             Integración
                                                                                              Guiado por
                                                                                                                               continua
                                                                                                Tests
                                        Estándares de Código



                                                                                                           Refactorización
                                        Propiedad Colectiva
                                             de Código
Ciclo de Gestión del Proyecto Orientada al Valor




                                                                                           Ciclo de Gestión del Desarrollo



                                                                                              Ciclo de
                                                                                              Programación
                                                                                              de calidad




    Programación de a pares

    ◦ Un computador, un teclado, un mouse, y dos
      programadores
    ◦ Empírico
      código un 20% más simple
      15% adicional de productividad sobre el trabajo separado




                                                              agustin.villena@gmail.com
Ciclo de Gestión del Proyecto Orientada al Valor




                                                                               Ciclo de Gestión del Desarrollo



                                                                                  Ciclo de
                                                                                  Programación
                                                                                  de calidad




    Propiedad Colectiva de Código:

    todos son propietarios (y responsables) de todo el código
    ◦ NO existen módulos intocables

    Estilo común de codificación:

    Usar convenciones que permitan que cualquier desarrollador
    pueda entender, usar y modificar el código desarrollado por el
    equipo




                                                  agustin.villena@gmail.com
Ciclo de Gestión del Proyecto Orientada al Valor




                                                                               Ciclo de Gestión del Desarrollo



                                                                                  Ciclo de
                                                                                  Programación
                                                                                  de calidad




    Propiedad Colectiva de Código:

    todos son propietarios (y responsables) de todo el código
    ◦ NO existen módulos intocables

    Estilo común de codificación:

    Usar convenciones que permitan que cualquier desarrollador
    pueda entender, usar y modificar el código desarrollado por el
    equipo




                                                  agustin.villena@gmail.com
Ciclo de Gestión del Proyecto Orientada al Valor




                                                                                Ciclo de Gestión del Desarrollo



                                                                                   Ciclo de
                                                                                   Programación
                                                                                   de calidad




    Diseñar para lo que realmente se necesita

    ◦ Ojo: si nadie conoce el problema, es imposible saber qué se
      necesita
    ◦ => hay que pensar continuamente el problema

    También llamado “Diseño Simple”

    ◦ Simple = Elegante, Limpio, Directo
    ◦ Simple != Fácil




                                                   agustin.villena@gmail.com
Ciclo de Gestión del Proyecto Orientada al Valor




                                                                                 Ciclo de Gestión del Desarrollo



                                                                                    Ciclo de
                                                                                    Programación
                                                                                    de calidad



    ¿Qué define el mejor y más simple diseño?

    Se siguen 4 guías en orden de prioridad
     1.El sistema (código y pruebas incluidos) debe comunicar todo lo
       que se desea comunicar
     2.No debe existir código duplicado
     3.El sistema debe tener el menor número de clases
     4.El sistema debe tener el menor número de métodos




                                                    agustin.villena@gmail.com
Tests son programados antes de programar la implementación. Luego de

    programar, se verifica la correctitud automáticamente
    Aumenta la confianza del desarrollador en su código


    Facilita el mejorar el código sin provocar errores en cascada


    Herramientas:

     ◦JUnit : Java
     ◦NUnit : .NET
     ◦PyUnit : Python
     ◦CPPUnit : C++
     ◦etc.




                                                          agustin.villena@gmail.com
16-04-2009   agustin.villena@chileagil.cl
Ciclo de Gestión del Proyecto Orientada al Valor




                                                                  Ciclo de Gestión del Desarrollo



                                                                     Ciclo de
                                                                     Programación
                                                                     de calidad




◦ Cuando dos segmentos de código hagan los mismo,
  se refactoriza para combinarlos y simplificar el
  código resultante… SIEMPRE
◦ Permite la implementación del llamado “Diseño
  Emergente”, en contraste con “Diseño detallado”




                                     agustin.villena@gmail.com
Ciclo de Gestión del Proyecto Orientada al Valor




                                                                               Ciclo de Gestión del Desarrollo



                                                                                  Ciclo de
                                                                                  Programación
                                                                                  de calidad




◦ Generar ejecutables funcionales periódicamente (a lo más
  diaramente)
◦ Se valida además la integridad del código corriendo las suites
  de tests de aceptación y de unidad
   Depende de tener un sistema de pruebas
◦ Ojalá sea automático




                                      Cruisecontrol , de Martin Fowler
                                                  agustin.villena@gmail.com
Extreme programming

    ◦   www.extremeprogramming.org
    WikiWiki entry point for XP

    ◦   http://c2.com/cgi/wiki?ExtremeProgr
        ammingRoadmap
    Scrum Development Process

    ◦   www.controlchaos.org
    Gestión Ágil de Software
                                                                 www.chileagil.cl
    ◦   www.agilemanagement.net
    Lean Software Development                     Artículos y Enlaces sobre Metodologías
                                             
                                                  Ágiles y su adopción e impacto en la
    ◦   www.poppendieck.com
                                                  industria local
    Agile Alliance

    ◦   www.agilealliance.org




                                                  agustin.villena@chileagil.cl

Weitere ähnliche Inhalte

Was ist angesagt?

HABLEMOS DE AGILIDAD, SCRUM - RAZONES, FALLAS Y TIPS
HABLEMOS DE AGILIDAD, SCRUM - RAZONES, FALLAS Y TIPSHABLEMOS DE AGILIDAD, SCRUM - RAZONES, FALLAS Y TIPS
HABLEMOS DE AGILIDAD, SCRUM - RAZONES, FALLAS Y TIPSJorge Hernán Abad Londoño
 
Agile Requirements Gathering Techniques
Agile Requirements Gathering TechniquesAgile Requirements Gathering Techniques
Agile Requirements Gathering TechniquesOnur Demir
 
Estrategia y métodos para adoptar agilidad en áreas de negocio
Estrategia y métodos para adoptar  agilidad en áreas de negocioEstrategia y métodos para adoptar  agilidad en áreas de negocio
Estrategia y métodos para adoptar agilidad en áreas de negocioGiovanny Cifuentes
 
Product discovery con frameworks de ux y agile inception
 Product discovery con frameworks de ux y agile inception Product discovery con frameworks de ux y agile inception
Product discovery con frameworks de ux y agile inceptionGiovanny Cifuentes
 
CICLO DE DESARROLLO DE ARQUITECTURA DE SOFTWARE.pdf
CICLO DE DESARROLLO DE ARQUITECTURA DE SOFTWARE.pdfCICLO DE DESARROLLO DE ARQUITECTURA DE SOFTWARE.pdf
CICLO DE DESARROLLO DE ARQUITECTURA DE SOFTWARE.pdfDavidVeraOlivera
 
Seminario Metodologias Predictivas vs Agiles. UTN FRBA 16.06.2014
Seminario Metodologias Predictivas vs Agiles. UTN FRBA 16.06.2014Seminario Metodologias Predictivas vs Agiles. UTN FRBA 16.06.2014
Seminario Metodologias Predictivas vs Agiles. UTN FRBA 16.06.2014Alejandro Gabay
 
Lean la siguiente ola de la agilidad.pdf
Lean la siguiente ola de la agilidad.pdfLean la siguiente ola de la agilidad.pdf
Lean la siguiente ola de la agilidad.pdfGiovanny Cifuentes
 
Agilidad Empresarial y SAFe
Agilidad Empresarial y SAFeAgilidad Empresarial y SAFe
Agilidad Empresarial y SAFeJohnny Ordóñez
 
El por qué de los métodos ágiles
El por qué de los métodos ágilesEl por qué de los métodos ágiles
El por qué de los métodos ágilesGiovanny Cifuentes
 
Gestión Ágil de Proyectos - II Simposio de Gestión de Proyectos 2015
Gestión Ágil de Proyectos - II Simposio de Gestión de Proyectos 2015Gestión Ágil de Proyectos - II Simposio de Gestión de Proyectos 2015
Gestión Ágil de Proyectos - II Simposio de Gestión de Proyectos 2015Johnny Ordóñez
 
Lean Inception & PBB: Cómo integrar ambas técnicas para construir el Backlog ...
Lean Inception & PBB: Cómo integrar ambas técnicas para construir el Backlog ...Lean Inception & PBB: Cómo integrar ambas técnicas para construir el Backlog ...
Lean Inception & PBB: Cómo integrar ambas técnicas para construir el Backlog ...Luis Buchelli
 
Technical Debt
Technical DebtTechnical Debt
Technical DebtGary Short
 
Entendiendo el Triángulo de Hierro en Agile
Entendiendo el Triángulo de Hierro en AgileEntendiendo el Triángulo de Hierro en Agile
Entendiendo el Triángulo de Hierro en AgileJohnny Ordóñez
 
Beneficios de aplicar cmmi
Beneficios de aplicar cmmiBeneficios de aplicar cmmi
Beneficios de aplicar cmmilucainog
 

Was ist angesagt? (20)

HABLEMOS DE AGILIDAD, SCRUM - RAZONES, FALLAS Y TIPS
HABLEMOS DE AGILIDAD, SCRUM - RAZONES, FALLAS Y TIPSHABLEMOS DE AGILIDAD, SCRUM - RAZONES, FALLAS Y TIPS
HABLEMOS DE AGILIDAD, SCRUM - RAZONES, FALLAS Y TIPS
 
Agile Requirements Gathering Techniques
Agile Requirements Gathering TechniquesAgile Requirements Gathering Techniques
Agile Requirements Gathering Techniques
 
Estrategia y métodos para adoptar agilidad en áreas de negocio
Estrategia y métodos para adoptar  agilidad en áreas de negocioEstrategia y métodos para adoptar  agilidad en áreas de negocio
Estrategia y métodos para adoptar agilidad en áreas de negocio
 
Product discovery con frameworks de ux y agile inception
 Product discovery con frameworks de ux y agile inception Product discovery con frameworks de ux y agile inception
Product discovery con frameworks de ux y agile inception
 
Kanban y Scrum
Kanban y ScrumKanban y Scrum
Kanban y Scrum
 
CICLO DE DESARROLLO DE ARQUITECTURA DE SOFTWARE.pdf
CICLO DE DESARROLLO DE ARQUITECTURA DE SOFTWARE.pdfCICLO DE DESARROLLO DE ARQUITECTURA DE SOFTWARE.pdf
CICLO DE DESARROLLO DE ARQUITECTURA DE SOFTWARE.pdf
 
Seminario Metodologias Predictivas vs Agiles. UTN FRBA 16.06.2014
Seminario Metodologias Predictivas vs Agiles. UTN FRBA 16.06.2014Seminario Metodologias Predictivas vs Agiles. UTN FRBA 16.06.2014
Seminario Metodologias Predictivas vs Agiles. UTN FRBA 16.06.2014
 
Lean la siguiente ola de la agilidad.pdf
Lean la siguiente ola de la agilidad.pdfLean la siguiente ola de la agilidad.pdf
Lean la siguiente ola de la agilidad.pdf
 
Scrum
ScrumScrum
Scrum
 
Agilidad Empresarial y SAFe
Agilidad Empresarial y SAFeAgilidad Empresarial y SAFe
Agilidad Empresarial y SAFe
 
El por qué de los métodos ágiles
El por qué de los métodos ágilesEl por qué de los métodos ágiles
El por qué de los métodos ágiles
 
Cevik Yaklasim, Scrum ve XP Pratikleri
Cevik Yaklasim, Scrum ve XP PratikleriCevik Yaklasim, Scrum ve XP Pratikleri
Cevik Yaklasim, Scrum ve XP Pratikleri
 
Scrum Experience
Scrum ExperienceScrum Experience
Scrum Experience
 
Gestión Ágil de Proyectos - II Simposio de Gestión de Proyectos 2015
Gestión Ágil de Proyectos - II Simposio de Gestión de Proyectos 2015Gestión Ágil de Proyectos - II Simposio de Gestión de Proyectos 2015
Gestión Ágil de Proyectos - II Simposio de Gestión de Proyectos 2015
 
Kickoff - OKRs - ZonaJobs
Kickoff - OKRs - ZonaJobsKickoff - OKRs - ZonaJobs
Kickoff - OKRs - ZonaJobs
 
Lean Inception & PBB: Cómo integrar ambas técnicas para construir el Backlog ...
Lean Inception & PBB: Cómo integrar ambas técnicas para construir el Backlog ...Lean Inception & PBB: Cómo integrar ambas técnicas para construir el Backlog ...
Lean Inception & PBB: Cómo integrar ambas técnicas para construir el Backlog ...
 
Technical Debt
Technical DebtTechnical Debt
Technical Debt
 
Entendiendo el Triángulo de Hierro en Agile
Entendiendo el Triángulo de Hierro en AgileEntendiendo el Triángulo de Hierro en Agile
Entendiendo el Triángulo de Hierro en Agile
 
Beneficios de aplicar cmmi
Beneficios de aplicar cmmiBeneficios de aplicar cmmi
Beneficios de aplicar cmmi
 
Introduction to Scrum
Introduction to ScrumIntroduction to Scrum
Introduction to Scrum
 

Andere mochten auch

Seminario MetodologíAs áGiles Y Xp, Tema 3 Extreme Programming
Seminario MetodologíAs áGiles Y Xp, Tema 3   Extreme ProgrammingSeminario MetodologíAs áGiles Y Xp, Tema 3   Extreme Programming
Seminario MetodologíAs áGiles Y Xp, Tema 3 Extreme Programmingguest82ea27
 
Seminario MetodologíAs áGiles Y Xp, Tema 3 Extreme Programming
Seminario MetodologíAs áGiles Y Xp, Tema 3   Extreme ProgrammingSeminario MetodologíAs áGiles Y Xp, Tema 3   Extreme Programming
Seminario MetodologíAs áGiles Y Xp, Tema 3 Extreme Programmingguest123148
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programmingjoaquin_win
 
Patrones para asignar responsabilidades. grasp
Patrones para asignar responsabilidades. graspPatrones para asignar responsabilidades. grasp
Patrones para asignar responsabilidades. graspJuan Pablo Bustos Thames
 
Modelo delta fabrica software
Modelo delta   fabrica softwareModelo delta   fabrica software
Modelo delta fabrica softwareGino Volpi
 
Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2Sergio Sanchez
 
Unidad 4 Modelo De Datos Para La ImplementacióN
Unidad 4 Modelo De Datos Para La ImplementacióNUnidad 4 Modelo De Datos Para La ImplementacióN
Unidad 4 Modelo De Datos Para La ImplementacióNSergio Sanchez
 
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)Sergio Sanchez
 
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)Sergio Sanchez
 
Unidad 2 Modelo De Datos
Unidad 2 Modelo De DatosUnidad 2 Modelo De Datos
Unidad 2 Modelo De DatosSergio Sanchez
 
Scrum en 15 minutos
Scrum en 15 minutosScrum en 15 minutos
Scrum en 15 minutosrodrigoi
 
Taller Consultas Básicas SQL Server No 1
Taller Consultas Básicas SQL Server No 1Taller Consultas Básicas SQL Server No 1
Taller Consultas Básicas SQL Server No 1Julián Castiblanco
 
Unidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos ConceptualUnidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos ConceptualSergio Sanchez
 

Andere mochten auch (20)

Manual 02
Manual 02Manual 02
Manual 02
 
Manual01
Manual01Manual01
Manual01
 
Programacion Extrema
Programacion ExtremaProgramacion Extrema
Programacion Extrema
 
Seminario MetodologíAs áGiles Y Xp, Tema 3 Extreme Programming
Seminario MetodologíAs áGiles Y Xp, Tema 3   Extreme ProgrammingSeminario MetodologíAs áGiles Y Xp, Tema 3   Extreme Programming
Seminario MetodologíAs áGiles Y Xp, Tema 3 Extreme Programming
 
Seminario MetodologíAs áGiles Y Xp, Tema 3 Extreme Programming
Seminario MetodologíAs áGiles Y Xp, Tema 3   Extreme ProgrammingSeminario MetodologíAs áGiles Y Xp, Tema 3   Extreme Programming
Seminario MetodologíAs áGiles Y Xp, Tema 3 Extreme Programming
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
 
India
IndiaIndia
India
 
Scrum orgánico - AOL V
Scrum orgánico - AOL VScrum orgánico - AOL V
Scrum orgánico - AOL V
 
Patrones para asignar responsabilidades. grasp
Patrones para asignar responsabilidades. graspPatrones para asignar responsabilidades. grasp
Patrones para asignar responsabilidades. grasp
 
Modelo delta fabrica software
Modelo delta   fabrica softwareModelo delta   fabrica software
Modelo delta fabrica software
 
Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2Unidad 6 Lenguaje Sql 2
Unidad 6 Lenguaje Sql 2
 
Kanban
KanbanKanban
Kanban
 
Unidad 4 Modelo De Datos Para La ImplementacióN
Unidad 4 Modelo De Datos Para La ImplementacióNUnidad 4 Modelo De Datos Para La ImplementacióN
Unidad 4 Modelo De Datos Para La ImplementacióN
 
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
 
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
Unidad 6 Lenguaje Sql 4 (Consultas Dml Avanzado)
 
Unidad 2 Modelo De Datos
Unidad 2 Modelo De DatosUnidad 2 Modelo De Datos
Unidad 2 Modelo De Datos
 
Scrum en 15 minutos
Scrum en 15 minutosScrum en 15 minutos
Scrum en 15 minutos
 
Taller Consultas Básicas SQL Server No 1
Taller Consultas Básicas SQL Server No 1Taller Consultas Básicas SQL Server No 1
Taller Consultas Básicas SQL Server No 1
 
Software Factory
Software FactorySoftware Factory
Software Factory
 
Unidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos ConceptualUnidad 3 Modelamiento De Datos Conceptual
Unidad 3 Modelamiento De Datos Conceptual
 

Ähnlich wie Introducción Ágil a eXtreme Programming

Cultura Agil y su Ecosistema
Cultura Agil y su EcosistemaCultura Agil y su Ecosistema
Cultura Agil y su EcosistemaChileAgil
 
Construyendo software de clase mundia
Construyendo software de clase mundiaConstruyendo software de clase mundia
Construyendo software de clase mundiaGabriel Oliva
 
Calidad del Software en la Dirección General de Tráfico
Calidad del Software en la Dirección General de TráficoCalidad del Software en la Dirección General de Tráfico
Calidad del Software en la Dirección General de TráficoCIFF Fundación
 
5. Desarrollo Aplicaciones Interactivas (HCI 1)
5. Desarrollo Aplicaciones Interactivas (HCI 1)5. Desarrollo Aplicaciones Interactivas (HCI 1)
5. Desarrollo Aplicaciones Interactivas (HCI 1)Mario A Moreno Rocha
 
Prensa activa. Adaptamos la prensa a la realidad de internet
Prensa activa. Adaptamos la prensa a la realidad de internet Prensa activa. Adaptamos la prensa a la realidad de internet
Prensa activa. Adaptamos la prensa a la realidad de internet Nuria Pallares
 
Qué metodología será más adecuada para mi proyecto software
Qué metodología será más adecuada para mi proyecto softwareQué metodología será más adecuada para mi proyecto software
Qué metodología será más adecuada para mi proyecto softwareLeanSight Consulting
 
Experiencias Con Moskitt
Experiencias Con MoskittExperiencias Con Moskitt
Experiencias Con MoskittBegoña Bonet
 
Tarea activa 2.1.1 integración del bussines case 207892
Tarea activa 2.1.1 integración del bussines case   207892Tarea activa 2.1.1 integración del bussines case   207892
Tarea activa 2.1.1 integración del bussines case 207892jlnoriegag
 
Agustin Villena - La realidad de la Agilidad en Chile
Agustin Villena  - La realidad de la Agilidad en ChileAgustin Villena  - La realidad de la Agilidad en Chile
Agustin Villena - La realidad de la Agilidad en ChileChileAgil
 
Integración Multicanal: Nueva frontera de la usabilidad
Integración Multicanal: Nueva frontera de la usabilidadIntegración Multicanal: Nueva frontera de la usabilidad
Integración Multicanal: Nueva frontera de la usabilidadjorgegarrido
 
GEP2009_EQ12_T13_PRE_EJECUCION_DEL_PROYECTO
GEP2009_EQ12_T13_PRE_EJECUCION_DEL_PROYECTOGEP2009_EQ12_T13_PRE_EJECUCION_DEL_PROYECTO
GEP2009_EQ12_T13_PRE_EJECUCION_DEL_PROYECTOnohemizamudio
 
Integración de ti al negocio a través del catalogo de servicios consejos pr...
Integración de ti al negocio a través del catalogo de servicios   consejos pr...Integración de ti al negocio a través del catalogo de servicios   consejos pr...
Integración de ti al negocio a través del catalogo de servicios consejos pr...EXIN
 
Desarrollo De Aplicaciones
Desarrollo De AplicacionesDesarrollo De Aplicaciones
Desarrollo De AplicacionesAVANZO
 
2. introduccion a la_ing_de_software
2. introduccion a la_ing_de_software2. introduccion a la_ing_de_software
2. introduccion a la_ing_de_softwareuniv of pamplona
 
Stakeholders
StakeholdersStakeholders
Stakeholdersguest787e
 
Stakeholders02
Stakeholders02Stakeholders02
Stakeholders02guest787e
 

Ähnlich wie Introducción Ágil a eXtreme Programming (20)

Cultura Agil y su Ecosistema
Cultura Agil y su EcosistemaCultura Agil y su Ecosistema
Cultura Agil y su Ecosistema
 
Construyendo software de clase mundia
Construyendo software de clase mundiaConstruyendo software de clase mundia
Construyendo software de clase mundia
 
Calidad del Software en la Dirección General de Tráfico
Calidad del Software en la Dirección General de TráficoCalidad del Software en la Dirección General de Tráfico
Calidad del Software en la Dirección General de Tráfico
 
5. Desarrollo Aplicaciones Interactivas (HCI 1)
5. Desarrollo Aplicaciones Interactivas (HCI 1)5. Desarrollo Aplicaciones Interactivas (HCI 1)
5. Desarrollo Aplicaciones Interactivas (HCI 1)
 
Usampymes1
Usampymes1Usampymes1
Usampymes1
 
Prensa activa. Adaptamos la prensa a la realidad de internet
Prensa activa. Adaptamos la prensa a la realidad de internet Prensa activa. Adaptamos la prensa a la realidad de internet
Prensa activa. Adaptamos la prensa a la realidad de internet
 
Qué metodología será más adecuada para mi proyecto software
Qué metodología será más adecuada para mi proyecto softwareQué metodología será más adecuada para mi proyecto software
Qué metodología será más adecuada para mi proyecto software
 
Experiencias Con Moskitt
Experiencias Con MoskittExperiencias Con Moskitt
Experiencias Con Moskitt
 
Curriculum
CurriculumCurriculum
Curriculum
 
Webinar: Gestión de requisitos
Webinar: Gestión de requisitosWebinar: Gestión de requisitos
Webinar: Gestión de requisitos
 
Tarea activa 2.1.1 integración del bussines case 207892
Tarea activa 2.1.1 integración del bussines case   207892Tarea activa 2.1.1 integración del bussines case   207892
Tarea activa 2.1.1 integración del bussines case 207892
 
Agustin Villena - La realidad de la Agilidad en Chile
Agustin Villena  - La realidad de la Agilidad en ChileAgustin Villena  - La realidad de la Agilidad en Chile
Agustin Villena - La realidad de la Agilidad en Chile
 
Integración Multicanal: Nueva frontera de la usabilidad
Integración Multicanal: Nueva frontera de la usabilidadIntegración Multicanal: Nueva frontera de la usabilidad
Integración Multicanal: Nueva frontera de la usabilidad
 
GEP2009_EQ12_T13_PRE_EJECUCION_DEL_PROYECTO
GEP2009_EQ12_T13_PRE_EJECUCION_DEL_PROYECTOGEP2009_EQ12_T13_PRE_EJECUCION_DEL_PROYECTO
GEP2009_EQ12_T13_PRE_EJECUCION_DEL_PROYECTO
 
Integración de ti al negocio a través del catalogo de servicios consejos pr...
Integración de ti al negocio a través del catalogo de servicios   consejos pr...Integración de ti al negocio a través del catalogo de servicios   consejos pr...
Integración de ti al negocio a través del catalogo de servicios consejos pr...
 
e-Skills Week Extremadura
e-Skills Week Extremadurae-Skills Week Extremadura
e-Skills Week Extremadura
 
Desarrollo De Aplicaciones
Desarrollo De AplicacionesDesarrollo De Aplicaciones
Desarrollo De Aplicaciones
 
2. introduccion a la_ing_de_software
2. introduccion a la_ing_de_software2. introduccion a la_ing_de_software
2. introduccion a la_ing_de_software
 
Stakeholders
StakeholdersStakeholders
Stakeholders
 
Stakeholders02
Stakeholders02Stakeholders02
Stakeholders02
 

Mehr von ChileAgil

20161121 - Historia de las Politicas de ChileAgil.pdf
20161121 - Historia de las Politicas de ChileAgil.pdf20161121 - Historia de las Politicas de ChileAgil.pdf
20161121 - Historia de las Politicas de ChileAgil.pdfChileAgil
 
LATAM Digital en ChileAgil via @elisenerman
LATAM Digital en ChileAgil via @elisenermanLATAM Digital en ChileAgil via @elisenerman
LATAM Digital en ChileAgil via @elisenermanChileAgil
 
Mesa Redonda Desafios Agilidad en Chile - Rodrigo Contreras
Mesa Redonda Desafios Agilidad en Chile - Rodrigo ContrerasMesa Redonda Desafios Agilidad en Chile - Rodrigo Contreras
Mesa Redonda Desafios Agilidad en Chile - Rodrigo ContrerasChileAgil
 
Mesa Redonda Desafios Agilidad en Chile - Hector contreras - BCI
Mesa Redonda Desafios Agilidad en Chile - Hector contreras  - BCIMesa Redonda Desafios Agilidad en Chile - Hector contreras  - BCI
Mesa Redonda Desafios Agilidad en Chile - Hector contreras - BCIChileAgil
 
Hackers de Culturas Organizacionales - Motivacion
Hackers de Culturas Organizacionales - MotivacionHackers de Culturas Organizacionales - Motivacion
Hackers de Culturas Organizacionales - MotivacionChileAgil
 
AgileDayChile 2013: Construyendo Agilidad Agilmente
AgileDayChile 2013: Construyendo Agilidad AgilmenteAgileDayChile 2013: Construyendo Agilidad Agilmente
AgileDayChile 2013: Construyendo Agilidad AgilmenteChileAgil
 
"The Lean Mindset": Mary & Tom Poppendieck's Keynote at AgileDayChile 2013
"The Lean Mindset": Mary & Tom Poppendieck's Keynote at AgileDayChile 2013"The Lean Mindset": Mary & Tom Poppendieck's Keynote at AgileDayChile 2013
"The Lean Mindset": Mary & Tom Poppendieck's Keynote at AgileDayChile 2013ChileAgil
 
Charla una receta para implantar agilismo en asignaturas de ingeniería de so...
Charla  una receta para implantar agilismo en asignaturas de ingeniería de so...Charla  una receta para implantar agilismo en asignaturas de ingeniería de so...
Charla una receta para implantar agilismo en asignaturas de ingeniería de so...ChileAgil
 
Edmundo leiva lecciones con scrum 26-09-13
Edmundo leiva   lecciones con scrum 26-09-13Edmundo leiva   lecciones con scrum 26-09-13
Edmundo leiva lecciones con scrum 26-09-13ChileAgil
 
Gerardo Cerda - Compartiendo experiencias - 20130926
Gerardo Cerda   - Compartiendo experiencias - 20130926Gerardo Cerda   - Compartiendo experiencias - 20130926
Gerardo Cerda - Compartiendo experiencias - 20130926ChileAgil
 
Un camino de 4 años - Experiencia de agilidad en el SII
Un camino de 4 años - Experiencia de agilidad en el SIIUn camino de 4 años - Experiencia de agilidad en el SII
Un camino de 4 años - Experiencia de agilidad en el SIIChileAgil
 
Celeste aguayo - Experiencia de Agilidad en Genera S.A.
Celeste aguayo  - Experiencia de Agilidad en Genera S.A.Celeste aguayo  - Experiencia de Agilidad en Genera S.A.
Celeste aguayo - Experiencia de Agilidad en Genera S.A.ChileAgil
 
Implantando prácticas ágiles en un contexto multiproyecto
Implantando prácticas ágiles en un contexto multiproyectoImplantando prácticas ágiles en un contexto multiproyecto
Implantando prácticas ágiles en un contexto multiproyectoChileAgil
 
Levantamiento Ciudadano Ágil - Nuestra Providencia enero 2012
Levantamiento Ciudadano Ágil - Nuestra Providencia enero 2012Levantamiento Ciudadano Ágil - Nuestra Providencia enero 2012
Levantamiento Ciudadano Ágil - Nuestra Providencia enero 2012ChileAgil
 
Intro to Kanban - AgileDayChile2011 Keynote
Intro to Kanban - AgileDayChile2011 KeynoteIntro to Kanban - AgileDayChile2011 Keynote
Intro to Kanban - AgileDayChile2011 KeynoteChileAgil
 
10 años de evolución del Taller de metodologias Agiles
10 años de evolución del Taller de metodologias Agiles10 años de evolución del Taller de metodologias Agiles
10 años de evolución del Taller de metodologias AgilesChileAgil
 
Conocer a tus clientes e Inteligencia Colectiva: Claves 2.0
Conocer a tus clientes e Inteligencia Colectiva: Claves 2.0Conocer a tus clientes e Inteligencia Colectiva: Claves 2.0
Conocer a tus clientes e Inteligencia Colectiva: Claves 2.0ChileAgil
 
Un terremoto, cientos de voluntarios y 6 días para levantar un portal
Un terremoto, cientos de voluntarios y 6 días para levantar un portalUn terremoto, cientos de voluntarios y 6 días para levantar un portal
Un terremoto, cientos de voluntarios y 6 días para levantar un portalChileAgil
 
Agile Perú & Agiles 2010
Agile Perú & Agiles 2010Agile Perú & Agiles 2010
Agile Perú & Agiles 2010ChileAgil
 
ALD.cl.09 Caso de Exito - NameAction
ALD.cl.09 Caso de Exito - NameActionALD.cl.09 Caso de Exito - NameAction
ALD.cl.09 Caso de Exito - NameActionChileAgil
 

Mehr von ChileAgil (20)

20161121 - Historia de las Politicas de ChileAgil.pdf
20161121 - Historia de las Politicas de ChileAgil.pdf20161121 - Historia de las Politicas de ChileAgil.pdf
20161121 - Historia de las Politicas de ChileAgil.pdf
 
LATAM Digital en ChileAgil via @elisenerman
LATAM Digital en ChileAgil via @elisenermanLATAM Digital en ChileAgil via @elisenerman
LATAM Digital en ChileAgil via @elisenerman
 
Mesa Redonda Desafios Agilidad en Chile - Rodrigo Contreras
Mesa Redonda Desafios Agilidad en Chile - Rodrigo ContrerasMesa Redonda Desafios Agilidad en Chile - Rodrigo Contreras
Mesa Redonda Desafios Agilidad en Chile - Rodrigo Contreras
 
Mesa Redonda Desafios Agilidad en Chile - Hector contreras - BCI
Mesa Redonda Desafios Agilidad en Chile - Hector contreras  - BCIMesa Redonda Desafios Agilidad en Chile - Hector contreras  - BCI
Mesa Redonda Desafios Agilidad en Chile - Hector contreras - BCI
 
Hackers de Culturas Organizacionales - Motivacion
Hackers de Culturas Organizacionales - MotivacionHackers de Culturas Organizacionales - Motivacion
Hackers de Culturas Organizacionales - Motivacion
 
AgileDayChile 2013: Construyendo Agilidad Agilmente
AgileDayChile 2013: Construyendo Agilidad AgilmenteAgileDayChile 2013: Construyendo Agilidad Agilmente
AgileDayChile 2013: Construyendo Agilidad Agilmente
 
"The Lean Mindset": Mary & Tom Poppendieck's Keynote at AgileDayChile 2013
"The Lean Mindset": Mary & Tom Poppendieck's Keynote at AgileDayChile 2013"The Lean Mindset": Mary & Tom Poppendieck's Keynote at AgileDayChile 2013
"The Lean Mindset": Mary & Tom Poppendieck's Keynote at AgileDayChile 2013
 
Charla una receta para implantar agilismo en asignaturas de ingeniería de so...
Charla  una receta para implantar agilismo en asignaturas de ingeniería de so...Charla  una receta para implantar agilismo en asignaturas de ingeniería de so...
Charla una receta para implantar agilismo en asignaturas de ingeniería de so...
 
Edmundo leiva lecciones con scrum 26-09-13
Edmundo leiva   lecciones con scrum 26-09-13Edmundo leiva   lecciones con scrum 26-09-13
Edmundo leiva lecciones con scrum 26-09-13
 
Gerardo Cerda - Compartiendo experiencias - 20130926
Gerardo Cerda   - Compartiendo experiencias - 20130926Gerardo Cerda   - Compartiendo experiencias - 20130926
Gerardo Cerda - Compartiendo experiencias - 20130926
 
Un camino de 4 años - Experiencia de agilidad en el SII
Un camino de 4 años - Experiencia de agilidad en el SIIUn camino de 4 años - Experiencia de agilidad en el SII
Un camino de 4 años - Experiencia de agilidad en el SII
 
Celeste aguayo - Experiencia de Agilidad en Genera S.A.
Celeste aguayo  - Experiencia de Agilidad en Genera S.A.Celeste aguayo  - Experiencia de Agilidad en Genera S.A.
Celeste aguayo - Experiencia de Agilidad en Genera S.A.
 
Implantando prácticas ágiles en un contexto multiproyecto
Implantando prácticas ágiles en un contexto multiproyectoImplantando prácticas ágiles en un contexto multiproyecto
Implantando prácticas ágiles en un contexto multiproyecto
 
Levantamiento Ciudadano Ágil - Nuestra Providencia enero 2012
Levantamiento Ciudadano Ágil - Nuestra Providencia enero 2012Levantamiento Ciudadano Ágil - Nuestra Providencia enero 2012
Levantamiento Ciudadano Ágil - Nuestra Providencia enero 2012
 
Intro to Kanban - AgileDayChile2011 Keynote
Intro to Kanban - AgileDayChile2011 KeynoteIntro to Kanban - AgileDayChile2011 Keynote
Intro to Kanban - AgileDayChile2011 Keynote
 
10 años de evolución del Taller de metodologias Agiles
10 años de evolución del Taller de metodologias Agiles10 años de evolución del Taller de metodologias Agiles
10 años de evolución del Taller de metodologias Agiles
 
Conocer a tus clientes e Inteligencia Colectiva: Claves 2.0
Conocer a tus clientes e Inteligencia Colectiva: Claves 2.0Conocer a tus clientes e Inteligencia Colectiva: Claves 2.0
Conocer a tus clientes e Inteligencia Colectiva: Claves 2.0
 
Un terremoto, cientos de voluntarios y 6 días para levantar un portal
Un terremoto, cientos de voluntarios y 6 días para levantar un portalUn terremoto, cientos de voluntarios y 6 días para levantar un portal
Un terremoto, cientos de voluntarios y 6 días para levantar un portal
 
Agile Perú & Agiles 2010
Agile Perú & Agiles 2010Agile Perú & Agiles 2010
Agile Perú & Agiles 2010
 
ALD.cl.09 Caso de Exito - NameAction
ALD.cl.09 Caso de Exito - NameActionALD.cl.09 Caso de Exito - NameAction
ALD.cl.09 Caso de Exito - NameAction
 

Kürzlich hochgeladen

Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 

Kürzlich hochgeladen (20)

Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 

Introducción Ágil a eXtreme Programming

  • 1. www.chileagil.cl Agustín Villena M. agustin.villena@chileagil.cl 16-04-2009
  • 2. Esta obra está publicada bajo una Atribución-No Comercial-  Licenciar Igual 2.0 Chile de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.0/cl/ agustin.villena@gmail.com
  • 3. Logros de Proyectos de Software  ◦ Pequeño avance Fuente: “CHAOS Report”, EE.UU. The Standish Group 16-04-2009 agustin.villena@chileagil.cl
  • 4. Pero con poca productividad  Fuente: “CHAOS Report”, EE.UU. The Standish Group 16-04-2009 agustin.villena@chileagil.cl
  • 5. Como lo describió el Como lo programó el Como lo explicó el Como lo entendió el Como lo diseñó el área comercial Desarrollador cliente Jefe de Proyecto Analista Como se documentó el Qué fue instalado en Qué se le cobró al Cómo fue soportado Qué necesitaba el proyecto el cliente cliente cliente en realidad 16-04-2009 agustin.villena@chileagil.cl
  • 6. Y en Chile, ¿será mejor?  ◦ ... 16-04-2009 agustin.villena@chileagil.cl
  • 7. Plano de Negocio Problema Valor (Necesidad) Lenguaje de Negocio Ámbito de la Lenguaje Funcionalidades Común Base gestión (Soluciones) Lenguaje Técnico TAREAS Calidad Plano Técnico agustin.villena@chileagil.cl
  • 8. Avance de Proyecto: - ¿Cuánto hemos avanzado realmente (en generar real valor)? - ¿Cuáles y cuántas funcionalidades queda por hacer? - ¿Cuánto tiempo se requerirá para dichas funcionalidades? - ¿Qué defectos puede tener el producto? Método de Trabajo - ¿Qué prácticas y estándares se debe seguir? - ¿Qué errores no se debe repetir? - ¿Qué debemos mejorar? ? ? Tecnología: Desarrollador - ¿Cuál tecnología usar? Cliente ¿Concuerdan? - ¿Qué sabemos hacer con Problema en resolución: ¿Concuerdan? la tecnología utilizada? - ¿Cuáles son la necesidades - ¿Cuáles es posible hacer actuales? (limites) con la - ¿Cuáles son prioritarias? tecnología? Trabajo en Equipo: ? - ¿Cómo mantener la motivación? - ¿Cómo comunicarse efectivamente? - ¿Hay áreas del proyecto que sólo puedan ser mantenidas por uno? agustin.villena@chileagil.cl Equipo de Desarrollo
  • 10. Lidiar con el Riesgo ¿Causa del Riesgo?  La incertidumbre agustin.villena@gmail.com
  • 11. Concepto: “Desarrollo de  nuevo producto” (NPD) ◦ Alta incertidumbre, tecnológica y de requerimientos ◦ Alta probabilidad de cambio el proyecto ◦ Se estima mejor mientras más se resuelve el problema ¡Un desarrollo de software es  un NPD! agustin.villena@gmail.com
  • 13. Tradicionalmente, para atacar la incertidumbre,  ◦ se trata de definir todo desde un principio ◦ generando un diseño y plan detallado, que luego el desarrollador debe ejecutar  Conformado por requerimientos abstractos y detallados ◦ En este modelo, el cliente delega su responsabilidad en el desarrollador  Y si este no cumple lo definido es castigado por multas en el contrato agustin.villena@gmail.com
  • 14. Esto da origen al Modelo de Cascada de desarrollo  Análisis y especificación de requerimientos Diseño Codificación y Test de Módulos Integración y Test del Sistema Instalación y Mantenimiento agustin.villena@gmail.com
  • 15. NO hay retroalimentación entre el problema de  negocio y el producto desarrollado ◦ Es fácil caer en el sesgo tecnológico (cool features) ◦ Se pierde sincronía con las necesidades reales del negocio  Hasta que es demasiado tarde agustin.villena@gmail.com
  • 16. Mientras más se trate de definir a priori un problema  de software que posee incertidumbre, más probabilidad hay de error Y se agrega inflexibilidad ante los (muy) posibles  cambios Problema típico del ciclo de vida “cascada” agustin.villena@gmail.com agustin.villena@gmail.com
  • 17. Cree que a medida que avanza  un proyecto, los cambios son más caros ◦ Se tiende a desarrollar cosas que se cree que alguna vez se necesitarán ◦ Tiende a priorizar según sus propia visión, no la del negocio  Primero diseñamos toda la BD y sus mantenedores, y entonces implementamos las aplicaciones cliente agustin.villena@gmail.com
  • 18. Única zona donde hay Valor para el cliente agustin.villena@gmail.com
  • 20. Cliente Problema de Negocio Proyecto de Software Ingeniero de Software Producto de Software Equipo de Desarrollo Tecnología
  • 21. Antecedente 1 Software fails to deliver… and fails to deliver value! Kent Beck, “Extreme Programming Explained”, 1999 En 2001, Kent Beck y otros autores de enfoques similares  proponen los Principios Ágiles: Individuos e interacciones Procesos y herramientas. Software funcional Documentación exhaustiva por sobre Colaboración con el cliente Negociación de contratos Responder al cambio Seguir un plan agustin.villena@chileagil.cl
  • 22. • Ken Beck, 1999, “Extreme Programming Explained” Extreme Programming • Enfoque empírico e integral de un proyecto de software (XP) • Equipos pequeños que incluyen al cliente • Basado en el enfoque de gestión de la innovación de productos de Hirotaka Takeuchi and Ikujiro Nonaka, 1986 • Sutherland and Schwaber , lo presentan en OOPSLA (1995) Scrum • Define un conjunto de herramientas de gestión y visualización de avance • Metáfora: se requiere abarcar todas las disciplinas requeridas, tal como la formación de scrum del rugby • Mary y Tom Poppendieck, “Lean Software Development” Lean Software • Define las bases teóricas de las metodologías ágiles, a partir del Toyota Development Production System 16-04-2009 agustin.villena@chileagil.cl
  • 23. Es la metodología ágil más famosa en la  actualidad Enunciada por Kent Beck, Ward Cunningham,  and Ron Jeffries. Concebida en el proyecto C3 (Chrysler  Comprehensive Compensation) Documentada en el WikiWiki original  ◦ http://c2.com/cgi/wiki?ExtremeProgrammingRoadmap Plasmada en 1999 en el libro  “Extreme Programming Explained” ◦ Acaba de salir la segunda edición en el 2005 agustin.villena@chileagil.cl
  • 24. Ciclo de Gestión del Proyecto Orientada al Valor Cliente Problema de Negocio Ciclo de Gestión del Desarrollo en Equipo Proyecto de Software Ingeniero de Software Ciclo de Programación Producto de de calidad Software Equipo de Desarrollo Tecnología XP lo organiza en ciclos de Entorno de un retroalimentación y aprendizaje acelerado proyecto de software agustin.villena@chileagil.cl
  • 25. El desarrollo de software es una actividad humana  ◦ Es afectada por la motivación, creencias y los instintos de las personas Valores Comunes: son los que permiten que las personas trabajen por el  beneficio común antes que el propio Comunicación Respeto Simplicidad Coraje Retroalimentación agustin.villena@gmail.com
  • 26. Reglas que orientan la toma de decisiones  • Comunicación abierta y honesta • Enseñar a aprender • Trabajar con los instintos de las personas • Siempre asumir simplicidad • Viajar con equipaje: poco, simple y valioso • Cambios paso a paso • Adaptar de XP a la realidad local • Jugar a ganar • Responsabilidad aceptada (antes que asignada) • Trabajo de Calidad • Atacar los problemas urgentes, dejando la mayor cantidad de opciones abiertas • Retroalimentación Rápida (favorece el aprendizaje) • Medir honestamente • Experimentos concretos agustin.villena@gmail.com
  • 27. Embrace change • • Aceptar con naturalidad y entusiasmo el cambio YAGNI: You Arent’ Gonna Need It. • Avoid PrematureGeneralization • ¡No lo vas a necesitar! (No hagas sobrediseño) Once and Only Once • DRY: Don’t repeat yourself RefactorMercilessly Una funcionalidad en una y solo una parte del sistema Fail fast • • Si va a fallar, que lo haga pronto, para asi escoger otro camino Do The Simplest Thing That Could Possibly Work • • Haz lo más “simple” que podría funcionar agustin.villena@gmail.com
  • 28. Kent Beck:  ◦ “Llevar buenas prácticas de Ingeniería de Software al extremo” Buen Práctica Práctica Extrema Software funcionando Entregas Incrementales e Integración Continua Revisiones de código Programación de a pares Sistema de Pruebas Estructurado Desarrollo Guiado por Pruebas Tener alineado al cliente Cliente in situ agustin.villena@gmail.com
  • 29. Entregas pequeñas Planning Game Gestión del Proyecto orientada al valor Cliente en terreno (Un sólo equipo) Tests de Aceptación Definición Validación del Cliente Desarrollo Planning Game de la Iteración Gestión del Desarrollo en Equipo Liderazgo Motivador Diseño (Coaching) Simple Programación de a Programación Incremental Programación en Equipo Retroalimentación de Avance pares (Tracking) (+ Mantener el equipo rotando) de Calidad Desarrollo Integración Guiado por continua Tests Stand Up Meeting Estándares de Código Espacio de Trabajo Informativo Refactorización Propiedad Colectiva de Código Ritmo Sostenido ( No a las horas extra) Retrospectivas
  • 30. funcionalidades funcionalidades tiempo tiempo Valor entregado de un proyecto tradicional Valor ideal que debiera entregar un proyecto Tradicionalmente ¿No debiera ser así? agustin.villena@gmail.com
  • 31. El desarrollo se debe dividir  en iteraciones cortas de tiempo fijo Al fin de cada iteración del  desarrollo, debe tenerse un producto funcional y útil Alto valor promedio para el cliente agustin.villena@chileagil.cl
  • 32. Visión tradicional ¿Y si fuera así?   agustin.villena@chileagil.cl agustin.villena@gmail.com
  • 33. Tiempo disponible para el proyecto  Costo (Recursos) que se dispondrán  Alcance, es decir conjunto de funcionalidades que se  desarrollarán Y la que se suele olvidar  ◦ Calidad (eficacia, resistencia a fallas, eficiencia, etc.) agustin.villena@chileagil.cl
  • 34. Por lo regular se fijan las 3 primeras variables:  ◦ “Hazme un administrador de estas tablas de la base de datos, en una semana, con dos programadores” ¿Qué sucede al haber cambio?:  ◦ Tiempo y Costo no son en realidad muy flexibles ◦ El Alcance está fijo por el diseño y el plan definido ◦ Variable que sufre: la Calidad, lo que afecta el valor generado para el cliente ◦ Esto genera conflicto  El cliente siempre querrá el mayor valor por sus recursos invertidos  Y el desarrollador la mayor calidad ¿Qué persona sana desea hacer un trabajo mediocre? agustin.villena@chileagil.cl
  • 35. Definamos contratos en que la duración de cada  iteración esté prefijada, inamoviblemente ◦ ¡No existen “atrasos”! Y lo que se ajusta es el alcance (cantidad y cualidad de  las funcionalidades) del proyecto para la iteración agustin.villena@chileagil.cl
  • 36. El objetivo es que todos adquieran la confianza de que las metas del proyecto (de negocio y técnicas) son  alcanzables Aquí el cliente comparte su responsabilidad sobre el proyecto con el desarrollador, en una relación de  sinergia ◦ (inspirado en el modelo Toyota de gestión) Cliente Desarrollador Desea Valor recibido por cada Calidad del trabajo maximizar semana de desarrollo realizado Qué será implementado, y Cuánto se estima que en qué prioridad, según las demorará una tarea Puede necesidades de su (idealmente) definir negocio Funcionalidades Sus estimaciones en base a Puede solicitadas por otras no nuevos descubrimientos cambiar implementadas de costo equivalente (canjear) agustin.villena@chileagil.cl
  • 37. C = Cliente El flujo del Planning Game D = Desarrollador C Fase de Exploración Escribir Historias para toda la iteración D Estimar Historias C Dividir Historias NO El Planning Game  ¿Estimable? Experimentos Concretos D ◦ Juego colaborativo que SI sigue las los roles y Fase de Compromiso C Ordenar por Valor reglas de la gestión ágil D Ordenar por Riesgo ◦ Se usan historias de D Definir Velocidad usuario escritas en C Decidir Alcance tarjetas Recuperación D Fase de Maniobra C Nueva Historia Iteración Velocidad Cliente requiere C sobreestimada nueva historia Planning Game de la Iteración D Desarrollo XP Plan no es adecuado D Ejecutar Re-Estimar D Test no ¿OK? C Funcionales Validar si agustin.villena@gmail.com
  • 38. Ciclo de Gestión del Proyecto Orientada al Valor Ciclo de Gestión del Desarrollo Ciclo de Programación de calidad Gestión del Desarrollo en Equipo Stand Up Meeting Liderazgo Motivador (Coaching) Espacio de Trabajo Planning Game de la Iteración Retroalimentación de Avance Informativo (Tracking) Retrospectivas Ritmo Sostenido ( No a las horas extra) Ciclo de Desarrollo agustin.villena@gmail.com
  • 39. Ciclo de Gestión del Proyecto Orientada al Valor Ciclo de Gestión del Desarrollo Ciclo de Programación de calidad Planning Game de la Iteración  ◦ Plan orientado al trabajo técnico (descomponer historias de usuario en tareas) StandUpMeeting  ◦ Mini-reunión al comenzar la jornada, en que todos, de pie, definen lo que harán  Asi se va directo al grano agustin.villena@gmail.com
  • 40. Ciclo de Gestión del Proyecto Orientada al Valor Ciclo de Gestión del Desarrollo Ciclo de Programación de calidad Productividad Sostenida  (No al sobretiempo) ◦ Los equipos XP trabajan duro, y a un ritmo que puede sostenerse indefinidamente. Esto significa:  Se trabaja sobretiempo sólo cuando es efectivo, pero se entiende como algo extra-ordinario  Un proceso ordenado saca el mejor provecho del tiempo ya asignado  Un desarrollador cansado no produce más que uno descansado  También llamado “40 horas a la semana” (aplicado a jornada completa) ◦ Otra aplicación del timeboxing agustin.villena@gmail.com
  • 41. Ciclo de Gestión del Proyecto Orientada al Valor Ciclo de Gestión del Desarrollo Ciclo de Programación de calidad ¿Cómo alcanzar el justo medio entre…?   Gestión centralizada  Caos Se definen dos roles  ◦ Coach (Entrenador) ◦ Tracker (Medidor de avance) … pueden ser cumplidos por la misma persona agustin.villena@gmail.com
  • 42. Ciclo de Gestión del Proyecto Orientada al Valor Ciclo de Gestión del Desarrollo Ciclo de Programación Ayudar al resto a hacer un trabajo aún mejor de calidad  Que todos tomen buenas decisiones  Estar disponible para ser socio de desarrollo (en especial de los novicios)  Vislumbrar objetivos de refactorización de gran escala, y promover las  refactorizaciones pequeñas que ayuden Ayudar a los programadores con destrezas individuales  ◦ Testing, ◦ Formateo y estandarización de código ◦ refactorización Explicar el proceso a gerentes de mayor nivel  Proveer de juguetes y comida   agustin.villena@gmail.com
  • 43. Ciclo de Gestión del Proyecto Orientada al Valor Ciclo de Gestión del Desarrollo Ciclo de Programación de calidad Usar métricas para medir el avance del proyecto (solo las  indispensables) ◦ Por ejemplo: Tiempo de desarrollo / Tiempo calendario ◦ Actualizarlas mínimo 2 veces por semana Ayudar al Entrenador a  ◦ Motivar al cambio de una manera gentil y no coercitiva Mostrar la información en una Carta Grande y Visible para  todo el equipo en el Espacio Informativo agustin.villena@gmail.com
  • 44. Ciclo de Gestión del Proyecto Orientada al Valor Ciclo de Gestión del Desarrollo Ciclo de Programación de calidad Burn Down Chart: Estado de Avance (Kanban)   Horas de trabajo que quedan agustin.villena@gmail.com
  • 45. Ciclo de Gestión del Proyecto Orientada al Valor Ciclo de Gestión del Desarrollo Ciclo de Programación de calidad En vez de pasar a   ◦ diseñar-programar-probar- ◦ Diseñar continuamente, Probar continuamente, Armar depurar-armar-entregar, continuamente , Revisar continuamente y Entregar temprana y frecuentemente Diseño Simple Programación de a Programación Incremental Programación en Equipo pares (+ Mantener el equipo rotando) de Calidad Desarrollo Integración Guiado por continua Tests Estándares de Código Refactorización Propiedad Colectiva de Código
  • 46. Ciclo de Gestión del Proyecto Orientada al Valor Ciclo de Gestión del Desarrollo Ciclo de Programación de calidad Programación de a pares  ◦ Un computador, un teclado, un mouse, y dos programadores ◦ Empírico  código un 20% más simple  15% adicional de productividad sobre el trabajo separado agustin.villena@gmail.com
  • 47. Ciclo de Gestión del Proyecto Orientada al Valor Ciclo de Gestión del Desarrollo Ciclo de Programación de calidad Propiedad Colectiva de Código:  todos son propietarios (y responsables) de todo el código ◦ NO existen módulos intocables Estilo común de codificación:  Usar convenciones que permitan que cualquier desarrollador pueda entender, usar y modificar el código desarrollado por el equipo agustin.villena@gmail.com
  • 48. Ciclo de Gestión del Proyecto Orientada al Valor Ciclo de Gestión del Desarrollo Ciclo de Programación de calidad Propiedad Colectiva de Código:  todos son propietarios (y responsables) de todo el código ◦ NO existen módulos intocables Estilo común de codificación:  Usar convenciones que permitan que cualquier desarrollador pueda entender, usar y modificar el código desarrollado por el equipo agustin.villena@gmail.com
  • 49. Ciclo de Gestión del Proyecto Orientada al Valor Ciclo de Gestión del Desarrollo Ciclo de Programación de calidad Diseñar para lo que realmente se necesita  ◦ Ojo: si nadie conoce el problema, es imposible saber qué se necesita ◦ => hay que pensar continuamente el problema También llamado “Diseño Simple”  ◦ Simple = Elegante, Limpio, Directo ◦ Simple != Fácil agustin.villena@gmail.com
  • 50. Ciclo de Gestión del Proyecto Orientada al Valor Ciclo de Gestión del Desarrollo Ciclo de Programación de calidad ¿Qué define el mejor y más simple diseño?  Se siguen 4 guías en orden de prioridad 1.El sistema (código y pruebas incluidos) debe comunicar todo lo que se desea comunicar 2.No debe existir código duplicado 3.El sistema debe tener el menor número de clases 4.El sistema debe tener el menor número de métodos agustin.villena@gmail.com
  • 51. Tests son programados antes de programar la implementación. Luego de  programar, se verifica la correctitud automáticamente Aumenta la confianza del desarrollador en su código  Facilita el mejorar el código sin provocar errores en cascada  Herramientas:  ◦JUnit : Java ◦NUnit : .NET ◦PyUnit : Python ◦CPPUnit : C++ ◦etc. agustin.villena@gmail.com
  • 52. 16-04-2009 agustin.villena@chileagil.cl
  • 53. Ciclo de Gestión del Proyecto Orientada al Valor Ciclo de Gestión del Desarrollo Ciclo de Programación de calidad ◦ Cuando dos segmentos de código hagan los mismo, se refactoriza para combinarlos y simplificar el código resultante… SIEMPRE ◦ Permite la implementación del llamado “Diseño Emergente”, en contraste con “Diseño detallado” agustin.villena@gmail.com
  • 54. Ciclo de Gestión del Proyecto Orientada al Valor Ciclo de Gestión del Desarrollo Ciclo de Programación de calidad ◦ Generar ejecutables funcionales periódicamente (a lo más diaramente) ◦ Se valida además la integridad del código corriendo las suites de tests de aceptación y de unidad  Depende de tener un sistema de pruebas ◦ Ojalá sea automático Cruisecontrol , de Martin Fowler agustin.villena@gmail.com
  • 55. Extreme programming  ◦ www.extremeprogramming.org WikiWiki entry point for XP  ◦ http://c2.com/cgi/wiki?ExtremeProgr ammingRoadmap Scrum Development Process  ◦ www.controlchaos.org Gestión Ágil de Software  www.chileagil.cl ◦ www.agilemanagement.net Lean Software Development Artículos y Enlaces sobre Metodologías   Ágiles y su adopción e impacto en la ◦ www.poppendieck.com industria local Agile Alliance  ◦ www.agilealliance.org agustin.villena@chileagil.cl