SlideShare une entreprise Scribd logo
1  sur  37
Una mirada al desarrollo por
entregas continuas
Continuous Delivery
Bernadette Martínez Hernández
Sumario



✓   1   Ingeniería de Software

✓   2   Agile

✓   3   Lean

✓   4   Scrum

✓   5   Kanban

✓   6   Continuous Delivery

✓   7   Peguntas
Ingeniería de Software
Desarrollo en cascada
Ingeniería de Software
Desarrollo en cascada
Ingeniería de Software
Desarrollo en cascada
Agile, Lean, Scrum y Kanban
Agile


  Cuatro valores básicos (manifiesto Agile):

  1. Los individuos y sus interacciones por encima de los procesos y las
     herramientas (COMUNICACION)
  2. Entregar software que funciona por encima de hacer la
     documentación
  3. Colaboración con el cliente por encima de la negociación de los
     contratos
  4. Responder al cambio por encima de seguir un plan

        El desarrollo ágil no es una metodología. Es un término
          incluyente que describe varias metodologías ágiles.
Agile, Lean, Scrum y Kanban
Agile


Los doce principios Ágiles son:
1. Nuestra mayor prioridad es satisfacer al cliente a través de la entrega
   temprana y continua de software con valor.
2. Aceptamos requisitos cambiantes, incluso en etapas avanzadas. Los procesos
   ágiles aprovechan el cambio para proporcionar ventaja competitiva al cliente.
3. Entregamos software frecuentemente, con una periodicidad desde un par de
   semanas a un par de meses, con preferencia por los periodos más cortos
   posibles.
4. Los responsables de negocio y los desarrolladores deben trabajar juntos
   diariamente a lo largo del proyecto.
5. Construimos proyectos con profesionales motivados. Dándoles el entorno y
   soporte que necesitan, y confiando en ellos para que realicen el trabajo.
6. El método más eficiente y efectivo de comunicar la información a un equipo de
   desarrollo y entre los miembros del mismo es la conversación cara a cara.
Agile, Lean, Scrum y Kanban
Agile


Los doce principios Ágiles son:
7. Software que funciona es la principal medida de progreso.
8. Los procesos ágiles promueven el desarrollo sostenible. Patrocinadores,
    desarrolladores y usuarios deben ser capaces de mantener un ritmo constante
    de forma indefinida.
9. La atención continua a la excelencia técnica y los buenos diseños mejoran la
    agilidad.
10. Simplicidad, el arte de maximizar la cantidad de trabajo no realizado, es
    esencial.
11. Las mejores arquitecturas, requisitos y diseños surgen de equipos que se
    auto-organizan.
12. A intervalos regulares el equipo reflexiona sobre cómo ser más efectivo,
    entonces mejora y ajusta su comportamiento de acuerdo a sus conclusiones.
Agile, Lean, Scrum y Kanban
Lean


    PIENSA EN GRANDE, ACTÚA EN PEQUEÑO, EQUIVÓCATE RÁPIDO; APRENDE CON RAPIDEZ


Los principios de desarrollo de software Lean (magro):
• Eliminar el desperdicio
• Ampliar el aprendizaje
• Manejar la incertidumbre tomando decisiones hasta el último momento.(Sin
  evadir la planeación, sólo enfocarse en la adaptabilidad)
• Reaccionar tan rápido como sea posible
• Dar poder al equipo (Las personas no son recursos)
• Fomentar la integridad (Refactorización y automatización de pruebas)
• Tener una visión clara del „todo‟
• Puntos buenos: Enfoque en el „todo‟, autonomía del equipo (decide y ejecuta
  los procesos que necesita)
• Puntos malos: Ignora la necesidad de dividir para analizar en proyectos
  grandes, posponer las decisiones puede causar problemas.
Agile, Lean, Scrum y Kanban
Scrum

 • Scrum es un marco de trabajo para el desarrollo de software
   (herramienta que aplica el principio de divide y vencerás)
 • Roles, sprint, el equipo crea un incremento de software
   potencialmente entregable, backlog, reuniones planeadas.
 • Un principio clave de Scrum es el reconocimiento de que durante un
   proyecto los clientes pueden cambiar de idea sobre lo que quieren y
   necesitan y que los desafíos impredecibles no pueden ser
   fácilmente enfrentados de una forma predictiva y planificada.
 • Scrum adopta una aproximación pragmática, aceptando que el
   problema no puede ser completamente entendido o definido, y
   centrándose en maximizar la capacidad del equipo de entregar
   rápidamente y responder a requisitos emergentes.
Agile, Lean, Scrum y Kanban
Scrum

 • Puntos buenos: Metas pequeñas y fáciles de cuantificar, una
   reunión mínima diaria, impulsa la formación de equipos.
 • Puntos malos: Inflexible (grupos multitareas), demasiadas
   reuniones de supervisión, no funciona bien en equipos inexpertos
   y/o no familiarizados con Agile y/o con problemas internos de
   confianza, requiere un excelente líder, se enfoca demasiado en lo
   que los usuarios quieren, la productividad y las metas inmediatas,
   ignora especializaciones (causa de stress), minimiza en exceso la
   importancia de la documentación, las entregas terminales a
   usuarios y los bloqueos.
Agile, Lean, Scrum y Kanban
Scrum
Agile, Lean, Scrum y Kanban
Scrum
Agile, Lean, Scrum y Kanban
Kanban

•   Kanban es una herramienta visual de control y manejo de proyectos y procesos que ayuda a
    administrar efectivamente el flujo de trabajo durante una iteración. Kanban es una
    herramienta, y como cualquier herramienta, su propósito es resolver un problema... Lean
    es una filosofía.
•   Kanban Standups:
      o ¿Tenemos cuellos de botella (cola con exceso de trabajo)?
      o ¿Tenemos algo que bloquea la continuidad del proceso?
      o ¿Estamos manteniendo nuestro límite de trabajos en progreso?
      o ¿Tenemos las prioridades claras?
      o ¿Qué se hizo ayer, qué hay que hacer hoy?
•   Tablero o pizarrón Kanban se actualiza por lo menos una vez al día. El encargado de cada
    reunión enumera trabajo, NO gente. Reglas de control de calidad para el movimiento de
    tarjetas
•   Principio de mejora continua. Preguntar ¿POR QUÉ? hasta que duela
•   Gente con diferentes habilidades tiene que trabajar en equipo para terminar las metas.
•   No desarrollar features que nadie quiere en este momento. No escribir más especificaciones de
    las que se pueda desarrollar. No hacer pruebas en más software del que se planee instalar.
    Descomposición de ideas en features redituables.
