SlideShare una empresa de Scribd logo
1 de 37
jlsoria@plainconcepts.com
http://geeks.ms/blogs/jlsoria
http://bit.ly/AsvWvK
¿Funciona?




Más ejemplos: Facebook, Amazon, Netflix, Etsy…
¡Liberar
frecuentemente,
puede incrementar
la estabilidad!
¿Te sientes identificado?
Tengo cambios que funcionan perfectamente en un
sistema pero fallan en otro.
Una vez que se termina de desarrollar una
funcionalidad, se tardan dos semanas en poder tenerla
lista en un entorno de producción o similar.
Los programadores y los testers juegan al ping-pong.
Aunque tengo las herramientas adecuadas, sigue siendo
difícil obtener feedback.
El proceso de desplegar en producción es muy complejo
y nunca se hace de la misma forma.
¿Te suena?
Aunque automatice parte del despliegue, la gente de
operaciones se niega a usar las automatizaciones.
No está claro cómo volver a una versión estable si un
despliegue va mal.
Cuando hay que liberar una versión, me puedo despedir
del fin de semana.
No es posible preparar una demo rápida para un cliente
de algo que tengo en desarrollo.
¿Te ha pasado alguna vez?
Me es imposible entregar un pequeño cambio o una
corrección de un pequeño error, en un corto espacio de
tiempo.
Se ha caído todo el sistema y sólo había tocado una
tontería.
Se ha caído todo el sistema y no tengo ni idea de qué se
había tocado.
Se ha caído todo el sistema, ¡y no habíamos tocado
nada!
tiempo.
(Del lat. tempus).
1. m. Duración de las cosas
sujetas a mudanza.
2. m. Magnitud física que
permite ordenar la
secuencia de los
sucesos, estableciendo un
pasado, un presente y un
futuro. Su unidad en el
Sistema Internacional es el
segundo

http://buscon.rae.es/draeI/SrvltConsulta?TI
PO_BUS=3&LEMA=tiempo
tiempo.
(Del lat. tempus).
1. m. Magnitud imposible
de predecir, que transcurre
entre que termino de
desarrollar una
funcionalidad y ésta es
liberada en producción.
Las entregas van a ir
guiadas por las
necesidades de
negocio, no por las
restricciones
operacionales.
Deployment Pipeline




Cualquier build es “release candidate”
Crea un proceso repetible y
confiable para liberar software
Liberar software debería ser fácil, porque todo el proceso
habrá 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) es
automatizable!
Automatiza prácticamente todo
Construcción, despliegue, pruebas de
aceptación, actualizaciones de la base de
datos, configuraciones de entornos…
Hay cosas que no se pueden automatizar: testeo
exploratorio, demos al cliente, auditorías…
Trabajando para la automatización
Testing
Mantén todo bajo control de
versiones
Documentación de requisitos, scripts de pruebas, casos
de prueba automatizados, scripts de configuración de
red, scripts de despliegue, creación y mantenimiento de
bases de datos, ficheros de configuración de la
aplicación, configuraciones de
herramientas, documentación técnica…
Se debería poder reproducir el entorno de ejecución en
una máquina limpia, pulsando un botón.
Lo mismo para el entorno de desarrollo.
Si duele, hazlo más
frecuentemente, y anticípate al
dolor
Encuentra lo que más te cuesta hacer, y hazlo más
frecuentemente: testing, despliegue, documentación… lo
que sea.
Construye con calidad
Lean: “build quality in”
Los defectos son más baratos de corregir cuanto antes
se encuentren.
Las pruebas no son una fase, ni van después del
desarrollo.
Todo el equipo es responsable de la calidad.
Hecho significa entregado

Done vs. Done Done.
¿Qué significa “hecho” para ti?
No existe “80% hecho”. La condición de hecho es
binaria.
Es un esfuerzo del equipo al completo.
Todo el mundo es responsable
del proceso de entrega
No nos pasamos la pelota de unos a otros.
Puede haber barreras organizacionales.
Movimiento DevOps.
Mejora continua
La entrega continua no es algo que se implemente y se
deje funcionando.
Requiere atención continuada del equipo completo.
Las retrospectivas ayudan.
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 entre
entornos?
     Transformaciones de ficheros de
configuración, gestión de cambios desde las
construcciones automatizadas
¿Cómo gestiono los entornos?
     Virtualización, Lab Management
Integración continua
¿Cómo fomentar que se haga checkin frecuente?
¿Cómo puedo tener una batería de pruebas que se
ejecute rápido?
     Pruebas sencillas, que se hagan en un
