11 de Mayo de 2011
• Programador, desarrollador,
  arquitecto de software, autor,
  coach ágil, orador etc.
• Mas de 15 años en las «trincheras»
  de la industria
• Revistas:
   –   Visual Systems Journal,
   –   Visual Studio Magazine,
   –   .NET Developers Journal,
   –   Infoq.com
   –   etc.




                                       11-05-2011   www.leansight.com
   Agustín Villena Moya
   Ingeniero Civil en Computación, U. de Chile (1998)
   Magister en Ciencias de la Computación, U. de Chile (2008)
   «Emprendedor Serial»




                                                   www.leansight.com
   Muchos han tratado de encontrarlo
   Dicen que se encuentra en Lejano Oriente: Cathay,
    India
   Efecto de producción masiva y economía de escala
   Mano de obra barata
    ◦ Modelo programático simplificado
    ◦ Herramientas de modelado, CASE, visual
   Especialización
    ◦ Análisis, Diseño, Implementación, Testing etc.
   Línea de ensamblaje
   División de labor
   Estandarización
   Componentización
   Mano de obra barata y poco entrenada
   «Minimizando gastos y maximizando ganancias»
   Reutilización
   Automatización
    ◦ Es mas eficiente
       Reutilizar un software bien hecho
        vs.
       Producir código masivamente
   Ejemplos
    ◦ RoR vs. Struts
    ◦ ORM vs. SQL repetitivo
   Código es el diseño
Creencia popular entre managers de
tecnología
¿Mejor que la Software Factory?
Como lo explicó el    Como lo entendió el    Como lo diseñó el      Como lo programó el   Como lo describió el
     cliente             Jefe de Proyecto        Analista               Desarrollador        área comercial




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




                                                                   www.leansight.com
   “Echandole pa’ adelante” programming
   No documento nada
   Lo pruebo yo solito
   Arreglo las cosas directo en producción
   En el camino arreglamos la carga
   Mi codigo es MIO
principios, métodos y prácticas




                    www.leansight.com
versus    versus
Waterfall
Inflexibilidad       Filo del Caos                   Caos




Empoderamiento                        Alineamiento
    + atribuciones                   + valores
    + confianza                      + principios
◦ Pocos principios
  fundamentales, que
  apoyan la toma de
  decisiones en terreno

◦ Base para equipos de
  Alto Rendimiento que
  enfrentan
  alta incertidumbre

◦ Sinónimo
  Inteligencia colectiva


                            www.leansight.com
   Tres albañiles construían un muro. Cuando les
    preguntaron que hacían:
    ◦ El 1° dijo que “pegaba ladrillos con ladrillos”
    ◦ El 2° digo que “construía una muralla”
    ◦ El 3° dijo, “construyo una catedral”


   Le preguntaron a una mujer de limpieza de la NASA
    cual era su labor, respondió:
    ◦ “Ayudar que el el hombre llegue a la luna”



                                                        www.leansight.com
Clave para Alinear Equipos
de Alto Rendimiento




            www.leansight.com
   Una Cultura basada en
    ◦ Principios
    ◦ Valores
    ◦ Prácticas

   ¿En qué nos enfocamos?
    ◦ La creación constante de valor
      en un entorno incierto a partir
      del aprendizaje colaborativo
      entre las personas
       Clientes, desarrolladores,
        usuarios, expertos, etc.



                                        www.leansight.com
   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




                                                           www.leansight.com
www.leansight.com
Cliente         Problema de Negocio




                                                                     Proyecto de
                                                                     Software
                       Ingeniero
                       de Software




                                                  Producto de
Equipo de                                         Software
Desarrollo
                                     Tecnología




                                                                www.leansight.com
Ciclo de Gestión del Proyecto Orientada al Valor
             Cliente        Problema de Negocio




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

                       Ingeniero
                       de Software


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



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




                                                                                          www.leansight.com
   Inspirado 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)
   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
   Es una metodología para gestionar desarrollos de productos
    ◦ ¡Cualquier tipo de producto!



                                                              www.leansight.com