Agile, Lean, Scrum y Kanban
Kanban



 • Puntos buenos: Los mismos de Scrum además de ser más
   flexible (no hay iteraciones!) y proporcionar una manera de
   controlar los bloqueos ,la sobrecarga de trabajo y no ignorar la
   documentación ya que se vuelve parte del proceso. Apunta hacia
   el desarrollo por entregas continuas.
 • Puntos malos: Se enfoca demasiado a satisfacer lo que los
   clientes quieren, la productividad y las metas inmediatas,
   ignorando especializaciones (causa de stress) además de la
   estimación y la planeación, el principio de mejora continua puede
   cansar o presionar en exceso, requiere mucha disciplina.
Agile, Lean, Scrum y Kanban
Kanban
Agile, Lean, Scrum y Kanban

  No hay herramientas ni filosofías perfectas, entonces lo mejor es combinar y ajustar.
                   Scrumban con un toque de sal, limón y chile
Continuous Delivery
Desarrollo por entregas continuas




                              El flujo de trabajo reforzado por Kanban apunta a
                              que un punto ignorado en el que nos debemos
                              enfocar es el perfeccionamiento del movimiento de
                              tareas en el flujo, independientemente de qué
                              tareas se estén procesando. Por ejemplo; al usar
                              Kanban se considera una falla el regresar tareas a
                              colas previas. Cuando la causa de esa falla, está
                              en el proceso, debemos eliminarla.

                              ¿En tu organización, cuánto tiempo pasa para que
                              una línea de código llegue a producción?

                              ¿Cuánta confianza tienes en tu producto?
Continuous Delivery
Desarrollo por entregas continuas


  •   Continuous Delivery significa que un producto es considerado
      terminado desde el día uno del proyecto y puede ser dado a los
      clientes, incluso si no todas las características y features han sido
      implementados.
  •   Da prioridad a la retroalimentación para evitar:
       –   Retrasos en la compilación , documentación y construcción de instaladores
       –   Esperas largas de ejecutables adecuados par a efectuar tests
       –   Reportes de bugs y problemas semanas después de haber concluido un proyecto
       –   Identificación de problemas estructurales justo cuando el proyecto está a punto de
           concluir
  •   Jez Humble y David Farley Continuous Delivery (Addison Wesley,
      2010)
  •   ThoughtWorks lo usa y provee una herramienta gratuita (Go). Libro se
      usa como texto en Oxford en la materia de Prácticas de Ingeniería Ágil.
Continuous Delivery




                                   Implanta
                      Desarrolla


            Define
Continuous Delivery
Poner en acción las mejores prácticas en tres áreas principales
dentro de una organización




                Procesos               Personas              Herramientas
Continuous Delivery
Principios


  •   Implantación (deployment) repetible y confiable
  •   Repetición de procesos difíciles hasta que sean entendidos,
      simplificados y/o automatizados
  •   Automatizar TODO
  •   Versionar TODO (junto con la compilación y corrida automática de tests
      compone Continuous Integration)
  •   Terminado = Considerado en ambiente de producción (aunque no
      siempre se haga público para que pueda ser instalado como sucede en
      el paradigma de Continuous Deployment)
  •   TODOS son responsables de proceso de emisión del software
      (release)
  •   Calidad desde la primera emisión del software.
  •   Mejora continua.
Continuous Delivery
Prácticas


  • Compilar el producto una sola vez
  • Usar el mismo mecanismo de implantación para todos los
    ambientes
  • Correr test preliminares (no exhaustivos)
  • Cualquier falla hace que la línea de producción se detenga.
  • Desarrollo en la Tubería de Montaje
      – Equipo de desarrollo y entrega → Control de versiones → Tests de
        compilación y unit tests → Tests de aceptación automatizados →
        Tests de aceptación del usuario → Release
      – Esto no es nuevo, es simple y llano método científico
        (Planteamiento del problema, formulación de la hipótesis,
        experimentación, ley)
Continuous Delivery
La Tubería de Montaje (Deployment Pipeline)

•   Cada que se salva código en el sistema de control de versiones se activa una
    corrida de la tubería y el software se compila, se corren los tests y si todos ellos
    son satisfechos el software puede publicarse.
•   Ventajas:
     – Método probado que permite crear, verificar y montar sistemas complejos de gran
       calidad a un costo y riesgo menor. Confianza en el producto (test, test, test)
     – Evitar el “en mi maquina funciona” vía tests en entornos parecidos a los de
       producción (VM, Plataform As A Service [cloud])
         o Test de aceptación automáticos
         o Test de aceptación de los usuarios
         o Test de capacidad
     – Recibir noticia inmediata de errores y regresiones además de proveer una aplicación
       terminada tan pronto y tan frecuentemente como sea posible
     – Incrementa la visibilidad del nivel de terminación del producto ya que hay
       retroalimentación temprana cada vez que hay una nueva versión.
     – Facilita el montaje de versiones especificas
Continuous Delivery
Problemas que pueden ocurrir


  • Paralelización insuficiente
  • Mal diseño de la tubería de tal suerte que ciertos tests
    no se pueden saltar o reordenar, no se le puede dar
    prioridad a ciertas versiones o el proceso es muy lento
  • Falta de herramientas que permitan alternar entre
    ambientes “en vivo” y “en proceso de testing” (staging)
Continuous Delivery
Conceptos importantes


•   Adecuado para Kanban
•   Principios clave para la Tubería:
     –   Construir ejecutables una sola vez, almacenarlos en el repositorio de productos y mandarlos a la Tubería
     –   Promover únicamente las versiones que pasen todos los unit tests y los tests de aceptación
     –   Los ambientes de desarrollo, corrida de tests (automatizados y de aceptación) y staging deben ser lo más
         similares posible al ambiente de producción.
•   Automatizar TODO: compilación, configuración y tests. Los seres humanos tienden a cometer errores
    en procesos repetitivos.
•   Versionar TODO, incluida la configuración del sistema operativo, infraestructura y equipo de red. Para
    el versionado de la Base de Datos
     –   Versionar la base de datos y usar una herramienta para manejar los cambios
     –   Compatibilidad hacia adelante y hacia atrás con respecto a la base de datos
     –   Cambios aditivos solamente
     –   Tests adecuados que creen solo los datos necesarios
     –   Evitar integraciones entre aplicaciones vía base de datos
•   Continuous Integration (SVN, GIT)
•   Continuous Deployment (Cloud Foundry)
•   Switch para features
•   Staging
Continuous Delivery
Más información


• Capítulo 5 sobre la Tubería:
  http://ptgmedia.pearsoncmg.com/images/9780321601919/samplepage
  s/0321601912.pdf
• http://www.infoq.com/presentations/Continuous-Delivery
• http://www.infoq.com/interviews/jez-humble-agile2011
• http://www.infoq.com/articles/humble-farley-continuous-delivery
• http://continuousdelivery.com/
• http://continuous-delivery.thoughtworks.com/
• http://www.slideshare.net/jmcgarr/continuous-delivery-8341276
• http://www.davefarley.net/
Development
                     Production



Test Planning




Development
   Cycle




                 Done and ready for deployment.
    QA