servidor, entorno dedicado, tareas atómicas, análisis de
impacto
¿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 alto
construcciones automatizadas rotas, o que no pasen
todas las pruebas?
     Políticas de checkin
¿Cómo puedo asegurarme un mecanismo de vuelta
atrás?
     Lab
Testing
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?
   …
Deployment Pipeline
¿Qué herramientas tengo para soportar el Commit Stage?
    …
¿Qué herramientas tengo para soportar el Acceptance Testing
Stage?
     …
¿Qué herramientas tengo para soportar el Manual Testing Stage?
    …
¿Qué herramientas tengo para soportar el Performance Testing
Stage?
     …
¿Qué herramientas tengo para soportar el Release Stage?
    …
http://continuousdelivery.com
           http://bit.ly/cUOpfw



www.secondnug.com




                       http://bit.ly/xc3rPE

jlsoria@plainconcepts.com
http://geeks.ms/blogs/jlsoria
ALM Sessions 2012 - Entrega Continua con VS ALM y TFS

Más contenido relacionado

La actualidad más candente

SEMINARIO WEB EN VIVO: INTRODUCCIÓN AL AGILE TESTING
SEMINARIO WEB EN VIVO: INTRODUCCIÓN AL AGILE TESTINGSEMINARIO WEB EN VIVO: INTRODUCCIÓN AL AGILE TESTING
SEMINARIO WEB EN VIVO: INTRODUCCIÓN AL AGILE TESTINGtbaires
 
Dev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producciónDev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producciónKleer Agile Coaching & Training
 
Presentacion de Integración Continua
Presentacion de Integración ContinuaPresentacion de Integración Continua
Presentacion de Integración ContinuaRodrigo Ayala
 
ALM09 - Scrum, Visual Studio y Buenas Prácticas
ALM09 - Scrum, Visual Studio y Buenas PrácticasALM09 - Scrum, Visual Studio y Buenas Prácticas
ALM09 - Scrum, Visual Studio y Buenas PrácticasRodrigo Corral
 
Encadenamiento de refactorings para generar cambios Agiles de Diseño
Encadenamiento de refactorings para generar cambios Agiles de DiseñoEncadenamiento de refactorings para generar cambios Agiles de Diseño
Encadenamiento de refactorings para generar cambios Agiles de DiseñoHernan Wilkinson
 
Modelo Integración Continua en entornos de QA
Modelo Integración Continua en entornos de QAModelo Integración Continua en entornos de QA
Modelo Integración Continua en entornos de QAMkt Manager Data Adviser
 
Como escribir buenos tests al hacer TDD
Como escribir buenos tests al hacer TDDComo escribir buenos tests al hacer TDD
Como escribir buenos tests al hacer TDDHernan Wilkinson
 
Cómo trabajamos en Plastic SCM
Cómo trabajamos en Plastic SCMCómo trabajamos en Plastic SCM
Cómo trabajamos en Plastic SCM233 Grados de TI
 
Scrum y Testing
Scrum y TestingScrum y Testing
Scrum y Testingtbaires
 
Compartiendo cómo trabajamos haciendo uso de Kanban
Compartiendo cómo trabajamos haciendo uso de KanbanCompartiendo cómo trabajamos haciendo uso de Kanban
Compartiendo cómo trabajamos haciendo uso de Kanban233 Grados de TI
 
Introducción a Unit Testing y TDD
Introducción a Unit Testing y TDDIntroducción a Unit Testing y TDD
Introducción a Unit Testing y TDDFernando Perez
 
065 Testing Automatizado Hagamos Que Las Maquinas Trabajen Por Nosotros
065 Testing Automatizado Hagamos Que Las Maquinas  Trabajen Por Nosotros065 Testing Automatizado Hagamos Que Las Maquinas  Trabajen Por Nosotros
065 Testing Automatizado Hagamos Que Las Maquinas Trabajen Por NosotrosGeneXus
 
Team Engagement PHP Barcelona 2011
Team Engagement PHP Barcelona 2011Team Engagement PHP Barcelona 2011
Team Engagement PHP Barcelona 2011Carlos Buenosvinos
 
Cómo reciclar equipos y no morir en el intento
Cómo reciclar equipos y no morir en el intentoCómo reciclar equipos y no morir en el intento
Cómo reciclar equipos y no morir en el intentoseravb
 
Ponele el TURBO al Dev Team de tu Startup
Ponele el TURBO al Dev Team de tu StartupPonele el TURBO al Dev Team de tu Startup
Ponele el TURBO al Dev Team de tu StartupMartin Siniawski
 
