Desarrollo Entrega continua Rodrigo Corral [email protected] @r_corral.

27
Desarrollo Entrega continua Rodrigo Corral [email protected] @r_corral

Transcript of Desarrollo Entrega continua Rodrigo Corral [email protected] @r_corral.

Page 1: Desarrollo Entrega continua Rodrigo Corral rcorral@plainconcepts.com @r_corral.

DesarrolloEntrega continuaRodrigo [email protected]@r_corral

Page 2: Desarrollo Entrega continua Rodrigo Corral rcorral@plainconcepts.com @r_corral.

REQUISITOS

PRODUCTBACKLOG

OPSBACKLOG

MonitorizarImplementar

SOFTWARE FUNCIONANDO

DefiniciónIdear

DesarrolloDe la idea al software funcionando

Requisitos mal comprendidos

Expectativas de usuarios insatisfechas

Feedback útil no recogido

Herramientas de gestión dispersas

• Cambios en requerimientos y prioridades

• Calidad a posteriori• No trazabilidad• Pérdidas de foco

Requisitos de preparación de operaciones insatisfechos

Incidencias en producción difíciles de depurar y resolver

Nuevos conocimientos sin recolectar

OperaciónSoftware funcionando en producciónEntrega de valor

Impedimentos a la entrega de valorUsuarios/Stakeholders

Desarrollo & Testeo

Operaciones

Page 3: Desarrollo Entrega continua Rodrigo Corral rcorral@plainconcepts.com @r_corral.

ALM Microsoft Gold PartnerPartner del año 2009, 2010, 2011 y 2012Contamos con MVP de Visual Studio ALM, CSM, CSP, PSM, PSD, PSDTHemos liderado la implantación de Scrum y TFS en numerosas compañíasAdemás: Consultoría, Mentoring, Desarrollo, UX, XBOX, Windows Phonewww.plainconcepts.com

Page 4: Desarrollo Entrega continua Rodrigo Corral rcorral@plainconcepts.com @r_corral.

•El software sólo tiene valor si está en producción

•El feedback valioso surge de la interacción del usuario

•Los grandes despliegues suponen grandes riesgos

Page 5: Desarrollo Entrega continua Rodrigo Corral rcorral@plainconcepts.com @r_corral.

Entrega continua (de valor)

Page 6: Desarrollo Entrega continua Rodrigo Corral rcorral@plainconcepts.com @r_corral.

REQUISITOS

PRODUCTBACKLOG

OPSBACKLOG

MonitorizarImplementar

SOFTWARE FUNCIONANDO

DefiniciónIdear

DesarrolloDe la idea al software funcionando

Requisitos mal comprendidos

Expectativas de usuarios insatisfechas

Feedback útil no recogido

Herramientas de gestión dispersas

• Cambios en requerimientos y prioridades

• Calidad a posteriori• No trazabilidad• Pérdidas de foco

Requisitos de preparación de operaciones insatisfechos

Incidencias en producción difíciles de depurar y resolver

Nuevos conocimientos sin recolectar

OperaciónSoftware funcionando en producciónEntrega de valor

Impedimentos a la entrega de valorUsuarios/Stakeholders

Desarrollo & Testeo

Operaciones

Page 7: Desarrollo Entrega continua Rodrigo Corral rcorral@plainconcepts.com @r_corral.

Cambios en requisitos y prioridades

Requisitos y prioridades cambiantes Comunicación pobre, ciclos de entrega largos, re-trabajo, cambios de contexto constantes, e insatisfacción de los usuarios

Herramientas de gestión del backlog y las tareas

Herramientas productivas para crear, priorizar y gestionar los requisitos y las tareas del equipo de desarrollo

Problema

Solución

Page 8: Desarrollo Entrega continua Rodrigo Corral rcorral@plainconcepts.com @r_corral.

Backlogs & Task Board

Demo

Page 9: Desarrollo Entrega continua Rodrigo Corral rcorral@plainconcepts.com @r_corral.

REQUISITOS

PRODUCTBACKLOG

OPSBACKLOG

MonitorizarImplementar