Development
Development cycle: TDD

           Write a test or a
           set of tests
           according to the                                          Code passes
           specification and                                         all the tests.
           check they fail.




                                                            Some tests fail or
                                                            some code can be
                                                            improved.




                               Fix code so all previous
                               tests pass or improve
                               the quality of the code or
                               its efficiency.
Development
Production



                   Why:
                   1. If a task goes back into the cycle is
      Scrumban        because the requirements
                      changed, not because somebody
                      understood them wrong, didn‟t
                      have them at all, or unexpected
                      things got broken.

             TDD   2. TDD + Scrumban enforces
                      discipline and quality.
                   3. Eventually, iteration and
                      retrospectives blend in, creating an
                      atmosphere of continuous
                      production.
Altienban

                                                                All items To Do

              Ideas, breakdown features, tasks ready for
 Definition   development




              Prioritized backlog, test planning, development
Development   cycle, QA, done, extra, urgent




              Waiting for installer, test installer, needs
              documentation
Deployment




                                                                    Waste
Altienban
Kanban
Altienban
Details


  •   If there is nothing to take on my usual queue and I cannot start or continue more work in other queues without
      passing the WIP limit of any queue maybe it is time for a standup. Board may be inaccurate or I can do something
      to unblock a currently blocked item but I may not know about it. The following guidelines can be useful to help in
      this situation:
       –    Can you help progress an existing Kanban? Work on that.
       –    Don‟t have the right skills? Find the bottleneck and work to release it.
       –    Don‟t have the right skills? Pull in work from the queue.
       –    Can‟t start anything in the queue? Is there any lower priority to start investigating?
       –    There is nothing lower priority? Find other interesting work.
  •   Stop the Line for special cause problems. Retrospectives with Operations Reviews for common cause problems
      and reassess the whole value stream
  •   If requirements are not complete at the definition state, it is OK, we only need to get as much info as possible at
      that point. Be creative to do that (e.g. drawings and simulations). Requirements may change later, but at least we
      avoid waste on things that could have initially avoided.
  •   Development cycle requires developer to run the feature test and all the relevant tests. QA does the wrap-up of the
      tests and checks nothing is missing before declaring it done. M may do the more complex or manual tests.
      Possibly check their interaction with other finished work.
  •   Minimal requirement is that the code is decent enough for someone to take over. If not perfect at least
      documented or with references of who to ask.
  •   Test planning: write or get a problem or task specification. Write a test, check if the test fails. Write tests easy to
      maintain. Initial tests should not break the encapsulation!
  •   Documentation should be easy to draw from cases if all examples and explanations are there.
Altienban
En este momento….

•   Mejora de la integración continua por medio de una serie de reglas y monitoreo
    además del uso de GIT como método suplementario de integración continua.
•   Manufactura de la documentación ha mejorado considerablemente gracias a que
    los casos son especificados de mejor manera.
•   Parte de los tests están automatizados (número de unit tests se ha
    incrementado) y cada que se salva código en el sistema de control de versiones,
    se corren test básicos (continuous integration)
•   La compilación y construcción de los programas de instalación ha sido
    automatizada en su mayoría, aunque aún requiere una persona a cargo que
    supervise y dos o tres pasos manuales.
•   Bases de datos están versionadas y con un método bastante seguro y
    establecido de adición de cambios.
•   Reducido el tiempo de entrega de producto de tres-seis meses a un mes si es
    necesario, teniendo varios RCs entre periodo y periodo.
Altienban
Mayores retos

•   Cambio de actitud
     – Garantizar tiempo para efectuar las mejoras
     – Continuidad
     – Disciplina y participación de todas las esferas de la organización
     – Importancia de la implementación y ejecución de tests
•   Lidiar con los contras de CD
     – Dificultad de implementar al 100% en una sola iteración, lento proceso de mejoras continuas que
         puede exasperar
     – Implementación de la tubería completa demanda muchísima dedicación y tiempo que es difícil de
         conseguir en una compañía de tamaño pequeño.
•   Planes futuros:
     – Automatización completa de la compilación, construcción de programas de instalación e
         implantación
     – Reducción del ciclo de producción y mejora del diseño de la Tubería de Montaje (permitir staging)
     – Implantación automática en maquinas virtuales que ejecuten series de tests automáticamente
     – Mejora de tests: más DSLs, mejor TDD y usar Selenium además de VM para la instalación y
         corrida automática de tests.
     – Herramienta de manejo y tests automáticos para las bases de datos usadas por el producto.
¡Gracias!


¿Preguntas?

Contenu connexe

Tendances

Fundamentos de las metodologías ágiles
Fundamentos de las metodologías ágilesFundamentos de las metodologías ágiles
Fundamentos de las metodologías ágilesDomingo Gallardo
 
Metodologías ágiles y lean para desarrollo de proyectos de TI
Metodologías ágiles y lean para desarrollo de proyectos de TIMetodologías ágiles y lean para desarrollo de proyectos de TI
Metodologías ágiles y lean para desarrollo de proyectos de TICarmen Gerea
 
Introducción a la metodologías ágiles y scrum
Introducción a la metodologías ágiles y scrumIntroducción a la metodologías ágiles y scrum
Introducción a la metodologías ágiles y scrumRicardo Miguel Palacin Anco
 
FACCI METODOLOGIAS AGILES
FACCI METODOLOGIAS AGILESFACCI METODOLOGIAS AGILES
FACCI METODOLOGIAS AGILESafrancoing
 
Desarrollo ágil de software, Scrum
Desarrollo ágil de software, ScrumDesarrollo ágil de software, Scrum
Desarrollo ágil de software, ScrumPablo Lischinsky
 
Metodologia SCRUM
Metodologia SCRUM Metodologia SCRUM
Metodologia SCRUM carmen1589
 
Gestión ágil de proyectos
Gestión ágil de proyectosGestión ágil de proyectos
Gestión ágil de proyectosMax Kraszewski
 
Scrum UMNG - Herramientas de Emprendimiento
Scrum UMNG - Herramientas de EmprendimientoScrum UMNG - Herramientas de Emprendimiento
Scrum UMNG - Herramientas de EmprendimientoJulián R. Figueroa
 
Scrum clase 1 y 2
Scrum clase 1 y 2Scrum clase 1 y 2
Scrum clase 1 y 2S
 
Introduccion A Scrum, con caso práctico
Introduccion A Scrum, con caso prácticoIntroduccion A Scrum, con caso práctico
Introduccion A Scrum, con caso prácticoguestebf771
 
Metodologías Ágiles - Scrum y XP
Metodologías Ágiles - Scrum y XPMetodologías Ágiles - Scrum y XP
Metodologías Ágiles - Scrum y XPJose I. Honrado
 
Scrum trainer freddy vargas clase 3
Scrum trainer freddy vargas clase 3Scrum trainer freddy vargas clase 3
Scrum trainer freddy vargas clase 3S
 