Desarrollo en cascada vs desarrollo agile scrum
Desarrollo en cascada vs desarrollo agile scrumDesarrollo en cascada vs desarrollo agile scrum
Desarrollo en cascada vs desarrollo agile scrumtbaires
 

La actualidad más candente (20)

SEMINARIO WEB EN VIVO: INTRODUCCIÓN AL AGILE TESTING
SEMINARIO WEB EN VIVO: INTRODUCCIÓN AL AGILE TESTINGSEMINARIO WEB EN VIVO: INTRODUCCIÓN AL AGILE TESTING
SEMINARIO WEB EN VIVO: INTRODUCCIÓN AL AGILE TESTING
 
Una introducción a la Integración continua
Una introducción a la Integración continuaUna introducción a la Integración continua
Una introducción a la Integración continua
 
Dev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producciónDev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producción
 
Presentacion de Integración Continua
Presentacion de Integración ContinuaPresentacion de Integración Continua
Presentacion de Integración Continua
 
ALM09 - Scrum, Visual Studio y Buenas Prácticas
ALM09 - Scrum, Visual Studio y Buenas PrácticasALM09 - Scrum, Visual Studio y Buenas Prácticas
ALM09 - Scrum, Visual Studio y Buenas Prácticas
 
Encadenamiento de refactorings para generar cambios Agiles de Diseño
Encadenamiento de refactorings para generar cambios Agiles de DiseñoEncadenamiento de refactorings para generar cambios Agiles de Diseño
Encadenamiento de refactorings para generar cambios Agiles de Diseño
 
Modelo Integración Continua en entornos de QA
Modelo Integración Continua en entornos de QAModelo Integración Continua en entornos de QA
Modelo Integración Continua en entornos de QA
 
Integracion Continua
Integracion ContinuaIntegracion Continua
Integracion Continua
 
Como escribir buenos tests al hacer TDD
Como escribir buenos tests al hacer TDDComo escribir buenos tests al hacer TDD
Como escribir buenos tests al hacer TDD
 
Cómo trabajamos en Plastic SCM
Cómo trabajamos en Plastic SCMCómo trabajamos en Plastic SCM
Cómo trabajamos en Plastic SCM
 
Scrum y Testing
Scrum y TestingScrum y Testing
Scrum y Testing
 
Compartiendo cómo trabajamos haciendo uso de Kanban
Compartiendo cómo trabajamos haciendo uso de KanbanCompartiendo cómo trabajamos haciendo uso de Kanban
Compartiendo cómo trabajamos haciendo uso de Kanban
 
Introducción a Unit Testing y TDD
Introducción a Unit Testing y TDDIntroducción a Unit Testing y TDD
Introducción a Unit Testing y TDD
 
065 Testing Automatizado Hagamos Que Las Maquinas Trabajen Por Nosotros
065 Testing Automatizado Hagamos Que Las Maquinas  Trabajen Por Nosotros065 Testing Automatizado Hagamos Que Las Maquinas  Trabajen Por Nosotros
065 Testing Automatizado Hagamos Que Las Maquinas Trabajen Por Nosotros
 
Team Engagement PHP Barcelona 2011
Team Engagement PHP Barcelona 2011Team Engagement PHP Barcelona 2011
Team Engagement PHP Barcelona 2011
 
Pruebas Unitarias
Pruebas Unitarias Pruebas Unitarias
Pruebas Unitarias
 
Cómo reciclar equipos y no morir en el intento
Cómo reciclar equipos y no morir en el intentoCómo reciclar equipos y no morir en el intento
Cómo reciclar equipos y no morir en el intento
 
Control de versiones
Control de versionesControl de versiones
Control de versiones
 
Ponele el TURBO al Dev Team de tu Startup
Ponele el TURBO al Dev Team de tu StartupPonele el TURBO al Dev Team de tu Startup
Ponele el TURBO al Dev Team de tu Startup
 
Desarrollo en cascada vs desarrollo agile scrum
Desarrollo en cascada vs desarrollo agile scrumDesarrollo en cascada vs desarrollo agile scrum
Desarrollo en cascada vs desarrollo agile scrum
 

Similar a ALM Sessions 2012 - Entrega Continua con VS ALM y TFS

Is clase 13_metodos_y_procesos
Is clase 13_metodos_y_procesosIs clase 13_metodos_y_procesos
Is clase 13_metodos_y_procesosAle Mejia
 
Devops meetup 10 diciembre 2014
Devops meetup 10 diciembre 2014 Devops meetup 10 diciembre 2014
Devops meetup 10 diciembre 2014 Eduardo Diaz
 
