Principios de
Metodologías Ágiles
David de Francisco Marcos
MSc, MBA, PMP y PMI-ACP
david.de.fco@gmail.com
¿Qué es un Proyecto?

 Un esfuerzo temporal (principio y fin)
 Para crear un servicio/producto/resultado
  único
 Mediante elaboración progresiva
 Cuantificable y se puede planificar
Proyectos de Conocimiento


Trabajo visible                Trabajo invisible
Previsible                     Cambiante
Énfasis en ejecutar            Énfasis en cambiar/crear
+ estructura / - decisiones    - estructura / + decisiones
Foco en respuestas adecuadas   Foco en preguntas adecuadas
Definición de procesos         Comprensión de procesos
Jerarquía de mando             Autonomía
Estándares estrictos           Innovación
Cantidad                       Calidad
Rendimiento                    Aprendizaje y formación
Minimizar costes               Maximizar valor
Un Proyecto Cualquiera
Un Poco de Historia
                   Definición de procesos
                   Flujos productivos
                   Producción en cadena
                     “Mis clientes pueden tener el modelo T en el color
Henry Ford, 1913
                     que quieran… siempre que quieran el color negro”


Just In time (JIT)
Pull vs Push
Lean Manufacturing
                                                            Sakichi Toyoda
Aplicando Principios Lean
 Objetivo: proporcionar valor al
  cliente
  –   Priorizando el valor
  –   Entregas planificadas y
      frecuentes
  –   Eliminar lo que no aporta valor
      (waste)
 Equipos auto-organizados y
  autónomos
 Mejora continua durante el
  proceso
Manifiesto Ágil
Manifiesto por el Desarrollo Ágil de Software

  Estamos descubriendo formas mejores de desarrollar software tanto
  por nuestra propia experiencia como ayudando a terceros. A través
  de este trabajo hemos aprendido a valorar:

  Individuos e interacciones sobre procesos y herramientas
  Software funcionando sobre documentación extensiva
  Colaboración con el cliente sobre negociación contractual
  Respuesta ante el cambio sobre seguir un plan

  Esto es, aunque valoramos los elementos de la derecha,
  valoramos más los de la izquierda.
                                            http://agilemanifesto.org
Principios Ágiles
1. Nuestra mayor prioridad es satisfacer al cliente    6. El método más eficiente y efectivo de
   mediante la entrega temprana y continua de              comunicar información al equipo de desarrollo
   software con valor.                                     y entre sus miembros es la conversación cara
2. Aceptamos que los requisitos cambien,                   a cara.
   incluso en etapas tardías del desarrollo. Los       7. El software funcionando es la medida principal
   procesos Ágiles aprovechan el cambio para               de progreso.
   proporcionar ventaja competitiva al cliente.        8. Los procesos Ágiles promueven el desarrollo
                                                           sostenible. Los promotores, desarrolladores y
3. Entregamos software funcional
                                                           usuarios debemos ser capaces de mantener un
   frecuentemente, entre dos semanas y dos
                                                           ritmo constante de forma indefinida.
   meses, con preferencia al periodo de tiempo
                                                       9. La atención continua a la excelencia técnica
   más corto posible.
                                                           y al buen diseño mejora la Agilidad.
4. Los responsables de negocio y los                   10. La simplicidad, o el arte de maximizar la
   desarrolladores trabajamos juntos de forma              cantidad de trabajo no realizado, es esencial.
   cotidiana durante todo el proyecto.                 11. Las mejores arquitecturas, requisitos y diseños
5. Los proyectos se desarrollan en torno a                 emergen de equipos auto-organizados.
   individuos motivados. Hay que darles el             12. A intervalos regulares el equipo reflexiona
   entorno y el apoyo que necesitan, y confiarles la       sobre cómo ser más efectivo para a
   ejecución del trabajo.                                  continuación ajustar y perfeccionar su
                                                           comportamiento en consecuencia.
Un Ejemplo
   Proyecto: Celebrar una fiesta                       Sostenible

   Objetivo: Que la fiesta sea un éxito y sigáis siendo amigos después
   Duración: Cuatro días (Miércoles-Sábado)
   Equipo: 3 amigos y tú
    –   El experto en cocktails    Equipo multifuncional     Competente
    –   El cocinillas
                                     Auto organizado         Responsable
    –   El repostero
    –   El relaciones públicas
 Fases: Cada noche nos juntamos para:                     Iteraciones fijas
    –   Miércoles: planificar y obtener recursos
    –   Jueves: producir sub-componentes
    –   Viernes: dar la fiesta                             Entrega (release)
    –   Sábado: recoger y pensar cómo mejorar
Preparando la Fiesta…
 Miércoles
    – Os sentáis a decidir qué vais a servir, música, temática…
Resultado:                                                Incremento
    – de
• Lista e la compra
• Se asigna a cada uno lo que debe comprar y dónde           MMF



 Jueves
    – Preparación de la comida por parte del grupo en la cocina

 Resultado:                                              Co-ubicación
 • Ingredientes preparados en el frigorífico
                                                     Entregas relacionadas
Llegó el día D!
 Viernes
   – Fiesta!
Resultado:                                         Entrega (release)
• La– e se celebra
     fiesta
• Todo ha salido como estaba previsto              Review Meeting



 Sábado
   – Recoger, poner en común lo que hemos hecho y celebrarlo!

 Resultado:                                         Retrospective
 • Lecciones aprendidas
 • La próxima fiesta la haremos aún mejor!
Planificación vs Priorización
         Tradicional                         Agile
            Ámbito                Costes                  Fechas




                                           Priorización

         Planificación