Tendances (20)

Fundamentos de las metodologías ágiles
Fundamentos de las metodologías ágilesFundamentos de las metodologías ágiles
Fundamentos de las metodologías ágiles
 
Metodologías ágiles y lean para desarrollo de proyectos de TI
Metodologías ágiles y lean para desarrollo de proyectos de TIMetodologías ágiles y lean para desarrollo de proyectos de TI
Metodologías ágiles y lean para desarrollo de proyectos de TI
 
Introducción a kanban en la gestión de proyectos
Introducción a kanban en la gestión de proyectosIntroducción a kanban en la gestión de proyectos
Introducción a kanban en la gestión de proyectos
 
Introducción a la metodologías ágiles y scrum
Introducción a la metodologías ágiles y scrumIntroducción a la metodologías ágiles y scrum
Introducción a la metodologías ágiles y scrum
 
Scrum
ScrumScrum
Scrum
 
FACCI METODOLOGIAS AGILES
FACCI METODOLOGIAS AGILESFACCI METODOLOGIAS AGILES
FACCI METODOLOGIAS AGILES
 
Scrum
ScrumScrum
Scrum
 
METODOLOGIA SCRUM
METODOLOGIA SCRUM METODOLOGIA SCRUM
METODOLOGIA SCRUM
 
Desarrollo ágil de software, Scrum
Desarrollo ágil de software, ScrumDesarrollo ágil de software, Scrum
Desarrollo ágil de software, Scrum
 
Metodologia SCRUM
Metodologia SCRUM Metodologia SCRUM
Metodologia SCRUM
 
Gestión ágil de proyectos
Gestión ágil de proyectosGestión ágil de proyectos
Gestión ágil de proyectos
 
Scrum UMNG - Herramientas de Emprendimiento
Scrum UMNG - Herramientas de EmprendimientoScrum UMNG - Herramientas de Emprendimiento
Scrum UMNG - Herramientas de Emprendimiento
 
Scrum clase 1 y 2
Scrum clase 1 y 2Scrum clase 1 y 2
Scrum clase 1 y 2
 
Scrum, Kanban & XP
Scrum, Kanban & XP Scrum, Kanban & XP
Scrum, Kanban & XP
 
Introduccion A Scrum, con caso práctico
Introduccion A Scrum, con caso prácticoIntroduccion A Scrum, con caso práctico
Introduccion A Scrum, con caso práctico
 
Presentación de Scrum
Presentación de ScrumPresentación de Scrum
Presentación de Scrum
 
Unidad 1 Calidad de software.pdf
Unidad 1 Calidad de software.pdfUnidad 1 Calidad de software.pdf
Unidad 1 Calidad de software.pdf
 
Metodologías Ágiles - Scrum y XP
Metodologías Ágiles - Scrum y XPMetodologías Ágiles - Scrum y XP
Metodologías Ágiles - Scrum y XP
 
Metodologías ágiles
Metodologías ágilesMetodologías ágiles
Metodologías ágiles
 
Scrum trainer freddy vargas clase 3
Scrum trainer freddy vargas clase 3Scrum trainer freddy vargas clase 3
Scrum trainer freddy vargas clase 3
 

Similaire à Una mirada al desarrollo por entregas continuas

Práctica SRUM - (Introducción) v1.pptx
Práctica SRUM - (Introducción) v1.pptxPráctica SRUM - (Introducción) v1.pptx
Práctica SRUM - (Introducción) v1.pptxEverCGonzalesRodrigo1
 
SEMANA 14 METODOS ÁGILES DE INNOVACIÓN.ppt
SEMANA 14 METODOS ÁGILES DE INNOVACIÓN.pptSEMANA 14 METODOS ÁGILES DE INNOVACIÓN.ppt
SEMANA 14 METODOS ÁGILES DE INNOVACIÓN.pptPGNaya
 
Agilidad, Scrum y otras experiencias.pdf
Agilidad, Scrum y otras experiencias.pdfAgilidad, Scrum y otras experiencias.pdf
Agilidad, Scrum y otras experiencias.pdfFranciscoVelandiaSot
 
520313818-Metodologias-Agiles.pptx
520313818-Metodologias-Agiles.pptx520313818-Metodologias-Agiles.pptx
520313818-Metodologias-Agiles.pptxronald flores
 
520313818-metodologias-agiles-220418045721.pdf
520313818-metodologias-agiles-220418045721.pdf520313818-metodologias-agiles-220418045721.pdf
520313818-metodologias-agiles-220418045721.pdfEdgarAngelRojas
 
520313818-metodologias-agiles-220418045721.pdf
520313818-metodologias-agiles-220418045721.pdf520313818-metodologias-agiles-220418045721.pdf
520313818-metodologias-agiles-220418045721.pdfEdgarAngelRojas
 
SCRUM + KANBAN = SCRUMBAN
SCRUM + KANBAN = SCRUMBANSCRUM + KANBAN = SCRUMBAN
SCRUM + KANBAN = SCRUMBANYesi Campa
 
AUGBCN - Agile¿What?
AUGBCN - Agile¿What?AUGBCN - Agile¿What?
AUGBCN - Agile¿What?Marc Florit
 
Curso Introducción a Agile
Curso Introducción a AgileCurso Introducción a Agile
Curso Introducción a AgileAgile-Barcelona
 
Gestion proyectos, metodología ágiles y SCRUM
Gestion proyectos, metodología ágiles y SCRUMGestion proyectos, metodología ágiles y SCRUM
Gestion proyectos, metodología ágiles y SCRUMAlejandro Marin
 
Scrum of-platzi-slides
Scrum of-platzi-slides Scrum of-platzi-slides
Scrum of-platzi-slides Elio Laureano
 
Desarrollo ágil Webprendedor UC 2010
Desarrollo ágil Webprendedor UC 2010Desarrollo ágil Webprendedor UC 2010
Desarrollo ágil Webprendedor UC 2010Sebastián Gamboa
 
Desarrollo ágil
Desarrollo ágilDesarrollo ágil
Desarrollo ágilfponceh
 
Agile tools- Caja de herramientas ágiles - Open Space AOC Bariloche 2016
Agile tools-  Caja de herramientas ágiles - Open Space AOC Bariloche 2016Agile tools-  Caja de herramientas ágiles - Open Space AOC Bariloche 2016
Agile tools- Caja de herramientas ágiles - Open Space AOC Bariloche 2016Rose Restrepo
 
Ingeniería de Calidad -Apunte calidad en las metodologias agiles
Ingeniería de Calidad -Apunte  calidad en las metodologias agilesIngeniería de Calidad -Apunte  calidad en las metodologias agiles
Ingeniería de Calidad -Apunte calidad en las metodologias agilesDaniel Remondegui
 