Argentesting 2017 - The evolving role of QA
Argentesting 2017 - The evolving role of QAArgentesting 2017 - The evolving role of QA
Argentesting 2017 - The evolving role of QAArgentesting
 
Que demonios es eso de Devops (y porquedebería interesarme)
Que demonios es eso de Devops (y porquedebería interesarme)Que demonios es eso de Devops (y porquedebería interesarme)
Que demonios es eso de Devops (y porquedebería interesarme)Jacobo García López de Araujo
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurancewill2294
 
Devops meetup 21 de Junio 2017
Devops meetup 21 de Junio 2017Devops meetup 21 de Junio 2017
Devops meetup 21 de Junio 2017Eduardo Diaz
 
Meetup: Sesion #1 Unit Testing & Simian Army
Meetup: Sesion #1 Unit Testing & Simian ArmyMeetup: Sesion #1 Unit Testing & Simian Army
Meetup: Sesion #1 Unit Testing & Simian ArmyOsvaldo Mercado Coss
 
Arquitectura de Software y DevOps
Arquitectura de Software y DevOpsArquitectura de Software y DevOps
Arquitectura de Software y DevOpsJorge Eduardo Gaona
 
¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?Micael Gallego
 
057 Testing Y Pensar Que Me Habian Dicho
057 Testing Y  Pensar Que Me Habian Dicho057 Testing Y  Pensar Que Me Habian Dicho
057 Testing Y Pensar Que Me Habian DichoGeneXus
 
Feb-2015 / El arte de crear software de calidad con agilidad
Feb-2015 / El arte de crear software de calidad con agilidad Feb-2015 / El arte de crear software de calidad con agilidad
Feb-2015 / El arte de crear software de calidad con agilidad Jesus Perez Franco
 
Cascada vs Agile Scrum v2.0
Cascada vs Agile Scrum v2.0Cascada vs Agile Scrum v2.0
Cascada vs Agile Scrum v2.0TestingBaires
 
366822968 paso-5-examen-final
366822968 paso-5-examen-final366822968 paso-5-examen-final
366822968 paso-5-examen-finaldanny rios
 

Similar a ALM Sessions 2012 - Entrega Continua con VS ALM y TFS (20)

Is clase 13_metodos_y_procesos
Is clase 13_metodos_y_procesosIs clase 13_metodos_y_procesos
Is clase 13_metodos_y_procesos
 
métodos y procesos
métodos y procesosmétodos y procesos
métodos y procesos
 
Is clase 13_metodos_y_procesos
Is clase 13_metodos_y_procesosIs clase 13_metodos_y_procesos
Is clase 13_metodos_y_procesos
 
Devops meetup 10 diciembre 2014
Devops meetup 10 diciembre 2014 Devops meetup 10 diciembre 2014
Devops meetup 10 diciembre 2014
 
Argentesting 2017 - The evolving role of QA
Argentesting 2017 - The evolving role of QAArgentesting 2017 - The evolving role of QA
Argentesting 2017 - The evolving role of QA
 
Que demonios es eso de Devops (y porquedebería interesarme)
Que demonios es eso de Devops (y porquedebería interesarme)Que demonios es eso de Devops (y porquedebería interesarme)
Que demonios es eso de Devops (y porquedebería interesarme)
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
Devops meetup 21 de Junio 2017
Devops meetup 21 de Junio 2017Devops meetup 21 de Junio 2017
Devops meetup 21 de Junio 2017
 
Meetup: Sesion #1 Unit Testing & Simian Army
Meetup: Sesion #1 Unit Testing & Simian ArmyMeetup: Sesion #1 Unit Testing & Simian Army
Meetup: Sesion #1 Unit Testing & Simian Army
 
Arquitectura de Software y DevOps
Arquitectura de Software y DevOpsArquitectura de Software y DevOps
Arquitectura de Software y DevOps
 
Testlink
TestlinkTestlink
Testlink
 
El coste de no usar integración continua
El coste de no usar integración continuaEl coste de no usar integración continua
El coste de no usar integración continua
 
Continuos Delivery Commit stage
Continuos Delivery Commit stageContinuos Delivery Commit stage
Continuos Delivery Commit stage
 
¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?
 
S9-DAW-2022S1.pptx
S9-DAW-2022S1.pptxS9-DAW-2022S1.pptx
S9-DAW-2022S1.pptx
 
057 Testing Y Pensar Que Me Habian Dicho
057 Testing Y  Pensar Que Me Habian Dicho057 Testing Y  Pensar Que Me Habian Dicho
057 Testing Y Pensar Que Me Habian Dicho
 