Costes                   Fechas              Ámbito
¿Por Qué Funciona?
 Control descentralizado
    – La complejidad rompe las reglas
   Feedback frecuente y temprano
   Incrementos priorizados por valor   ROI
   Involucrar a todo el equipo
   Cada equipo gobierna su destino
   Mejores resultados del proyecto

Principios de Metodologías Ágiles

  • 1.
    Principios de Metodologías Ágiles Davidde Francisco Marcos MSc, MBA, PMP y PMI-ACP david.de.fco@gmail.com
  • 2.
    ¿Qué es unProyecto?  Un esfuerzo temporal (principio y fin)  Para crear un servicio/producto/resultado único  Mediante elaboración progresiva  Cuantificable y se puede planificar
  • 3.
    Proyectos de Conocimiento Trabajovisible Trabajo invisible Previsible Cambiante Énfasis en ejecutar Énfasis en cambiar/crear + estructura / - decisiones - estructura / + decisiones Foco en respuestas adecuadas Foco en preguntas adecuadas Definición de procesos Comprensión de procesos Jerarquía de mando Autonomía Estándares estrictos Innovación Cantidad Calidad Rendimiento Aprendizaje y formación Minimizar costes Maximizar valor
  • 4.
  • 5.
    Un Poco deHistoria Definición de procesos Flujos productivos Producción en cadena “Mis clientes pueden tener el modelo T en el color Henry Ford, 1913 que quieran… siempre que quieran el color negro” Just In time (JIT) Pull vs Push Lean Manufacturing Sakichi Toyoda
  • 6.
    Aplicando Principios Lean Objetivo: proporcionar valor al cliente – Priorizando el valor – Entregas planificadas y frecuentes – Eliminar lo que no aporta valor (waste)  Equipos auto-organizados y autónomos  Mejora continua durante el proceso
  • 7.
    Manifiesto Ágil Manifiesto porel Desarrollo Ágil de Software Estamos descubriendo formas mejores de desarrollar software tanto por nuestra propia experiencia como ayudando a terceros. A través de este trabajo hemos aprendido a valorar: Individuos e interacciones sobre procesos y herramientas Software funcionando sobre documentación extensiva Colaboración con el cliente sobre negociación contractual Respuesta ante el cambio sobre seguir un plan Esto es, aunque valoramos los elementos de la derecha, valoramos más los de la izquierda. http://agilemanifesto.org
  • 8.
    Principios Ágiles 1. Nuestramayor prioridad es satisfacer al cliente 6. El método más eficiente y efectivo de mediante la entrega temprana y continua de comunicar información al equipo de desarrollo software con valor. y entre sus miembros es la conversación cara 2. Aceptamos que los requisitos cambien, a cara. incluso en etapas tardías del desarrollo. Los 7. El software funcionando es la medida principal procesos Ágiles aprovechan el cambio para de progreso. proporcionar ventaja competitiva al cliente. 8. Los procesos Ágiles promueven el desarrollo sostenible. Los promotores, desarrolladores y 3. Entregamos software funcional usuarios debemos ser capaces de mantener un frecuentemente, entre dos semanas y dos ritmo constante de forma indefinida. meses, con preferencia al periodo de tiempo 9. La atención continua a la excelencia técnica más corto posible. y al buen diseño mejora la Agilidad. 4. Los responsables de negocio y los 10. La simplicidad, o el arte de maximizar la desarrolladores trabajamos juntos de forma cantidad de trabajo no realizado, es esencial. cotidiana durante todo el proyecto. 11. Las mejores arquitecturas, requisitos y diseños 5. Los proyectos se desarrollan en torno a emergen de equipos auto-organizados. individuos motivados. Hay que darles el 12. A intervalos regulares el equipo reflexiona entorno y el apoyo que necesitan, y confiarles la sobre cómo ser más efectivo para a ejecución del trabajo. continuación ajustar y perfeccionar su comportamiento en consecuencia.
  • 9.
    Un Ejemplo  Proyecto: Celebrar una fiesta Sostenible  Objetivo: Que la fiesta sea un éxito y sigáis siendo amigos después  Duración: Cuatro días (Miércoles-Sábado)  Equipo: 3 amigos y tú – El experto en cocktails Equipo multifuncional Competente – El cocinillas Auto organizado Responsable – El repostero – El relaciones públicas  Fases: Cada noche nos juntamos para: Iteraciones fijas – Miércoles: planificar y obtener recursos – Jueves: producir sub-componentes – Viernes: dar la fiesta Entrega (release) – Sábado: recoger y pensar cómo mejorar
  • 10.
    Preparando la Fiesta… Miércoles – Os sentáis a decidir qué vais a servir, música, temática… Resultado: Incremento – de • Lista e la compra • Se asigna a cada uno lo que debe comprar y dónde MMF  Jueves – Preparación de la comida por parte del grupo en la cocina Resultado: Co-ubicación • Ingredientes preparados en el frigorífico Entregas relacionadas
  • 11.
    Llegó el díaD!  Viernes – Fiesta! Resultado: Entrega (release) • La– e se celebra fiesta • Todo ha salido como estaba previsto Review Meeting  Sábado – Recoger, poner en común lo que hemos hecho y celebrarlo! Resultado: Retrospective • Lecciones aprendidas • La próxima fiesta la haremos aún mejor!
  • 12.
    Planificación vs Priorización Tradicional Agile Ámbito Costes Fechas Priorización Planificación Costes Fechas Ámbito
  • 13.
    ¿Por Qué Funciona? Control descentralizado – La complejidad rompe las reglas  Feedback frecuente y temprano  Incrementos priorizados por valor ROI  Involucrar a todo el equipo  Cada equipo gobierna su destino  Mejores resultados del proyecto