Webinar: Integrar la analítica en Metodologías Ágiles
Webinar: Integrar la analítica en Metodologías ÁgilesWebinar: Integrar la analítica en Metodologías Ágiles
Webinar: Integrar la analítica en Metodologías ÁgilesIEBSchool
 
Agile tools by Rose Mery Restrepo Velez
Agile tools by Rose Mery Restrepo Velez Agile tools by Rose Mery Restrepo Velez
Agile tools by Rose Mery Restrepo Velez Rose Restrepo
 

Similaire à Una mirada al desarrollo por entregas continuas (20)

Práctica SRUM - (Introducción) v1.pptx
Práctica SRUM - (Introducción) v1.pptxPráctica SRUM - (Introducción) v1.pptx
Práctica SRUM - (Introducción) v1.pptx
 
Scrum vs kanban
Scrum vs kanbanScrum vs kanban
Scrum vs kanban
 
SEMANA 14 METODOS ÁGILES DE INNOVACIÓN.ppt
SEMANA 14 METODOS ÁGILES DE INNOVACIÓN.pptSEMANA 14 METODOS ÁGILES DE INNOVACIÓN.ppt
SEMANA 14 METODOS ÁGILES DE INNOVACIÓN.ppt
 
Agilidad, Scrum y otras experiencias.pdf
Agilidad, Scrum y otras experiencias.pdfAgilidad, Scrum y otras experiencias.pdf
Agilidad, Scrum y otras experiencias.pdf
 
Metodologia scrum
Metodologia scrumMetodologia scrum
Metodologia scrum
 
520313818-Metodologias-Agiles.pptx
520313818-Metodologias-Agiles.pptx520313818-Metodologias-Agiles.pptx
520313818-Metodologias-Agiles.pptx
 
520313818-metodologias-agiles-220418045721.pdf
520313818-metodologias-agiles-220418045721.pdf520313818-metodologias-agiles-220418045721.pdf
520313818-metodologias-agiles-220418045721.pdf
 
520313818-metodologias-agiles-220418045721.pdf
520313818-metodologias-agiles-220418045721.pdf520313818-metodologias-agiles-220418045721.pdf
520313818-metodologias-agiles-220418045721.pdf
 
SCRUM + KANBAN = SCRUMBAN
SCRUM + KANBAN = SCRUMBANSCRUM + KANBAN = SCRUMBAN
SCRUM + KANBAN = SCRUMBAN
 
AUGBCN - Agile¿What?
AUGBCN - Agile¿What?AUGBCN - Agile¿What?
AUGBCN - Agile¿What?
 
Curso Introducción a Agile
Curso Introducción a AgileCurso Introducción a Agile
Curso Introducción a Agile
 
Gestion proyectos, metodología ágiles y SCRUM
Gestion proyectos, metodología ágiles y SCRUMGestion proyectos, metodología ágiles y SCRUM
Gestion proyectos, metodología ágiles y SCRUM
 
Scrum of-platzi-slides
Scrum of-platzi-slides Scrum of-platzi-slides
Scrum of-platzi-slides
 
Desarrollo ágil Webprendedor UC 2010
Desarrollo ágil Webprendedor UC 2010Desarrollo ágil Webprendedor UC 2010
Desarrollo ágil Webprendedor UC 2010
 
Desarrollo ágil
Desarrollo ágilDesarrollo ágil
Desarrollo ágil
 
Agile tools- Caja de herramientas ágiles - Open Space AOC Bariloche 2016
Agile tools-  Caja de herramientas ágiles - Open Space AOC Bariloche 2016Agile tools-  Caja de herramientas ágiles - Open Space AOC Bariloche 2016
Agile tools- Caja de herramientas ágiles - Open Space AOC Bariloche 2016
 
Ingeniería de Calidad -Apunte calidad en las metodologias agiles
Ingeniería de Calidad -Apunte  calidad en las metodologias agilesIngeniería de Calidad -Apunte  calidad en las metodologias agiles
Ingeniería de Calidad -Apunte calidad en las metodologias agiles
 
Webinar: Integrar la analítica en Metodologías Ágiles
Webinar: Integrar la analítica en Metodologías ÁgilesWebinar: Integrar la analítica en Metodologías Ágiles
Webinar: Integrar la analítica en Metodologías Ágiles
 
Calidad en Agile - EducacionIT
Calidad en Agile - EducacionITCalidad en Agile - EducacionIT
Calidad en Agile - EducacionIT
 
Agile tools by Rose Mery Restrepo Velez
Agile tools by Rose Mery Restrepo Velez Agile tools by Rose Mery Restrepo Velez
Agile tools by Rose Mery Restrepo Velez
 

Plus de Juan Manuel Gonzalez Calleros

Plus de Juan Manuel Gonzalez Calleros (20)

Pruebas de Software.pptx
Pruebas de Software.pptxPruebas de Software.pptx
Pruebas de Software.pptx
 
Patrón de Diseño Estrategia
Patrón de Diseño EstrategiaPatrón de Diseño Estrategia
Patrón de Diseño Estrategia
 
Modelos de desarrollo de software
Modelos de desarrollo de software Modelos de desarrollo de software
Modelos de desarrollo de software
 
05 Identificación de Tareas y Contexto de Uso (UX)
05 Identificación de Tareas y Contexto de Uso (UX)05 Identificación de Tareas y Contexto de Uso (UX)
05 Identificación de Tareas y Contexto de Uso (UX)
 
Rol del Director de Proyectos
Rol del Director de ProyectosRol del Director de Proyectos
Rol del Director de Proyectos
 
03 Introduccón a la administracion de proyectos
03 Introduccón a la administracion de proyectos03 Introduccón a la administracion de proyectos
03 Introduccón a la administracion de proyectos
 
02 Mitos de la ingeniería de software
02 Mitos de la ingeniería de software02 Mitos de la ingeniería de software
02 Mitos de la ingeniería de software
 
01 Presentacion curso ingeniería de software
01 Presentacion curso ingeniería de software01 Presentacion curso ingeniería de software
01 Presentacion curso ingeniería de software
 
Enfoque transformacional
Enfoque transformacionalEnfoque transformacional
Enfoque transformacional
 
Ciclo de Vida y roles
Ciclo de Vida y roles Ciclo de Vida y roles
Ciclo de Vida y roles
 
Emociones y HCI
Emociones y HCIEmociones y HCI
Emociones y HCI
 
Patrones de Interfaz de Usuario
Patrones de Interfaz de UsuarioPatrones de Interfaz de Usuario
Patrones de Interfaz de Usuario
 
Algunas Métricas de UX
Algunas Métricas de UXAlgunas Métricas de UX
Algunas Métricas de UX
 
La experiencia de Usuario: Introducción
La experiencia de Usuario: IntroducciónLa experiencia de Usuario: Introducción
La experiencia de Usuario: Introducción
 
Métodos de usabilidad
Métodos de usabilidadMétodos de usabilidad
Métodos de usabilidad
 