Feb-2015 / El arte de crear software de calidad con agilidad
Feb-2015 / El arte de crear software de calidad con agilidad Feb-2015 / El arte de crear software de calidad con agilidad
Feb-2015 / El arte de crear software de calidad con agilidad
 
Seis en 75 - Víctor Gómez Adán
Seis en 75 - Víctor Gómez AdánSeis en 75 - Víctor Gómez Adán
Seis en 75 - Víctor Gómez Adán
 
Cascada vs Agile Scrum v2.0
Cascada vs Agile Scrum v2.0Cascada vs Agile Scrum v2.0
Cascada vs Agile Scrum v2.0
 
366822968 paso-5-examen-final
366822968 paso-5-examen-final366822968 paso-5-examen-final
366822968 paso-5-examen-final
 

Más de Jose Luis Soria

Project Portfolio Management with Kanban in an international company
Project Portfolio Management with Kanban in an international companyProject Portfolio Management with Kanban in an international company
Project Portfolio Management with Kanban in an international companyJose Luis Soria
 
Lean Kanban at Ria - Lean Kanban Southern Europe 2015
Lean Kanban at Ria - Lean Kanban Southern Europe 2015Lean Kanban at Ria - Lean Kanban Southern Europe 2015
Lean Kanban at Ria - Lean Kanban Southern Europe 2015Jose Luis Soria
 
Things to do with the time you’ll save thanks to VSO
Things to do with the time you’ll save thanks to VSO Things to do with the time you’ll save thanks to VSO
Things to do with the time you’ll save thanks to VSO Jose Luis Soria
 
Jose Luis Soria - Codemotion 2014 - Designing a release pipeline
Jose Luis Soria - Codemotion 2014 - Designing a release pipelineJose Luis Soria - Codemotion 2014 - Designing a release pipeline
Jose Luis Soria - Codemotion 2014 - Designing a release pipelineJose Luis Soria
 
Jose Luis Soria - XP2014 - Designing a Release Pipeline
Jose Luis Soria - XP2014 - Designing a Release PipelineJose Luis Soria - XP2014 - Designing a Release Pipeline
Jose Luis Soria - XP2014 - Designing a Release PipelineJose Luis Soria
 
Jose Luis Soria - Microsoft Plataforma Empresarial 2014 - ALM como factor dif...
Jose Luis Soria - Microsoft Plataforma Empresarial 2014 - ALM como factor dif...Jose Luis Soria - Microsoft Plataforma Empresarial 2014 - ALM como factor dif...
Jose Luis Soria - Microsoft Plataforma Empresarial 2014 - ALM como factor dif...Jose Luis Soria
 
Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous...
Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous...Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous...
Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous...Jose Luis Soria
 
Proyectos ágiles con Team Foundation Server - COITT
Proyectos ágiles con Team Foundation Server - COITTProyectos ágiles con Team Foundation Server - COITT
Proyectos ágiles con Team Foundation Server - COITTJose Luis Soria
 
ALM Tour 2013 - Responderá mi aplicación en el mundo real?
ALM Tour 2013 - Responderá mi aplicación en el mundo real?ALM Tour 2013 - Responderá mi aplicación en el mundo real?
ALM Tour 2013 - Responderá mi aplicación en el mundo real?Jose Luis Soria
 
ALM Tour 2013 - Proyectos bajo control - asegurando la entrega de valor
ALM Tour 2013 - Proyectos bajo control - asegurando la entrega de valorALM Tour 2013 - Proyectos bajo control - asegurando la entrega de valor
ALM Tour 2013 - Proyectos bajo control - asegurando la entrega de valorJose Luis Soria
 
ALM Tour 2013 - Entregar a tiempo y sin errores
ALM Tour 2013 - Entregar a tiempo y sin erroresALM Tour 2013 - Entregar a tiempo y sin errores
ALM Tour 2013 - Entregar a tiempo y sin erroresJose Luis Soria
 
Bcn devcon jose luis soria - patterns & antipatterns for delivery
Bcn devcon   jose luis soria - patterns & antipatterns for deliveryBcn devcon   jose luis soria - patterns & antipatterns for delivery
Bcn devcon jose luis soria - patterns & antipatterns for deliveryJose Luis Soria
 
Real World Agile Roadshow 2013 - Planificación y Arquitectura Ágil
Real World Agile Roadshow 2013 - Planificación y Arquitectura ÁgilReal World Agile Roadshow 2013 - Planificación y Arquitectura Ágil
Real World Agile Roadshow 2013 - Planificación y Arquitectura ÁgilJose Luis Soria
 