SOFTWARE FUNCIONANDO

DefiniciónIdear

DesarrolloDe la idea al software funcionando

Requisitos mal comprendidos

Expectativas de usuarios insatisfechas

Feedback útil no recogido

Herramientas de gestión dispersas

• Cambios en requerimientos y prioridades

• Calidad a posteriori• No trazabilidad• Pérdidas de foco

Requisitos de preparación de operaciones insatisfechos

Incidencias en producción difíciles de depurar y resolver

Nuevos conocimientos sin recolectar

OperaciónSoftware funcionando en producciónEntrega de valor

Impedimentos a la entrega de valorUsuarios/Stakeholders

Desarrollo & Testeo

Operaciones

Page 10: Desarrollo Entrega continua Rodrigo Corral rcorral@plainconcepts.com @r_corral.

Pérdidas de foco

Cambios de contexto constantes Ritmo desarrollo lento, pérdida de productividad, frustración y ciclos de desarrollo largos

Team ExplorerExperiencia de usuario rediseñada para mantener al equipo “en la zona” y siendo productivo

My workNueva característica que registra, archiva y recupera el contexto de trabajo para permitir suspender y reanudar el trabajo

Problema

Solución

Solución

Page 11: Desarrollo Entrega continua Rodrigo Corral rcorral@plainconcepts.com @r_corral.

Team Explorer & My Work

Demo

Page 12: Desarrollo Entrega continua Rodrigo Corral rcorral@plainconcepts.com @r_corral.

Pérdidas de foco

Edición de código fuera de Visual Studio o en modo desconectado

Incertidumbre, desprotección de archivos “por debajo”, y frustración de los desarrolladores

Workspaces localesAñadir, borrar y/o editar archivos directamente en el disco o usando otros IDEs

Problema

Solución

Page 13: Desarrollo Entrega continua Rodrigo Corral rcorral@plainconcepts.com @r_corral.

Pérdidas de foco

Cambios en código sin validar efectivamente

Código duplicado, re-trabajo, baja calidad y cambios constantes de contexto

Revisiones de código (Code Review)Flujo de trabajo integrado que es la solución más potente para incrementar la calidad del código

Comparativa de código (Code comparison)

Experiencia de uso rediseñada para facilitar el merge/diff con múltiples vistas de las diferencias entre archivos

Problema

Solución

Solución

Page 14: Desarrollo Entrega continua Rodrigo Corral rcorral@plainconcepts.com @r_corral.

Code Review &Code Comparison

Demo

Page 15: Desarrollo Entrega continua Rodrigo Corral rcorral@plainconcepts.com @r_corral.

REQUISITOS

PRODUCTBACKLOG

OPSBACKLOG

MonitorizarImplementar

SOFTWARE FUNCIONANDO

DefiniciónIdear

DesarrolloDe la idea al software funcionando

Requisitos mal comprendidos

Expectativas de usuarios insatisfechas

Feedback útil no recogido

Herramientas de gestión dispersas

• Cambios en requerimientos y prioridades

• Calidad a posteriori• No trazabilidad• Pérdidas de foco

Requisitos de preparación de operaciones insatisfechos

Incidencias en producción difíciles de depurar y resolver

Nuevos conocimientos sin recolectar

OperaciónSoftware funcionando en producciónEntrega de valor

Impedimentos a la entrega de valorUsuarios/Stakeholders

Desarrollo & Testeo

Operaciones

Page 16: Desarrollo Entrega continua Rodrigo Corral rcorral@plainconcepts.com @r_corral.

Pruebas unitarias

Page 17: Desarrollo Entrega continua Rodrigo Corral rcorral@plainconcepts.com @r_corral.

• La detección más temprana posible

• Demostración de que no hemos roto nada

• Documentación• Marcador claro de que una tarea

está completada• Mejora el diseño• Verifica la correcta corrección de

errores• El tiempo de depuración se

reduce

Page 18: Desarrollo Entrega continua Rodrigo Corral rcorral@plainconcepts.com @r_corral.

Pruebas unitarias

Page 19: Desarrollo Entrega continua Rodrigo Corral rcorral@plainconcepts.com @r_corral.

