Your SlideShare is downloading. ×
ALM Sessions 2012 - Entrega Continua con VS ALM y TFS
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

ALM Sessions 2012 - Entrega Continua con VS ALM y TFS

2,365

Published on

Presentación de la sesión sobre Entrega Continua con Visual Studio y TFS en las ALM Sessions 2012 …

Presentación de la sesión sobre Entrega Continua con Visual Studio y TFS en las ALM Sessions 2012

http://bit.ly/xGxqZT (a partir de la mitad del video)

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,365
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Historia de la web 2.0: compañía que introducía cambios muy frecuentemente en producción.Fuecomprada por otra compañía más grande.Los compradores les dejaron seguir con su proceso y midieron. Vieron que tenían mejor uptime que todos los servicios de la compañía grande.94 minutos caído en un año (99,982 %). 6 minutos de media en resolver incidentes.
  • ¿A alguien de la audiencia no le ha pasadonunca nada de esto?Integration hellTesting hellDev complete <> releaseFalta de automatización…
  • ¿A alguien de la audiencia no le ha pasadonunca nada de esto?Integration hellTesting hellDev complete <> releaseFalta de automatización…
  • Esmuycaroestar un añoconstruyendoalgoquenadiequiere.Mucho másbaratoestarsólotresmeses.Innovación: “If I had asked people what they wanted, they would have said faster horses.” -Henry Ford Lean Startup: mínimoproducto viable.
  • Si sale mal se suele pensar en retrasar al máximo el despliegue, pero debería ser al revés.Si duele, hazlo más frecuentemente.tiempo de arreglar algo = tiempo de encontrarlo + tiempo de solucionarlo(Flickr eliminó el tiempo de encontrarlo)
  • http://estimategoat.com/Done (probado en mi máquina) vs Done Done (integrado en main, probado, ejecutado en un entorno tipo al de producción bajo cargas realistas)
  • Transcript

    • 1. jlsoria@plainconcepts.comhttp://geeks.ms/blogs/jlsoria
    • 2. http://bit.ly/AsvWvK
    • 3. ¿Funciona?Más ejemplos: Facebook, Amazon, Netflix, Etsy…
    • 4. ¡Liberarfrecuentemente,puede incrementarla estabilidad!
    • 5. ¿Te sientes identificado?Tengo cambios que funcionan perfectamente en unsistema pero fallan en otro.Una vez que se termina de desarrollar unafuncionalidad, se tardan dos semanas en poder tenerlalista en un entorno de producción o similar.Los programadores y los testers juegan al ping-pong.Aunque tengo las herramientas adecuadas, sigue siendodifícil obtener feedback.El proceso de desplegar en producción es muy complejoy nunca se hace de la misma forma.
    • 6. ¿Te suena?Aunque automatice parte del despliegue, la gente deoperaciones se niega a usar las automatizaciones.No está claro cómo volver a una versión estable si undespliegue va mal.Cuando hay que liberar una versión, me puedo despedirdel fin de semana.No es posible preparar una demo rápida para un clientede algo que tengo en desarrollo.
    • 7. ¿Te ha pasado alguna vez?Me es imposible entregar un pequeño cambio o unacorrección de un pequeño error, en un corto espacio detiempo.Se ha caído todo el sistema y sólo había tocado unatontería.Se ha caído todo el sistema y no tengo ni idea de qué sehabía tocado.Se ha caído todo el sistema, ¡y no habíamos tocadonada!
    • 8. tiempo.(Del lat. tempus).1. m. Duración de las cosassujetas a mudanza.2. m. Magnitud física quepermite ordenar lasecuencia de lossucesos, estableciendo unpasado, un presente y unfuturo. Su unidad en elSistema Internacional es elsegundohttp://buscon.rae.es/draeI/SrvltConsulta?TIPO_BUS=3&LEMA=tiempo
    • 9. tiempo.(Del lat. tempus).1. m. Magnitud imposiblede predecir, que transcurreentre que termino dedesarrollar unafuncionalidad y ésta esliberada en producción.
    • 10. Las entregas van a irguiadas por lasnecesidades denegocio, no por lasrestriccionesoperacionales.
    • 11. Deployment PipelineCualquier build es “release candidate”
    • 12. Crea un proceso repetible yconfiable para liberar softwareLiberar software debería ser fácil, porque todo el procesohabrá sido verificado cientos de veces.Pasos de un despliegue: Preparar entornos Instalar la versión correspondiente de la aplicación Configurar el despliegue¡Todo esto (excepto quizá el hardware) esautomatizable!
    • 13. Automatiza prácticamente todoConstrucción, despliegue, pruebas deaceptación, actualizaciones de la base dedatos, configuraciones de entornos…Hay cosas que no se pueden automatizar: testeoexploratorio, demos al cliente, auditorías…
    • 14. Trabajando para la automatización
    • 15. Testing
    • 16. Mantén todo bajo control deversionesDocumentación de requisitos, scripts de pruebas, casosde prueba automatizados, scripts de configuración dered, scripts de despliegue, creación y mantenimiento debases de datos, ficheros de configuración de laaplicación, configuraciones deherramientas, documentación técnica…Se debería poder reproducir el entorno de ejecución enuna máquina limpia, pulsando un botón.Lo mismo para el entorno de desarrollo.
    • 17. Si duele, hazlo másfrecuentemente, y anticípate aldolorEncuentra lo que más te cuesta hacer, y hazlo másfrecuentemente: testing, despliegue, documentación… loque sea.
    • 18. Construye con calidadLean: “build quality in”Los defectos son más baratos de corregir cuanto antesse encuentren.Las pruebas no son una fase, ni van después deldesarrollo.Todo el equipo es responsable de la calidad.
    • 19. Hecho significa entregadoDone vs. Done Done.¿Qué significa “hecho” para ti?No existe “80% hecho”. La condición de hecho esbinaria.Es un esfuerzo del equipo al completo.
    • 20. Todo el mundo es responsabledel proceso de entregaNo nos pasamos la pelota de unos a otros.Puede haber barreras organizacionales.Movimiento DevOps.
    • 21. Mejora continuaLa entrega continua no es algo que se implemente y sedeje funcionando.Requiere atención continuada del equipo completo.Las retrospectivas ayudan.
    • 22. Gestión de la configuración¿Qué versión particular del software estoy usando? Etiquetas, Ramas¿Quién hizo un determinado cambio? Histórico¿Por qué se hizo un cambio? Comentarios del checkin, asociar a WI¿Cómo gestiono las dependencias? Mapeo de workspaces, ramas, servidor de NuGet¿Cómo gestiono las distintas configuraciones entreentornos? Transformaciones de ficheros deconfiguración, gestión de cambios desde lasconstrucciones automatizadas¿Cómo gestiono los entornos? Virtualización, Lab Management
    • 23. Integración continua¿Cómo fomentar que se haga checkin frecuente?¿Cómo puedo tener una batería de pruebas que seejecute rápido? Pruebas sencillas, que se hagan en unservidor, entorno dedicado, tareas atómicas, análisis deimpacto¿Cómo escalar mi servidor de integración continua? Máquinas de build, TFS Service,¿Cómo puedo asegurarme de que no se pasen por altoconstrucciones automatizadas rotas, o que no pasentodas las pruebas? Políticas de checkin¿Cómo puedo asegurarme un mecanismo de vueltaatrás? Lab
    • 24. Testing
    • 25. Testing¿Cómo hago pruebas del cuadrante 1? …¿Cómo hago pruebas del cuadrante 2? …¿Cómo hago pruebas del cuadrante 3? …¿Cómo hago pruebas del cuadrante 4? …
    • 26. Deployment Pipeline¿Qué herramientas tengo para soportar el Commit Stage? …¿Qué herramientas tengo para soportar el Acceptance TestingStage? …¿Qué herramientas tengo para soportar el Manual Testing Stage? …¿Qué herramientas tengo para soportar el Performance TestingStage? …¿Qué herramientas tengo para soportar el Release Stage? …
    • 27. http://continuousdelivery.com http://bit.ly/cUOpfwwww.secondnug.com http://bit.ly/xc3rPEjlsoria@plainconcepts.comhttp://geeks.ms/blogs/jlsoria

    ×