ALM Summit 3 - Setting up a Continuous Delivery Deployment Pipeline with TFS
ALM Summit 3 - Setting up a Continuous Delivery Deployment Pipeline with TFSALM Summit 3 - Setting up a Continuous Delivery Deployment Pipeline with TFS
ALM Summit 3 - Setting up a Continuous Delivery Deployment Pipeline with TFSJose Luis Soria
 
Roadshow ALM Calidad 2013 - Infraestructura de pruebas - Jose Luis Soria
Roadshow ALM Calidad 2013 - Infraestructura de pruebas - Jose Luis SoriaRoadshow ALM Calidad 2013 - Infraestructura de pruebas - Jose Luis Soria
Roadshow ALM Calidad 2013 - Infraestructura de pruebas - Jose Luis SoriaJose Luis Soria
 
Jose Luis Soria - Visual Studio Tour Plain Concepts - DevOps
Jose Luis Soria - Visual Studio Tour Plain Concepts - DevOpsJose Luis Soria - Visual Studio Tour Plain Concepts - DevOps
Jose Luis Soria - Visual Studio Tour Plain Concepts - DevOpsJose Luis Soria
 
Visual Studio Tour Plain Concepts - ALM para Windows 8
Visual Studio Tour Plain Concepts - ALM para Windows 8Visual Studio Tour Plain Concepts - ALM para Windows 8
Visual Studio Tour Plain Concepts - ALM para Windows 8Jose Luis Soria
 
Jose Luis Soria - CAS2012 - Cargo cult Agile training & coaching
Jose Luis Soria - CAS2012 - Cargo cult Agile training & coachingJose Luis Soria - CAS2012 - Cargo cult Agile training & coaching
Jose Luis Soria - CAS2012 - Cargo cult Agile training & coachingJose Luis Soria
 
Cargo Cult Agile training & coaching
Cargo Cult Agile training & coachingCargo Cult Agile training & coaching
Cargo Cult Agile training & coachingJose Luis Soria
 
Agile Database Development - SDC2012
Agile Database Development - SDC2012Agile Database Development - SDC2012
Agile Database Development - SDC2012Jose Luis Soria
 

Más de Jose Luis Soria (20)

Project Portfolio Management with Kanban in an international company
Project Portfolio Management with Kanban in an international companyProject Portfolio Management with Kanban in an international company
Project Portfolio Management with Kanban in an international company
 
Lean Kanban at Ria - Lean Kanban Southern Europe 2015
Lean Kanban at Ria - Lean Kanban Southern Europe 2015Lean Kanban at Ria - Lean Kanban Southern Europe 2015
Lean Kanban at Ria - Lean Kanban Southern Europe 2015
 
Things to do with the time you’ll save thanks to VSO
Things to do with the time you’ll save thanks to VSO Things to do with the time you’ll save thanks to VSO
Things to do with the time you’ll save thanks to VSO
 
Jose Luis Soria - Codemotion 2014 - Designing a release pipeline
Jose Luis Soria - Codemotion 2014 - Designing a release pipelineJose Luis Soria - Codemotion 2014 - Designing a release pipeline
Jose Luis Soria - Codemotion 2014 - Designing a release pipeline
 
Jose Luis Soria - XP2014 - Designing a Release Pipeline
Jose Luis Soria - XP2014 - Designing a Release PipelineJose Luis Soria - XP2014 - Designing a Release Pipeline
Jose Luis Soria - XP2014 - Designing a Release Pipeline
 
