Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Continuous delivery

Continuous delivery

Meet Magento Argentina 2016

Avatar for Damián Culotta

Damián Culotta

October 21, 2016
Tweet

More Decks by Damián Culotta

Other Decks in Technology

Transcript

  1. Moverse Rápido Darle al cliente lo que necesita justo después

    que el cliente lo necesita Entregar a tiempo
  2. Caso 1 • Las fechas de entrega le ganan a

    los detalles de calidad. • Las buenas prácticas técnicas se sacrifican por las fechas de entrega. • El concepto de "Deuda técnica" no es algo familiar. • El testing no está en primer lugar en la cabeza del equipo de desarrollo. • Acceso irrestricto al servidor (se hacen cambios en el código o al stack sin que medie auditoría) • Un nuevo release, normalmente se genera de forma manual. • Los prototipos o las pruebas de concepto se convierten, mágicamente, en código de Producción. • Documentación... NS/NC
  3. Caso 2 • Los tiempos de entrega se incrementan (de

    horas a días y de días a semanas). • Nunca terminamos de erradicar ese módulo que si lo mirás feo falla. Nos cuesta deshacernos del código legacy. • Los programadores están cada vez más lejos del entorno productivo . • La calidad general comienza a verse seriamente comprometida. • La Deuda técnica comienza a ser un problema. • Los depliegues de código producen downtime del proyecto. • Los deadlines se convirtieron en algo escrito en algún lado que todos saben no se va a cumplir (y todos saben las fricciones que se generarán a partir de eso) • La reputación de nuestra compañía (y la nuestra como profesionales) comienza a verse erosionada.
  4. Caso 2 1. Nos envían el requerimiento. 2. Lo analizamos

    demasiado rápido y estimamos (usamos la regla que va de X 1.5 hasta X 4 según interpretemos la dificultad) 3. El cliente acepta el requerimiento y redefine el alcance luego. 4. Como estábamos atrasados decimos que si al nuevo alcance y empezamos. 5. Se testea. 6. Se corrige. 7. Se planifica despliegue en producción. 8. (Si por casualidad sucede) Se hace test de integración manual. 9. Se corrige. 10.Se deploya. 11.Se corrige.
  5. Transparencia Monitor en la oficina con métricas sencillas de leer

    Notificaciones vía Slack sobre fallas y logros
  6. Nos los devs Controlar la complejidad y el rol de

    nuestros objetos. El código debe ser mantenible.