Release
                                                                                                          Release




                                  Management Cycle
                                                                        Planning




                                   Value Oriented
                                                         Product        Meeting        Product
                                                        Owner Role                     Backlog




                                                                            Development




                                                                        Sprint Planning Meeting   Tasks


                            Scrum Master Role
Teamwork Management Cycle




                            Burn down Charts


                               Task Board

                            Daily Scrum Meeting

                                Sprint Retrospective Meeting
                                                     Scrum Scoreboard


                                                                                          www.leansight.com
   Ken Beck, 1999, “Extreme Programming Explained”
   Enfoque empírico e integral de un proyecto de software
   Equipos pequeños que incluyen al cliente
   Premisa
    ◦ Llevar las buenas prácticas de desarrollo al extremo




                                                             www.leansight.com
Planning Game                                             Small
                                                                                                                                                     Releases




                                  Management Cycle
                                   Value Oriented
                                                       On Site
                                                                                                           User Stories
                                                      Customer
                                                     (One team)
                                                                                                                   Acceptance Tests
                                                                                              Definition                                         Validation


                                                                                                  Development



                                                                                                Iteration Planning
                                                                                                                                      Tasks


                                  Coaching
Teamwork Management Cycle




                                                                                                                                                       Simple
                                  Tracking /                                         Pair Programming                                                  Design




                                                                                                            Incremental Development
                            Informative Workspace                                     (+ Move people
                                                                  Team Development



                                                                                           around)




                                                                                                                 Quality Oriented
                                                                                                                                       Test Driven                 Continuous




                                                                                                                       Cycle
                                                                                                                                      Development                  Integration
                                                                                      Code Standards

                              Stand Up Meeting
                                                                                       Collective Code                                               Refactoring
                                                                                         Ownership
                                No Overtime




                                                                                                                          www.leansight.com
   Manifiesto sale a la luz Marzo de 2009
   Busca devolver la excelencia técnica al rango de pilar del
    movimiento ágil

                                                     Una comunidad de
              Individuos e interacciones
                                                       profesionales

                  Software funcional                Software bien hecho
        No                                  sino
       sólo                                 que
              Colaboración con el cliente          Sociedades productivas

                                                   Constantemente agregar
                Responder al cambio
                                                            valor



                                                              www.leansight.com
   Se disponen en un tablero que
    refleja el estado de cada actividad de
    trabajo (kanban)
       看板: “Tarjeta Señal”
   Se sincroniza el problema de
    negocio y la capacidad del equipo de
    desarrollo desarrollo usando Kanban
   Cada persona escoge el trabajo a
    realizar
    ◦ Responsabilidad asumida, no asignada
      (Principio de eXtreme Programming)
                                             Fuente:
                                             http://www.xqa.com.ar/visualmanagement/author/xavier/




                                                                         www.leansight.com
   Hace visible claramente el flujo de trabajo
   Responde fácilmente: ¿Dónde estamos?
   Enfoca al equipo
   Presenta rápidamente cuellos de botella
   Es sencilla y barata




                                Cambiar por




                                                  www.leansight.com
Emprender Agilmente
   No existen empresas innovadoras exitosas, sino
    productos innovadores exitosos
    ◦ Que viven en un Océano Azul
   Ejemplo: Apple


                     Newton :                            iPod:
                     Fracaso                             Éxito




                                           agustin.villena@noviscorp.com   35
   1959:
    ◦ Premio de MMUS$ 1,3 al primer avión propulsado
      por fuerza humana

   1969: aun sin ganadores
    ◦ Paul MacCready miró el problema y observó:
       «Demoran 1 año en construir el avión, y 1 día en
        ponerlo a prueba»
    ◦ Solución:
       avión fácilmente re construible
       1 prueba por día
    ◦ Resultado:
       falló muchas veces, pero ganó el premio en poco
        tiempo
   Steve Blank
                                       ◦ Check your hypotheses
                                      ◦ Get out of the building!
                                             ◦ Good engineers
                                    understand their customers!




   Eric Ries
    ◦ Stop wasting people’s time!


                                                 www.leansight.com