Jose Luis Soria - Microsoft Plataforma Empresarial 2014 - ALM como factor dif...
Jose Luis Soria - Microsoft Plataforma Empresarial 2014 - ALM como factor dif...Jose Luis Soria - Microsoft Plataforma Empresarial 2014 - ALM como factor dif...
Jose Luis Soria - Microsoft Plataforma Empresarial 2014 - ALM como factor dif...
 
Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous...
Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous...Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous...
Alm Forum 2014 - Jose Luis Soria - Patterns and anti-patterns for (Continuous...
 
Proyectos ágiles con Team Foundation Server - COITT
Proyectos ágiles con Team Foundation Server - COITTProyectos ágiles con Team Foundation Server - COITT
Proyectos ágiles con Team Foundation Server - COITT
 
ALM Tour 2013 - Responderá mi aplicación en el mundo real?
ALM Tour 2013 - Responderá mi aplicación en el mundo real?ALM Tour 2013 - Responderá mi aplicación en el mundo real?
ALM Tour 2013 - Responderá mi aplicación en el mundo real?
 
ALM Tour 2013 - Proyectos bajo control - asegurando la entrega de valor
ALM Tour 2013 - Proyectos bajo control - asegurando la entrega de valorALM Tour 2013 - Proyectos bajo control - asegurando la entrega de valor
ALM Tour 2013 - Proyectos bajo control - asegurando la entrega de valor
 
ALM Tour 2013 - Entregar a tiempo y sin errores
ALM Tour 2013 - Entregar a tiempo y sin erroresALM Tour 2013 - Entregar a tiempo y sin errores
ALM Tour 2013 - Entregar a tiempo y sin errores
 
Bcn devcon jose luis soria - patterns & antipatterns for delivery
Bcn devcon   jose luis soria - patterns & antipatterns for deliveryBcn devcon   jose luis soria - patterns & antipatterns for delivery
Bcn devcon jose luis soria - patterns & antipatterns for delivery
 
Real World Agile Roadshow 2013 - Planificación y Arquitectura Ágil
Real World Agile Roadshow 2013 - Planificación y Arquitectura ÁgilReal World Agile Roadshow 2013 - Planificación y Arquitectura Ágil
Real World Agile Roadshow 2013 - Planificación y Arquitectura Ágil
 
ALM Summit 3 - Setting up a Continuous Delivery Deployment Pipeline with TFS
ALM Summit 3 - Setting up a Continuous Delivery Deployment Pipeline with TFSALM Summit 3 - Setting up a Continuous Delivery Deployment Pipeline with TFS
ALM Summit 3 - Setting up a Continuous Delivery Deployment Pipeline with TFS
 
Roadshow ALM Calidad 2013 - Infraestructura de pruebas - Jose Luis Soria
Roadshow ALM Calidad 2013 - Infraestructura de pruebas - Jose Luis SoriaRoadshow ALM Calidad 2013 - Infraestructura de pruebas - Jose Luis Soria
Roadshow ALM Calidad 2013 - Infraestructura de pruebas - Jose Luis Soria
 
Jose Luis Soria - Visual Studio Tour Plain Concepts - DevOps
Jose Luis Soria - Visual Studio Tour Plain Concepts - DevOpsJose Luis Soria - Visual Studio Tour Plain Concepts - DevOps
Jose Luis Soria - Visual Studio Tour Plain Concepts - DevOps
 
Visual Studio Tour Plain Concepts - ALM para Windows 8
Visual Studio Tour Plain Concepts - ALM para Windows 8Visual Studio Tour Plain Concepts - ALM para Windows 8
Visual Studio Tour Plain Concepts - ALM para Windows 8
 
Jose Luis Soria - CAS2012 - Cargo cult Agile training & coaching
Jose Luis Soria - CAS2012 - Cargo cult Agile training & coachingJose Luis Soria - CAS2012 - Cargo cult Agile training & coaching
Jose Luis Soria - CAS2012 - Cargo cult Agile training & coaching
 
Cargo Cult Agile training & coaching
Cargo Cult Agile training & coachingCargo Cult Agile training & coaching
Cargo Cult Agile training & coaching
 
Agile Database Development - SDC2012
Agile Database Development - SDC2012Agile Database Development - SDC2012
Agile Database Development - SDC2012
 

Último

How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 

Último (11)

How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 

ALM Sessions 2012 - Entrega Continua con VS ALM y TFS

  • 1.
  • 4. ¿Funciona? Más ejemplos: Facebook, Amazon, Netflix, Etsy…
  • 6. ¿Te sientes identificado? Tengo cambios que funcionan perfectamente en un sistema pero fallan en otro. Una vez que se termina de desarrollar una funcionalidad, se tardan dos semanas en poder tenerla lista en un entorno de producción o similar. Los programadores y los testers juegan al ping-pong. Aunque tengo las herramientas adecuadas, sigue siendo difícil obtener feedback. El proceso de desplegar en producción es muy complejo y nunca se hace de la misma forma.
  • 7. ¿Te suena? Aunque automatice parte del despliegue, la gente de operaciones se niega a usar las automatizaciones. No está claro cómo volver a una versión estable si un despliegue va mal. Cuando hay que liberar una versión, me puedo despedir del fin de semana. No es posible preparar una demo rápida para un cliente de algo que tengo en desarrollo.
  • 8. ¿Te ha pasado alguna vez? Me es imposible entregar un pequeño cambio o una corrección de un pequeño error, en un corto espacio de tiempo. Se ha caído todo el sistema y sólo había tocado una tontería. Se ha caído todo el sistema y no tengo ni idea de qué se había tocado. Se ha caído todo el sistema, ¡y no habíamos tocado nada!
  • 9.
  • 10.
  • 11.
  • 12.
  • 13. tiempo. (Del lat. tempus). 1. m. Duración de las cosas sujetas a mudanza. 2. m. Magnitud física que permite ordenar la secuencia de los sucesos, estableciendo un pasado, un presente y un futuro. Su unidad en el Sistema Internacional es el segundo http://buscon.rae.es/draeI/SrvltConsulta?TI PO_BUS=3&LEMA=tiempo
  • 14. tiempo. (Del lat. tempus). 1. m. Magnitud imposible de predecir, que transcurre entre que termino de desarrollar una funcionalidad y ésta es liberada en producción.
  • 15.
  • 16. Las entregas van a ir guiadas por las necesidades de negocio, no por las restricciones operacionales.
  • 17.
  • 18. Deployment Pipeline Cualquier build es “release candidate”
  • 19. Crea un proceso repetible y confiable para liberar software Liberar software debería ser fácil, porque todo el proceso habrá 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) es automatizable!
  • 20. Automatiza prácticamente todo Construcción, despliegue, pruebas de aceptación, actualizaciones de la base de datos, configuraciones de entornos… Hay cosas que no se pueden automatizar: testeo exploratorio, demos al cliente, auditorías…
  • 21. Trabajando para la automatización
  • 23. Mantén todo bajo control de versiones Documentación de requisitos, scripts de pruebas, casos de prueba automatizados, scripts de configuración de red, scripts de despliegue, creación y mantenimiento de bases de datos, ficheros de configuración de la aplicación, configuraciones de herramientas, documentación técnica… Se debería poder reproducir el entorno de ejecución en una máquina limpia, pulsando un botón. Lo mismo para el entorno de desarrollo.
  • 24. Si duele, hazlo más frecuentemente, y anticípate al dolor Encuentra lo que más te cuesta hacer, y hazlo más frecuentemente: testing, despliegue, documentación… lo que sea.
  • 25. Construye con calidad Lean: “build quality in” Los defectos son más baratos de corregir cuanto antes se encuentren. Las pruebas no son una fase, ni van después del desarrollo. Todo el equipo es responsable de la calidad.
  • 26. Hecho significa entregado Done vs. Done Done. ¿Qué significa “hecho” para ti? No existe “80% hecho”. La condición de hecho es binaria. Es un esfuerzo del equipo al completo.
  • 27. Todo el mundo es responsable del proceso de entrega No nos pasamos la pelota de unos a otros. Puede haber barreras organizacionales. Movimiento DevOps.
  • 28. Mejora continua La entrega continua no es algo que se implemente y se deje funcionando. Requiere atención continuada del equipo completo. Las retrospectivas ayudan.
  • 29.
  • 30.
  • 31. 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 entre entornos? Transformaciones de ficheros de configuración, gestión de cambios desde las construcciones automatizadas ¿Cómo gestiono los entornos? Virtualización, Lab Management
  • 32. Integración continua ¿Cómo fomentar que se haga checkin frecuente? ¿Cómo puedo tener una batería de pruebas que se ejecute rápido? Pruebas sencillas, que se hagan en un servidor, entorno dedicado, tareas atómicas, análisis de impacto ¿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 alto construcciones automatizadas rotas, o que no pasen todas las pruebas? Políticas de checkin ¿Cómo puedo asegurarme un mecanismo de vuelta atrás? Lab
  • 34. 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? …
  • 35. Deployment Pipeline ¿Qué herramientas tengo para soportar el Commit Stage? … ¿Qué herramientas tengo para soportar el Acceptance Testing Stage? … ¿Qué herramientas tengo para soportar el Manual Testing Stage? … ¿Qué herramientas tengo para soportar el Performance Testing Stage? … ¿Qué herramientas tengo para soportar el Release Stage? …
  • 36. http://continuousdelivery.com http://bit.ly/cUOpfw www.secondnug.com http://bit.ly/xc3rPE jlsoria@plainconcepts.com http://geeks.ms/blogs/jlsoria

Notas del editor

  1. 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.
  2. ¿A alguien de la audiencia no le ha pasadonunca nada de esto?Integration hellTesting hellDev complete <> releaseFalta de automatización…
  3. ¿A alguien de la audiencia no le ha pasadonunca nada de esto?Integration hellTesting hellDev complete <> releaseFalta de automatización…
  4. 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.
  5. 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)
  6. 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)