Guía de Técnicas de Usabilidad
Guía de Técnicas de UsabilidadGuía de Técnicas de Usabilidad
Guía de Técnicas de Usabilidad
 
Mapas de Empatía, Personas e Historias de Usuario
Mapas de Empatía, Personas e  Historias de UsuarioMapas de Empatía, Personas e  Historias de Usuario
Mapas de Empatía, Personas e Historias de Usuario
 
Guía de Entrevistas
Guía de Entrevistas Guía de Entrevistas
Guía de Entrevistas
 
Hacia un modelo educativo centrado en el alumno
Hacia un modelo educativo centrado en el alumnoHacia un modelo educativo centrado en el alumno
Hacia un modelo educativo centrado en el alumno
 
Técnicas de Recolección de necesidades
Técnicas de Recolección de necesidadesTécnicas de Recolección de necesidades
Técnicas de Recolección de necesidades
 

Dernier

Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxKarlaMassielMartinez
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 
celula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicacelula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicaFlor Idalia Espinoza Ortega
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 

Dernier (20)

Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
celula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamicacelula, tipos, teoria celular, energia y dinamica
celula, tipos, teoria celular, energia y dinamica
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 

Una mirada al desarrollo por entregas continuas

  • 1. Una mirada al desarrollo por entregas continuas Continuous Delivery Bernadette Martínez Hernández
  • 2. Sumario ✓ 1 Ingeniería de Software ✓ 2 Agile ✓ 3 Lean ✓ 4 Scrum ✓ 5 Kanban ✓ 6 Continuous Delivery ✓ 7 Peguntas
  • 6. Agile, Lean, Scrum y Kanban Agile Cuatro valores básicos (manifiesto Agile): 1. Los individuos y sus interacciones por encima de los procesos y las herramientas (COMUNICACION) 2. Entregar software que funciona por encima de hacer la documentación 3. Colaboración con el cliente por encima de la negociación de los contratos 4. Responder al cambio por encima de seguir un plan El desarrollo ágil no es una metodología. Es un término incluyente que describe varias metodologías ágiles.
  • 7. Agile, Lean, Scrum y Kanban Agile Los doce principios Ágiles son: 1. Nuestra mayor prioridad es satisfacer al cliente a través de la entrega temprana y continua de software con valor. 2. Aceptamos requisitos cambiantes, incluso en etapas avanzadas. Los procesos ágiles aprovechan el cambio para proporcionar ventaja competitiva al cliente. 3. Entregamos software frecuentemente, con una periodicidad desde un par de semanas a un par de meses, con preferencia por los periodos más cortos posibles. 4. Los responsables de negocio y los desarrolladores deben trabajar juntos diariamente a lo largo del proyecto. 5. Construimos proyectos con profesionales motivados. Dándoles el entorno y soporte que necesitan, y confiando en ellos para que realicen el trabajo. 6. El método más eficiente y efectivo de comunicar la información a un equipo de desarrollo y entre los miembros del mismo es la conversación cara a cara.
  • 8. Agile, Lean, Scrum y Kanban Agile Los doce principios Ágiles son: 7. Software que funciona es la principal medida de progreso. 8. Los procesos ágiles promueven el desarrollo sostenible. Patrocinadores, desarrolladores y usuarios deben ser capaces de mantener un ritmo constante de forma indefinida. 9. La atención continua a la excelencia técnica y los buenos diseños mejoran la agilidad. 10. Simplicidad, el arte de maximizar la cantidad de trabajo no realizado, es esencial. 11. Las mejores arquitecturas, requisitos y diseños surgen de equipos que se auto-organizan. 12. A intervalos regulares el equipo reflexiona sobre cómo ser más efectivo, entonces mejora y ajusta su comportamiento de acuerdo a sus conclusiones.
  • 9.
  • 10. Agile, Lean, Scrum y Kanban Lean PIENSA EN GRANDE, ACTÚA EN PEQUEÑO, EQUIVÓCATE RÁPIDO; APRENDE CON RAPIDEZ Los principios de desarrollo de software Lean (magro): • Eliminar el desperdicio • Ampliar el aprendizaje • Manejar la incertidumbre tomando decisiones hasta el último momento.(Sin evadir la planeación, sólo enfocarse en la adaptabilidad) • Reaccionar tan rápido como sea posible • Dar poder al equipo (Las personas no son recursos) • Fomentar la integridad (Refactorización y automatización de pruebas) • Tener una visión clara del „todo‟ • Puntos buenos: Enfoque en el „todo‟, autonomía del equipo (decide y ejecuta los procesos que necesita) • Puntos malos: Ignora la necesidad de dividir para analizar en proyectos grandes, posponer las decisiones puede causar problemas.
  • 11. Agile, Lean, Scrum y Kanban Scrum • Scrum es un marco de trabajo para el desarrollo de software (herramienta que aplica el principio de divide y vencerás) • Roles, sprint, el equipo crea un incremento de software potencialmente entregable, backlog, reuniones planeadas. • Un principio clave de Scrum es el reconocimiento de que durante un proyecto los clientes pueden cambiar de idea sobre lo que quieren y necesitan y que los desafíos impredecibles no pueden ser fácilmente enfrentados de una forma predictiva y planificada. • Scrum adopta una aproximación pragmática, aceptando que el problema no puede ser completamente entendido o definido, y centrándose en maximizar la capacidad del equipo de entregar rápidamente y responder a requisitos emergentes.
  • 12. Agile, Lean, Scrum y Kanban Scrum • Puntos buenos: Metas pequeñas y fáciles de cuantificar, una reunión mínima diaria, impulsa la formación de equipos. • Puntos malos: Inflexible (grupos multitareas), demasiadas reuniones de supervisión, no funciona bien en equipos inexpertos y/o no familiarizados con Agile y/o con problemas internos de confianza, requiere un excelente líder, se enfoca demasiado en lo que los usuarios quieren, la productividad y las metas inmediatas, ignora especializaciones (causa de stress), minimiza en exceso la importancia de la documentación, las entregas terminales a usuarios y los bloqueos.
  • 13. Agile, Lean, Scrum y Kanban Scrum
  • 14. Agile, Lean, Scrum y Kanban Scrum
  • 15. Agile, Lean, Scrum y Kanban Kanban • Kanban es una herramienta visual de control y manejo de proyectos y procesos que ayuda a administrar efectivamente el flujo de trabajo durante una iteración. Kanban es una herramienta, y como cualquier herramienta, su propósito es resolver un problema... Lean es una filosofía. • Kanban Standups: o ¿Tenemos cuellos de botella (cola con exceso de trabajo)? o ¿Tenemos algo que bloquea la continuidad del proceso? o ¿Estamos manteniendo nuestro límite de trabajos en progreso? o ¿Tenemos las prioridades claras? o ¿Qué se hizo ayer, qué hay que hacer hoy? • Tablero o pizarrón Kanban se actualiza por lo menos una vez al día. El encargado de cada reunión enumera trabajo, NO gente. Reglas de control de calidad para el movimiento de tarjetas • Principio de mejora continua. Preguntar ¿POR QUÉ? hasta que duela • Gente con diferentes habilidades tiene que trabajar en equipo para terminar las metas. • No desarrollar features que nadie quiere en este momento. No escribir más especificaciones de las que se pueda desarrollar. No hacer pruebas en más software del que se planee instalar. Descomposición de ideas en features redituables.
  • 16. Agile, Lean, Scrum y Kanban Kanban • Puntos buenos: Los mismos de Scrum además de ser más flexible (no hay iteraciones!) y proporcionar una manera de controlar los bloqueos ,la sobrecarga de trabajo y no ignorar la documentación ya que se vuelve parte del proceso. Apunta hacia el desarrollo por entregas continuas. • Puntos malos: Se enfoca demasiado a satisfacer lo que los clientes quieren, la productividad y las metas inmediatas, ignorando especializaciones (causa de stress) además de la estimación y la planeación, el principio de mejora continua puede cansar o presionar en exceso, requiere mucha disciplina.
  • 17. Agile, Lean, Scrum y Kanban Kanban
  • 18. Agile, Lean, Scrum y Kanban No hay herramientas ni filosofías perfectas, entonces lo mejor es combinar y ajustar. Scrumban con un toque de sal, limón y chile
  • 19. Continuous Delivery Desarrollo por entregas continuas El flujo de trabajo reforzado por Kanban apunta a que un punto ignorado en el que nos debemos enfocar es el perfeccionamiento del movimiento de tareas en el flujo, independientemente de qué tareas se estén procesando. Por ejemplo; al usar Kanban se considera una falla el regresar tareas a colas previas. Cuando la causa de esa falla, está en el proceso, debemos eliminarla. ¿En tu organización, cuánto tiempo pasa para que una línea de código llegue a producción? ¿Cuánta confianza tienes en tu producto?
  • 20. Continuous Delivery Desarrollo por entregas continuas • Continuous Delivery significa que un producto es considerado terminado desde el día uno del proyecto y puede ser dado a los clientes, incluso si no todas las características y features han sido implementados. • Da prioridad a la retroalimentación para evitar: – Retrasos en la compilación , documentación y construcción de instaladores – Esperas largas de ejecutables adecuados par a efectuar tests – Reportes de bugs y problemas semanas después de haber concluido un proyecto – Identificación de problemas estructurales justo cuando el proyecto está a punto de concluir • Jez Humble y David Farley Continuous Delivery (Addison Wesley, 2010) • ThoughtWorks lo usa y provee una herramienta gratuita (Go). Libro se usa como texto en Oxford en la materia de Prácticas de Ingeniería Ágil.
  • 21. Continuous Delivery Implanta Desarrolla Define
  • 22. Continuous Delivery Poner en acción las mejores prácticas en tres áreas principales dentro de una organización Procesos Personas Herramientas
  • 23. Continuous Delivery Principios • Implantación (deployment) repetible y confiable • Repetición de procesos difíciles hasta que sean entendidos, simplificados y/o automatizados • Automatizar TODO • Versionar TODO (junto con la compilación y corrida automática de tests compone Continuous Integration) • Terminado = Considerado en ambiente de producción (aunque no siempre se haga público para que pueda ser instalado como sucede en el paradigma de Continuous Deployment) • TODOS son responsables de proceso de emisión del software (release) • Calidad desde la primera emisión del software. • Mejora continua.
  • 24. Continuous Delivery Prácticas • Compilar el producto una sola vez • Usar el mismo mecanismo de implantación para todos los ambientes • Correr test preliminares (no exhaustivos) • Cualquier falla hace que la línea de producción se detenga. • Desarrollo en la Tubería de Montaje – Equipo de desarrollo y entrega → Control de versiones → Tests de compilación y unit tests → Tests de aceptación automatizados → Tests de aceptación del usuario → Release – Esto no es nuevo, es simple y llano método científico (Planteamiento del problema, formulación de la hipótesis, experimentación, ley)
  • 25. Continuous Delivery La Tubería de Montaje (Deployment Pipeline) • Cada que se salva código en el sistema de control de versiones se activa una corrida de la tubería y el software se compila, se corren los tests y si todos ellos son satisfechos el software puede publicarse. • Ventajas: – Método probado que permite crear, verificar y montar sistemas complejos de gran calidad a un costo y riesgo menor. Confianza en el producto (test, test, test) – Evitar el “en mi maquina funciona” vía tests en entornos parecidos a los de producción (VM, Plataform As A Service [cloud]) o Test de aceptación automáticos o Test de aceptación de los usuarios o Test de capacidad – Recibir noticia inmediata de errores y regresiones además de proveer una aplicación terminada tan pronto y tan frecuentemente como sea posible – Incrementa la visibilidad del nivel de terminación del producto ya que hay retroalimentación temprana cada vez que hay una nueva versión. – Facilita el montaje de versiones especificas
  • 26. Continuous Delivery Problemas que pueden ocurrir • Paralelización insuficiente • Mal diseño de la tubería de tal suerte que ciertos tests no se pueden saltar o reordenar, no se le puede dar prioridad a ciertas versiones o el proceso es muy lento • Falta de herramientas que permitan alternar entre ambientes “en vivo” y “en proceso de testing” (staging)
  • 27. Continuous Delivery Conceptos importantes • Adecuado para Kanban • Principios clave para la Tubería: – Construir ejecutables una sola vez, almacenarlos en el repositorio de productos y mandarlos a la Tubería – Promover únicamente las versiones que pasen todos los unit tests y los tests de aceptación – Los ambientes de desarrollo, corrida de tests (automatizados y de aceptación) y staging deben ser lo más similares posible al ambiente de producción. • Automatizar TODO: compilación, configuración y tests. Los seres humanos tienden a cometer errores en procesos repetitivos. • Versionar TODO, incluida la configuración del sistema operativo, infraestructura y equipo de red. Para el versionado de la Base de Datos – Versionar la base de datos y usar una herramienta para manejar los cambios – Compatibilidad hacia adelante y hacia atrás con respecto a la base de datos – Cambios aditivos solamente – Tests adecuados que creen solo los datos necesarios – Evitar integraciones entre aplicaciones vía base de datos • Continuous Integration (SVN, GIT) • Continuous Deployment (Cloud Foundry) • Switch para features • Staging
  • 28. Continuous Delivery Más información • Capítulo 5 sobre la Tubería: http://ptgmedia.pearsoncmg.com/images/9780321601919/samplepage s/0321601912.pdf • http://www.infoq.com/presentations/Continuous-Delivery • http://www.infoq.com/interviews/jez-humble-agile2011 • http://www.infoq.com/articles/humble-farley-continuous-delivery • http://continuousdelivery.com/ • http://continuous-delivery.thoughtworks.com/ • http://www.slideshare.net/jmcgarr/continuous-delivery-8341276 • http://www.davefarley.net/
  • 29. Development Production Test Planning Development Cycle Done and ready for deployment. QA
  • 30. Development Development cycle: TDD Write a test or a set of tests according to the Code passes specification and all the tests. check they fail. Some tests fail or some code can be improved. Fix code so all previous tests pass or improve the quality of the code or its efficiency.
  • 31. Development Production Why: 1. If a task goes back into the cycle is Scrumban because the requirements changed, not because somebody understood them wrong, didn‟t have them at all, or unexpected things got broken. TDD 2. TDD + Scrumban enforces discipline and quality. 3. Eventually, iteration and retrospectives blend in, creating an atmosphere of continuous production.
  • 32. Altienban All items To Do Ideas, breakdown features, tasks ready for Definition development Prioritized backlog, test planning, development Development cycle, QA, done, extra, urgent Waiting for installer, test installer, needs documentation Deployment Waste
  • 34. Altienban Details • If there is nothing to take on my usual queue and I cannot start or continue more work in other queues without passing the WIP limit of any queue maybe it is time for a standup. Board may be inaccurate or I can do something to unblock a currently blocked item but I may not know about it. The following guidelines can be useful to help in this situation: – Can you help progress an existing Kanban? Work on that. – Don‟t have the right skills? Find the bottleneck and work to release it. – Don‟t have the right skills? Pull in work from the queue. – Can‟t start anything in the queue? Is there any lower priority to start investigating? – There is nothing lower priority? Find other interesting work. • Stop the Line for special cause problems. Retrospectives with Operations Reviews for common cause problems and reassess the whole value stream • If requirements are not complete at the definition state, it is OK, we only need to get as much info as possible at that point. Be creative to do that (e.g. drawings and simulations). Requirements may change later, but at least we avoid waste on things that could have initially avoided. • Development cycle requires developer to run the feature test and all the relevant tests. QA does the wrap-up of the tests and checks nothing is missing before declaring it done. M may do the more complex or manual tests. Possibly check their interaction with other finished work. • Minimal requirement is that the code is decent enough for someone to take over. If not perfect at least documented or with references of who to ask. • Test planning: write or get a problem or task specification. Write a test, check if the test fails. Write tests easy to maintain. Initial tests should not break the encapsulation! • Documentation should be easy to draw from cases if all examples and explanations are there.
  • 35. Altienban En este momento…. • Mejora de la integración continua por medio de una serie de reglas y monitoreo además del uso de GIT como método suplementario de integración continua. • Manufactura de la documentación ha mejorado considerablemente gracias a que los casos son especificados de mejor manera. • Parte de los tests están automatizados (número de unit tests se ha incrementado) y cada que se salva código en el sistema de control de versiones, se corren test básicos (continuous integration) • La compilación y construcción de los programas de instalación ha sido automatizada en su mayoría, aunque aún requiere una persona a cargo que supervise y dos o tres pasos manuales. • Bases de datos están versionadas y con un método bastante seguro y establecido de adición de cambios. • Reducido el tiempo de entrega de producto de tres-seis meses a un mes si es necesario, teniendo varios RCs entre periodo y periodo.
  • 36. Altienban Mayores retos • Cambio de actitud – Garantizar tiempo para efectuar las mejoras – Continuidad – Disciplina y participación de todas las esferas de la organización – Importancia de la implementación y ejecución de tests • Lidiar con los contras de CD – Dificultad de implementar al 100% en una sola iteración, lento proceso de mejoras continuas que puede exasperar – Implementación de la tubería completa demanda muchísima dedicación y tiempo que es difícil de conseguir en una compañía de tamaño pequeño. • Planes futuros: – Automatización completa de la compilación, construcción de programas de instalación e implantación – Reducción del ciclo de producción y mejora del diseño de la Tubería de Montaje (permitir staging) – Implantación automática en maquinas virtuales que ejecuten series de tests automáticamente – Mejora de tests: más DSLs, mejor TDD y usar Selenium además de VM para la instalación y corrida automática de tests. – Herramienta de manejo y tests automáticos para las bases de datos usadas por el producto.