• Hay que enfocarse en validar y desarrollar el
  mercado
    ◦ ¡Cuestiona tus hipótesis!
    ◦ ¡Valídalas en la realidad!
   Si
    Startup = experimento
    entonces
    Lean Startup = + experimentos (y aprendizaje)
                    x$


                                           www.leansight.com
Desarrollo de Cliente




                                     Hipótesis,
Problema:desconocido                 Experimentos,
                                     Revelaciones
                                                                                           Datos,
Solución: desconocida                                                          Retroalimentación,
                                                                                     Revelaciones




                                                                                                                           Fuente:
                                                                                     Eric Ries - Lean Startups Doing More with Less
                   http://assets.en.oreilly.com/1/event/30/Lean%20Startups_%20Doing%20More%20with%20Less%20Presentation.pptx
                                                                                              www.leansight.com
   Casa antigua donde funcionan varias PYMES
    tecnológicas
    ◦ 4 o 5 empresas                     Río Mapocho
    ◦ ~ 20 personas


   En el barrio
    “Mapocho Valley”
Comunicado   Mapocho
   res        Valley
•   Kanban
               •   Holocracia
  Gestión      •   Cliente “in situ”
               •   Reuniones de pie


               • Programación de a pares
Programación   • Propiedad colectiva de código



               • Entregar rápido
   Lean        • Respetar a las personas
               • Optimizar el todo
   Portal oficial teletón «Chile ayuda a Chile»
   Fundación Digitales por Chile
   Integración a CrisisCommons
   4 Crisis Camp en 1 año
Premio GECHS a mejor iniciativa digital solidaria
ChileAgil
   Espacio en donde, quienes nos
    reúne un interés común,
    compartimos nuestros éxitos y
    fracasos
    ◦ Fundamental para quienes vamos
      a fracasar mucho para ser
      exitosos
Comunidad




            • Que reúne a los practicantes de Agilidad
              y Lean Thinking en Chile



            • Desean generar real valor de negocio
              innovando con calidad y eficiencia
            • Creen profundamente en el valor de las
              personas colaborando en equipo
Que




            • Quieren transformar la industria chilena en un
              ambiente creativo, y motivante
            • Y han encontrado una fuente inspiradora en la
              comunidad ágil y lean mundial




                                                       www.leansight.com
Tomar Conciencia




Comprometerse                      Proyectar




         Y
     superarse


      http://www.chileagil.cl/desafio-kanban-primer-paso-hacia-la-agilidad/
www.twitter.com/chileagil


www.chileagil.cl


www.chileagil.cl/tag/podcast


failfast.chileagil.cl


groups.google.com/group/chileagil/