Calidad a posteriori

Calidad no contemplada dentro del proceso

Fracaso cumpliendo los requerimientos de los usuarios, re-trabajo, ciclos de desarrollo largos, e insatisfacción de los usuarios

Testeo unitario (continuo)Framework extensible para testeo unitario permitiendo enfocar necesidades o tecnologías específicas para garantizar la corrección del código

Framework para Fakes y StubsPotente framework de “mocking” que simplifica el testeo unitario y aísla la lógica de negocio

Problema

Solución

Solución

Page 20: Desarrollo Entrega continua Rodrigo Corral rcorral@plainconcepts.com @r_corral.

Testeo unitario (continuo)

Demo

Page 21: Desarrollo Entrega continua Rodrigo Corral rcorral@plainconcepts.com @r_corral.

REQUISITOS

PRODUCTBACKLOG

OPSBACKLOG

MonitorizarImplementar

SOFTWARE FUNCIONANDO

DefiniciónIdear

DesarrolloDe la idea al software funcionando

Requisitos mal comprendidos

Expectativas de usuarios insatisfechas

Feedback útil no recogido

Herramientas de gestión dispersas

• Cambios en requerimientos y prioridades

• Calidad a posteriori• No trazabilidad• Pérdidas de foco

Requisitos de preparación de operaciones insatisfechos

Incidencias en producción difíciles de depurar y resolver

Nuevos conocimientos sin recolectar

OperaciónSoftware funcionando en producciónEntrega de valor

Impedimentos a la entrega de valorUsuarios/Stakeholders

Desarrollo & Testeo

Operaciones

Page 22: Desarrollo Entrega continua Rodrigo Corral rcorral@plainconcepts.com @r_corral.

Feedback útil no recogido

Feedback tardío sobre los cambios Corrección tardía de “bugs” críticos, incremento de los cambios de contexto, y ciclos de entrega largos

Integración continuaConstrucción, despliegue y testeo de aplicaciones complejas en cada check-in para identificar temprano los cambios problemáticos

Lab ManagementSistema de autoabastecimiento de entornos de laboratorio para pruebas que permite acelerar los ciclos de compilación-despliegue-pruebas y su feedback asociado

Problema

Solución

Solución

Page 23: Desarrollo Entrega continua Rodrigo Corral rcorral@plainconcepts.com @r_corral.

Integración continua

Demo

Page 24: Desarrollo Entrega continua Rodrigo Corral rcorral@plainconcepts.com @r_corral.

Conclusiones (i)Cambios en requisitos y prioridades

Comunicación pobre, ciclos de entrega largos, re-trabajo, cambios de contexto constantes, e insatisfacción de los usuariosProblem

a

Pérdidas de focoCambios de contexto constantes, cambios en el código sin validar efectivamenteProblem

a

Herramientas de gestión del backlog y tareas

Team Explorer & My Work

Code review & Code Comparison

Page 25: Desarrollo Entrega continua Rodrigo Corral rcorral@plainconcepts.com @r_corral.

Conclusiones (ii)Calidad a posteriori

Fracaso cumpliendo los requerimientos de los usuarios, re-trabajo, ciclos de desarrollo largos, e insatisfacción de los usuariosProblem

a

Feedback útil no recogidoCorrección tardía de “bugs” críticos, incremento de los cambios de contexto, y ciclos de entrega largos Problem

a

Testeo unitario (continuo)

Integración contínua

Lab Management

Page 26: Desarrollo Entrega continua Rodrigo Corral rcorral@plainconcepts.com @r_corral.

Quiero saber más Gira de lanzamiento de VS 2012 de Plain Concepts Madrid, 30 de Octubre https

://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032530444&culture=es-es

Barcelona, 8 de Noviembrehttps://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032530873&Culture=es-ES

Bilbao, 14 de Noviembrehttps://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032530250&Culture=es-ES

http://www.plainconcepts.com/vslaunchtour

Page 27: Desarrollo Entrega continua Rodrigo Corral rcorral@plainconcepts.com @r_corral.

© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.