Notes de l'éditeur

  1. "Desarrollo ágil" es un término derivado del Manifiesto Ágil (Agile Manifesto), escrito en 2001 por un grupo que incluía: a los creadores de Scrum, Extreme Programming (XP), DynamicSystemsDevelopmentMethod (DSDM) y Crystal; un representante de desarrollo controlado por características; y otros coordinadores diversos del pensamiento en la industria del software. El Manifiesto Ágil (Agile Manifesto) estableció un conjunto común de valores y principios dominantes para todas las metodologías ágiles individuales en el momento. Detalla cuatro valores básicos para habilitar equipos de alto rendimiento.Los valores básicos se sustentan en 12 principios, que puede encontrar en el siguiente sitio web: Manifestofor Agile Software Development.Estos valores no son sólo algo que los creadores del Manifiesto Ágil (Agile Manifesto) pensaban encomiar y, a continuación, olvidarse. Son valores que funcionan. Cada metodología ágil individual enfoca estos valores de una manera ligeramente diferente, pero todas estas metodologías tienen procesos y ejercicios concretos que fomentan uno o más de estos valores.
  2. My experience has shown that Scrum works well for new product development, while Kanban works very well for continuous delivery situations such as sustained engineering. This is not to say you can't use Kanban for new product development, or Scrum for sustained engineering; you can. I often find that undisciplined teams benefit from starting with Scrum, and then once they get into the habit of producing high quality software in iteration-sized batches, the obvious optimization is to remove the batches and get continuous flow (migrate from Scrum to Kanban). In fact, I often refer to Kanban as 'iteration-less Scrum.'
  3. Continuous delivery is about putting the release schedule in the hands of the business, not in the hands of IT
  4. Bret Pettichord: Testing is about feedback. Most agile practices are valuable because they create feedback loops that allow teams to adapt. The reason Agile teams can do with less planning is because feedback allows you to make sure that you are on course. If you don’t have meaningful feedback then you’re not agile. You’re just in a new form of chaos.Elizabeth Hendrickson: Speed requires discipline. Compressing the schedule, throwing out the documentation, coding up to the last minute is not Agile. Testing is not a phase, on agile teams, testing is a way of life. Continuous testing is the only way to ensure continuous progress. Eliminate the bottleneck: everyone tests. Takes a tremendous internal discipline to fix bugs as they are found. Otherwise it takes longer to wade through the mess. You can think of the QA person as the “quality coach” for the team instead of the person doing all of the quality work. QA people might not always be the one creating the automated tests or running them, but they are one of the main forces guiding the direction of the creation of those tests, and making sure the customer’s interests are represented.The QA role is elevated from gathering and writing documentation plus manually executing tests to being the expert on quality and the representative of the customer on the team.