Introducción a las Metodologías Ágiles

  • 1.
    11 de Mayode 2011
  • 2.
    • Programador, desarrollador, arquitecto de software, autor, coach ágil, orador etc. • Mas de 15 años en las «trincheras» de la industria • Revistas: – Visual Systems Journal, – Visual Studio Magazine, – .NET Developers Journal, – Infoq.com – etc. 11-05-2011 www.leansight.com
  • 3.
    Agustín Villena Moya  Ingeniero Civil en Computación, U. de Chile (1998)  Magister en Ciencias de la Computación, U. de Chile (2008)  «Emprendedor Serial» www.leansight.com
  • 5.
    Muchos han tratado de encontrarlo  Dicen que se encuentra en Lejano Oriente: Cathay, India
  • 6.
    Efecto de producción masiva y economía de escala  Mano de obra barata ◦ Modelo programático simplificado ◦ Herramientas de modelado, CASE, visual  Especialización ◦ Análisis, Diseño, Implementación, Testing etc.
  • 9.
    Línea de ensamblaje  División de labor  Estandarización  Componentización  Mano de obra barata y poco entrenada  «Minimizando gastos y maximizando ganancias»
  • 10.
    Reutilización  Automatización ◦ Es mas eficiente  Reutilizar un software bien hecho vs.  Producir código masivamente  Ejemplos ◦ RoR vs. Struts ◦ ORM vs. SQL repetitivo  Código es el diseño
  • 11.
    Creencia popular entremanagers de tecnología
  • 13.
    ¿Mejor que laSoftware Factory?
  • 14.
    Como lo explicóel Como lo entendió el Como lo diseñó el Como lo programó el Como lo describió el cliente Jefe de Proyecto Analista Desarrollador área comercial 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 www.leansight.com
  • 15.
    “Echandole pa’ adelante” programming  No documento nada  Lo pruebo yo solito  Arreglo las cosas directo en producción  En el camino arreglamos la carga  Mi codigo es MIO
  • 16.
    principios, métodos yprácticas www.leansight.com
  • 17.
    versus versus Waterfall
  • 18.
    Inflexibilidad Filo del Caos Caos Empoderamiento Alineamiento + atribuciones + valores + confianza + principios
  • 19.
    ◦ Pocos principios fundamentales, que apoyan la toma de decisiones en terreno ◦ Base para equipos de Alto Rendimiento que enfrentan alta incertidumbre ◦ Sinónimo  Inteligencia colectiva www.leansight.com
  • 20.
    Tres albañiles construían un muro. Cuando les preguntaron que hacían: ◦ El 1° dijo que “pegaba ladrillos con ladrillos” ◦ El 2° digo que “construía una muralla” ◦ El 3° dijo, “construyo una catedral”  Le preguntaron a una mujer de limpieza de la NASA cual era su labor, respondió: ◦ “Ayudar que el el hombre llegue a la luna” www.leansight.com
  • 21.
    Clave para AlinearEquipos de Alto Rendimiento www.leansight.com
  • 22.
    Una Cultura basada en ◦ Principios ◦ Valores ◦ Prácticas  ¿En qué nos enfocamos? ◦ La creación constante de valor en un entorno incierto a partir del aprendizaje colaborativo entre las personas  Clientes, desarrolladores, usuarios, expertos, etc. www.leansight.com
  • 23.
    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 www.leansight.com
  • 24.
  • 25.
    Cliente Problema de Negocio Proyecto de Software Ingeniero de Software Producto de Equipo de Software Desarrollo Tecnología www.leansight.com
  • 26.
    Ciclo de Gestióndel Proyecto Orientada al Valor Cliente Problema de Negocio Proyecto de Ciclo de Gestión del Desarrollo en Equipo Software Ingeniero de Software Ciclo de Producto de Programación Software de calidad Equipo de Desarrollo Tecnología Entorno de un XP lo organiza en ciclos de proyecto de software retroalimentación y aprendizaje acelerado www.leansight.com
  • 27.
    Inspirado 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)  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  Es una metodología para gestionar desarrollos de productos ◦ ¡Cualquier tipo de producto! www.leansight.com
  • 28.
    Release Release Management Cycle Planning Value Oriented Product Meeting Product Owner Role Backlog Development Sprint Planning Meeting Tasks Scrum Master Role Teamwork Management Cycle Burn down Charts Task Board Daily Scrum Meeting Sprint Retrospective Meeting Scrum Scoreboard www.leansight.com
  • 29.
    Ken Beck, 1999, “Extreme Programming Explained”  Enfoque empírico e integral de un proyecto de software  Equipos pequeños que incluyen al cliente  Premisa ◦ Llevar las buenas prácticas de desarrollo al extremo www.leansight.com
  • 30.
    Planning Game Small Releases Management Cycle Value Oriented On Site User Stories Customer (One team) Acceptance Tests Definition Validation Development Iteration Planning Tasks Coaching Teamwork Management Cycle Simple Tracking / Pair Programming Design Incremental Development Informative Workspace (+ Move people Team Development around) Quality Oriented Test Driven Continuous Cycle Development Integration Code Standards Stand Up Meeting Collective Code Refactoring Ownership No Overtime www.leansight.com
  • 31.
    Manifiesto sale a la luz Marzo de 2009  Busca devolver la excelencia técnica al rango de pilar del movimiento ágil Una comunidad de Individuos e interacciones profesionales Software funcional Software bien hecho No sino sólo que Colaboración con el cliente Sociedades productivas Constantemente agregar Responder al cambio valor www.leansight.com
  • 32.
    Se disponen en un tablero que refleja el estado de cada actividad de trabajo (kanban)  看板: “Tarjeta Señal”  Se sincroniza el problema de negocio y la capacidad del equipo de desarrollo desarrollo usando Kanban  Cada persona escoge el trabajo a realizar ◦ Responsabilidad asumida, no asignada (Principio de eXtreme Programming) Fuente: http://www.xqa.com.ar/visualmanagement/author/xavier/ www.leansight.com
  • 33.
    Hace visible claramente el flujo de trabajo  Responde fácilmente: ¿Dónde estamos?  Enfoca al equipo  Presenta rápidamente cuellos de botella  Es sencilla y barata Cambiar por www.leansight.com
  • 34.
  • 35.
    No existen empresas innovadoras exitosas, sino productos innovadores exitosos ◦ Que viven en un Océano Azul  Ejemplo: Apple Newton : iPod: Fracaso Éxito agustin.villena@noviscorp.com 35
  • 36.
    1959: ◦ Premio de MMUS$ 1,3 al primer avión propulsado por fuerza humana  1969: aun sin ganadores ◦ Paul MacCready miró el problema y observó:  «Demoran 1 año en construir el avión, y 1 día en ponerlo a prueba» ◦ Solución:  avión fácilmente re construible  1 prueba por día ◦ Resultado:  falló muchas veces, pero ganó el premio en poco tiempo
  • 37.
    Steve Blank ◦ Check your hypotheses ◦ Get out of the building! ◦ Good engineers understand their customers!  Eric Ries ◦ Stop wasting people’s time! www.leansight.com
  • 38.
    • Hay queenfocarse en validar y desarrollar el mercado ◦ ¡Cuestiona tus hipótesis! ◦ ¡Valídalas en la realidad!  Si Startup = experimento entonces Lean Startup = + experimentos (y aprendizaje) x$ www.leansight.com
  • 39.
    Desarrollo de Cliente Hipótesis, Problema:desconocido Experimentos, Revelaciones Datos, Solución: desconocida Retroalimentación, Revelaciones Fuente: Eric Ries - Lean Startups Doing More with Less http://assets.en.oreilly.com/1/event/30/Lean%20Startups_%20Doing%20More%20with%20Less%20Presentation.pptx www.leansight.com
  • 41.
    Casa antigua donde funcionan varias PYMES tecnológicas ◦ 4 o 5 empresas Río Mapocho ◦ ~ 20 personas  En el barrio “Mapocho Valley”
  • 43.
    Comunicado Mapocho res Valley
  • 44.
    Kanban • Holocracia Gestión • Cliente “in situ” • Reuniones de pie • Programación de a pares Programación • Propiedad colectiva de código • Entregar rápido Lean • Respetar a las personas • Optimizar el todo
  • 45.
    Portal oficial teletón «Chile ayuda a Chile»  Fundación Digitales por Chile  Integración a CrisisCommons  4 Crisis Camp en 1 año
  • 46.
    Premio GECHS amejor iniciativa digital solidaria
  • 47.
  • 48.
    Espacio en donde, quienes nos reúne un interés común, compartimos nuestros éxitos y fracasos ◦ Fundamental para quienes vamos a fracasar mucho para ser exitosos
  • 49.
    Comunidad • Que reúne a los practicantes de Agilidad y Lean Thinking en Chile • Desean generar real valor de negocio innovando con calidad y eficiencia • Creen profundamente en el valor de las personas colaborando en equipo Que • Quieren transformar la industria chilena en un ambiente creativo, y motivante • Y han encontrado una fuente inspiradora en la comunidad ágil y lean mundial www.leansight.com
  • 50.
    Tomar Conciencia Comprometerse Proyectar Y superarse http://www.chileagil.cl/desafio-kanban-primer-paso-hacia-la-agilidad/
  • 51.