SlideShare une entreprise Scribd logo
1  sur  35
Gestión ágil con TFS, SCRUM y buenas prácticas Rodrigo Corral ALM Team Lead, Plain Concepts MVP Team System  Certified Scrum Master y CertifiedScrum Practicioner
Gestión de proyectos Metodología Herramientas Involucrar al cliente Contratos Planificación Procesos Estimación Documentación Gestión de requisitos TesteoUnitario Calidad Comunicación ROI Construcción automatizada Gestión de la configuración Gestión del cambio Equipo
SOCORRO      ! Gestionar proyectos es dificil Gestionar proyectos ES POSIBLE Vengo a animaros a hacerlo… y comentar mi experiencia
¿Por qué una metodología? Evitar reinventar la rueda Establecer un marco de trabajo claro Incorporar a nuestra gestión buenas prácticas
¿Qué metodología? Simple, de menos a más Natural para el desarrollador Ágil SCRUM
¿Qué está usando el mundo?
¿Por qué una herramienta? Soportar la metodología y buenas prácticas en el día a día Facilitar la vida de los implicados en el proyecto Recolectar y explotar información sin burocrácia
¿Qué herramienta? Agnósticarespecto a la metodología Con soporteparatodaslasbuenasprácticascomunes Integrada en el día al día del desarrollador
Manifiesto ágil A los individuos y su interacción, por encima de los procesos y las herramientas.  El software que funciona, por encima de la documentación exhaustiva.  La colaboración con el cliente, por encima de la negociación contractual.  La respuesta al cambio, por encima del seguimiento de un plan.
Scrum
El equipo Autoorganizado Autogestionado Multifuncional
En adelante… Buenas prácticas Dificultades Acciones Resultados
Scrum Crear un producto backlog Entender y formar el equipo multidisciplinar Crear el productbacklog Estimación Seguir la reglas de Scrum Implementar buenas prácticas Aprender a estimar Trabajamos metódicamente continuamente Nuestra velocidad de desarrollo mejora contínuamente Hemos conseguido los objetivos marcados La calidad del producto a mejorado enormemente La rotación en el equipo es nula
A veces las funcionan por que sí…
… pero el caos tiene límites
BuenasprácticasPruebasunitarias Falta de comprensión de las ventajas Falta de pericia al escribir pruebas Pereza al escribir pruebas Problemas de rendimiento de las pruebas Las pruebas unitarias no son opcionales Pragmatismo: cobertura suficiente = pruebas suficientes Mantenimiento contínuo de las pruebas Capacidad de mejorar la base de código con libertad Percepción general de mejora de la calidad de desarrollo Flexibilidad para implementar cambios con rapidez Código más mantenible Mejor diseño + 2600 pruebas “sin esfuerzo” Ya nadie discute la utilidad
Siempre se pueden dejar para el final…
BuenasprácticasIntegraciónfrecuente y construccionesautomatizadas Difícil Muy ambiciosos La complejidad de la construcción crece más que la complejidad del proyecto Utilizar una figura de Release Manager Mantenimiento continuo de los scripts de construcción Reutilización de tareas de terceros Todo componente tiene su instalador El despliegue ha dejado de ser un dolor Podemos hacer test de humo Detección muy temprana de problemas Muchas menos incidencias
Siempre podemos integrar al final…
BuenasprácticasMétricas Exigen burocracia Exigen seguimiento Exigen control Seleccionar métricas suficientes pero no excesivas Vigilarlas a diario en el DailyScrum Hacerlas pieza central de la gestión del proyecto Analizarlas con visión de medio plazo Mantener la burocracia bajo control Gestionar en base a datos Guiar en base a fundamentoslasactividadesparalelas al desarrollo Hacer visible el progreso, la velocidad de desarrollo Mejorar la gestión de recursos y personal
BuenasprácticasMétricas ¡Hasta mi jefe lo entiende! La velocidad es la métrica clave
O puedes ignorar a que te enfrentas…
Buenas prácticasCalidad, calidad y… calidad La calidad no es importante La falta de calidad daña la agilidad y la velocidad Nosotros no elegimos la calidad Dejar la calidad para el final Pruebas de aceptación y de humo Test de carga puntualmente Sprint Reviews: vigilar la calidad percibida Betas públicas: automatización del despliegue Mantener el nivel de calidad es más barato que alcanzarlo Agilidad ante cambios Tiempo de despliegue minimizado Detección temprana de problemas
Política de gestión de fuentes Nada de lo anterior es posible sin: Una política adecuada de gestión de fuentes
Desarrollo concurrente y en equipo $ PROJECT DEV - FEATURES + DEV-401 + Estructura de ramas Estructura de carpetas DEV-402 + DEV-401 Antes de comenzar a trabajar en una historia de usuario creamos una rama sobre la que realizamos el desarrollo DEV-402 RI RI Branch Branch DEV Concluido el desarrollo de la historia de usuario, integramos el código en la rama principal de desarrollo
Estructura de ramas ‘Aislar’ el entorno de pruebas Estructura de carpetas DEV-401 $ PROJECT + DEV-402 DEV RI - FEATURES Branch RI Branch + DEV-401 DEV + DEV-402 RI Branch + MAIN MAIN Cuando se cumplen las condiciones de calidad el código en desarrollo se integra en la rama MAIN para que los testers comiencen el trabajo de estabilización Cuando se cumplen las condiciones de calidad el código en desarrollo se integra en la rama MAIN para que los testers comiencen el trabajo de estabilización
Estructura de ramas Incrementos de funcionalidad potencialmente entregables Estructura de carpetas DEV-401 $ PROJECT + DEV-402 DEV RI - FEATURES Branch RI Branch + DEV-401 DEV + DEV-402 Fin de Sprint RI Branch + MAIN MAIN Usar ramas de característica garantiza que a la rama principal, sobre la que realizamos la estabilización del software, solo contendrá características completas y que han alcanzado un mínimo de calidad que permita que el trabajo de los testers sea productivo Realizar el desarrollo de nuevas funcionalidades sobre ramas dedicadas permite que si una funcionalidad no se completa a tiempo para incluirla en el Sprint Review el resto de la base de código principal siga siendo coherente y no incluya características incompletas
Estructura de ramas Corrección de errores Los errores que no son urgentes se corrigen sobre la línea principal de desarrollo y se llevan a las ramas de release, si es necesario, haciendo merge del changeset asociado a la corrección del error Estructura de carpetas DEV-401 $ PROJECT + DEV-402 DEV RI - FEATURES Branch RI Branch + DEV-401 DEV + DEV-402 RI RI FI Branch + MAIN MAIN Branch RI FI V1.0.1 + RELEASE RELEASE 1.0 + Contar con una rama de RELEASE nos permite liberar parches de emergencia, para ‘showstopers’, minimizando los posibles impactos sobre el entorno de producción y minimizando las necesidades de validación por parte de los testers RELEASE x.y.z V1.0 (hotfix)
¿Cómo nos ayuda VS 2010? Soporte para desarrollo guiado por la aceptación
ATDD en la práctica Failed By Tested By AcceptanceTest ProductBacklogItem BugReport Tested By AcceptanceTest
¿Cómo nos ayuda VS 2010? Soporte para multiples equipos
Resumiendo No es fácil Es posible Equipo Metodología Buenas prácticas Herramientas adecuadas Equivocaciones o conocimiento Los resultados son espectaculares
 ¡Haced algo! … os podemos ayudar
“Gestión de proyectos de software con TeamSystem y TeamFoundation Server” ,[object Object]
 Curso online ( con tutorías y diploma acreditativo)

Contenu connexe

Tendances

Extreme programming (1)
Extreme programming (1)Extreme programming (1)
Extreme programming (1)
Enrique Polo
 
Cascada vs Agile Scrum v2.0
Cascada vs Agile Scrum v2.0Cascada vs Agile Scrum v2.0
Cascada vs Agile Scrum v2.0
TestingBaires
 
La programación extrema o e xtreme programming
La programación extrema o e xtreme programmingLa programación extrema o e xtreme programming
La programación extrema o e xtreme programming
JoseMariaAndujar
 

Tendances (20)

Extreme programming (1)
Extreme programming (1)Extreme programming (1)
Extreme programming (1)
 
¿Qué es un DevOps ?
¿Qué es un DevOps ?¿Qué es un DevOps ?
¿Qué es un DevOps ?
 
1º Webinar EXIN en Castellano: EXIN DevOps Master certification: where Agile ...
1º Webinar EXIN en Castellano: EXIN DevOps Master certification: where Agile ...1º Webinar EXIN en Castellano: EXIN DevOps Master certification: where Agile ...
1º Webinar EXIN en Castellano: EXIN DevOps Master certification: where Agile ...
 
DevOps Seminar Slides (Spanish version)
DevOps Seminar Slides (Spanish version)DevOps Seminar Slides (Spanish version)
DevOps Seminar Slides (Spanish version)
 
Diseñando y operando al estilo DevOps
Diseñando y operando al estilo DevOpsDiseñando y operando al estilo DevOps
Diseñando y operando al estilo DevOps
 
Liquid Day - Hablemos de DevOps
Liquid Day - Hablemos de DevOpsLiquid Day - Hablemos de DevOps
Liquid Day - Hablemos de DevOps
 
Cascada vs Agile Scrum v2.0
Cascada vs Agile Scrum v2.0Cascada vs Agile Scrum v2.0
Cascada vs Agile Scrum v2.0
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
Programacion Extrema
Programacion ExtremaProgramacion Extrema
Programacion Extrema
 
Presentacion de xp scrum grupo 1 AYDSI I-2014
Presentacion de xp scrum grupo 1 AYDSI I-2014 Presentacion de xp scrum grupo 1 AYDSI I-2014
Presentacion de xp scrum grupo 1 AYDSI I-2014
 
Testlodge Tutorial v1.0
Testlodge Tutorial v1.0Testlodge Tutorial v1.0
Testlodge Tutorial v1.0
 
Introducción Ágil a eXtreme Programming
Introducción Ágil a eXtreme ProgrammingIntroducción Ágil a eXtreme Programming
Introducción Ágil a eXtreme Programming
 
Presentacion de xp scrum UDO MONAGAS AYDSI- I- 2014
Presentacion de xp scrum UDO MONAGAS AYDSI- I- 2014Presentacion de xp scrum UDO MONAGAS AYDSI- I- 2014
Presentacion de xp scrum UDO MONAGAS AYDSI- I- 2014
 
Integración Continua con Team Foundation Server
Integración Continua con Team Foundation ServerIntegración Continua con Team Foundation Server
Integración Continua con Team Foundation Server
 
Calidad de software
Calidad de softwareCalidad de software
Calidad de software
 
Programacion extrema_WR
Programacion extrema_WRProgramacion extrema_WR
Programacion extrema_WR
 
Estrategias ágiles para incrementar calidad al construir y probar software
Estrategias ágiles para incrementar calidad al construir y probar softwareEstrategias ágiles para incrementar calidad al construir y probar software
Estrategias ágiles para incrementar calidad al construir y probar software
 
La programación extrema o e xtreme programming
La programación extrema o e xtreme programmingLa programación extrema o e xtreme programming
La programación extrema o e xtreme programming
 
Metodos agiles 3
Metodos agiles 3Metodos agiles 3
Metodos agiles 3
 
Programación extrema
Programación extremaProgramación extrema
Programación extrema
 

En vedette

El directivo como gestor de los aprendizajes escolares
El directivo como gestor de los aprendizajes escolaresEl directivo como gestor de los aprendizajes escolares
El directivo como gestor de los aprendizajes escolares
Carlos Fuentes
 
Fundamentos del paradigma de gestión educativa estratégica
Fundamentos del paradigma de gestión educativa estratégicaFundamentos del paradigma de gestión educativa estratégica
Fundamentos del paradigma de gestión educativa estratégica
Claudia Patricia Cruz Padilla
 
Nicastro la historia institucional y el director en la escuela
Nicastro la historia institucional y el director en la escuelaNicastro la historia institucional y el director en la escuela
Nicastro la historia institucional y el director en la escuela
brondovic
 

En vedette (8)

Estreles d'Aïda, Ania i Paula
Estreles d'Aïda, Ania i PaulaEstreles d'Aïda, Ania i Paula
Estreles d'Aïda, Ania i Paula
 
El directivo como gestor de los aprendizajes escolares
El directivo como gestor de los aprendizajes escolaresEl directivo como gestor de los aprendizajes escolares
El directivo como gestor de los aprendizajes escolares
 
Fundamentos del paradigma de gestión educativa estratégica
Fundamentos del paradigma de gestión educativa estratégicaFundamentos del paradigma de gestión educativa estratégica
Fundamentos del paradigma de gestión educativa estratégica
 
La historia institucional y el director de escuela - Sandra Nicastro
La historia institucional y el director de escuela - Sandra NicastroLa historia institucional y el director de escuela - Sandra Nicastro
La historia institucional y el director de escuela - Sandra Nicastro
 
Didáscalo Resúmen Ejecutivo
Didáscalo Resúmen EjecutivoDidáscalo Resúmen Ejecutivo
Didáscalo Resúmen Ejecutivo
 
La gestión educativa estratégica, Pilar Pozner
La gestión educativa estratégica, Pilar PoznerLa gestión educativa estratégica, Pilar Pozner
La gestión educativa estratégica, Pilar Pozner
 
Nicastro la historia institucional y el director en la escuela
Nicastro la historia institucional y el director en la escuelaNicastro la historia institucional y el director en la escuela
Nicastro la historia institucional y el director en la escuela
 
La reestructuración educativa y las culturas de colaboración
La reestructuración educativa y las culturas de colaboraciónLa reestructuración educativa y las culturas de colaboración
La reestructuración educativa y las culturas de colaboración
 

Similaire à ALM09 - Scrum, Visual Studio y Buenas Prácticas

2.- Introducción y Tipos de sistemas de información (2).ppt
2.- Introducción y Tipos de sistemas de información (2).ppt2.- Introducción y Tipos de sistemas de información (2).ppt
2.- Introducción y Tipos de sistemas de información (2).ppt
MatasEnriqueFarasPea
 
Proceso Unificado de Desarrollo
Proceso Unificado de DesarrolloProceso Unificado de Desarrollo
Proceso Unificado de Desarrollo
Fausto J Loja Mora
 

Similaire à ALM09 - Scrum, Visual Studio y Buenas Prácticas (20)

DevOps: una breve introducción
DevOps: una breve introducciónDevOps: una breve introducción
DevOps: una breve introducción
 
Modelo Descrptivos Del Proceso Del Sofware
Modelo Descrptivos  Del  Proceso Del SofwareModelo Descrptivos  Del  Proceso Del Sofware
Modelo Descrptivos Del Proceso Del Sofware
 
Devsecops superstar un movimiento masivo
Devsecops superstar un movimiento masivoDevsecops superstar un movimiento masivo
Devsecops superstar un movimiento masivo
 
3. modelos prescriptivos de proceso
3. modelos prescriptivos de proceso3. modelos prescriptivos de proceso
3. modelos prescriptivos de proceso
 
2.- Introducción y Tipos de sistemas de información (2).ppt
2.- Introducción y Tipos de sistemas de información (2).ppt2.- Introducción y Tipos de sistemas de información (2).ppt
2.- Introducción y Tipos de sistemas de información (2).ppt
 
Sesión 3: Modelos prescriptivos de proceso de software
Sesión 3: Modelos prescriptivos de proceso de softwareSesión 3: Modelos prescriptivos de proceso de software
Sesión 3: Modelos prescriptivos de proceso de software
 
Sesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de procesoSesión 3: Modelos prescriptivos de proceso
Sesión 3: Modelos prescriptivos de proceso
 
Modelos de Ing de soft
Modelos de Ing de softModelos de Ing de soft
Modelos de Ing de soft
 
Ciclo vida DESARROLLO DE SOFTWARE
Ciclo vida DESARROLLO DE SOFTWARECiclo vida DESARROLLO DE SOFTWARE
Ciclo vida DESARROLLO DE SOFTWARE
 
GENEX
GENEXGENEX
GENEX
 
#HablemosDeTestingDay - José Castillo: Estrategia de QA en un contexto de DevOps
#HablemosDeTestingDay - José Castillo: Estrategia de QA en un contexto de DevOps#HablemosDeTestingDay - José Castillo: Estrategia de QA en un contexto de DevOps
#HablemosDeTestingDay - José Castillo: Estrategia de QA en un contexto de DevOps
 
MetodologÍas Y Procesos De Desarrollo
MetodologÍas Y Procesos De DesarrolloMetodologÍas Y Procesos De Desarrollo
MetodologÍas Y Procesos De Desarrollo
 
Scrum
ScrumScrum
Scrum
 
20150416 releasemanagement
20150416 releasemanagement20150416 releasemanagement
20150416 releasemanagement
 
Proceso Unificado de Desarrollo
Proceso Unificado de DesarrolloProceso Unificado de Desarrollo
Proceso Unificado de Desarrollo
 
Modelos de software
Modelos  de  softwareModelos  de  software
Modelos de software
 
Webinar ADF Smart Monitor
Webinar ADF Smart MonitorWebinar ADF Smart Monitor
Webinar ADF Smart Monitor
 
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOpsMeetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
Meetup Oracle Technology MAD_BCN: 6.2 DevOps y DataOps
 
Nexus y la Deuda Tecnica
Nexus y la Deuda TecnicaNexus y la Deuda Tecnica
Nexus y la Deuda Tecnica
 
Metodología tradicional
Metodología tradicionalMetodología tradicional
Metodología tradicional
 

Plus de Rodrigo Corral

Alm como factor diferenciador
Alm como factor diferenciadorAlm como factor diferenciador
Alm como factor diferenciador
Rodrigo Corral
 
Introducción a phone gap
Introducción a phone gapIntroducción a phone gap
Introducción a phone gap
Rodrigo Corral
 
Scrum, Team System y el mundo real
Scrum, Team System y el mundo realScrum, Team System y el mundo real
Scrum, Team System y el mundo real
Rodrigo Corral
 
Control de proyectos con Metodologías ágiles y Team System
Control de proyectos con Metodologías ágiles y Team SystemControl de proyectos con Metodologías ágiles y Team System
Control de proyectos con Metodologías ágiles y Team System
Rodrigo Corral
 
Windows Azure: ¿Quieres estar en las nubes?
Windows Azure: ¿Quieres estar en las nubes?Windows Azure: ¿Quieres estar en las nubes?
Windows Azure: ¿Quieres estar en las nubes?
Rodrigo Corral
 
Novedades en la gestión de proyectos en VS2010
Novedades en la gestión de proyectos en VS2010Novedades en la gestión de proyectos en VS2010
Novedades en la gestión de proyectos en VS2010
Rodrigo Corral
 

Plus de Rodrigo Corral (15)

El lenguaje de pogramación C++
El lenguaje de pogramación C++El lenguaje de pogramación C++
El lenguaje de pogramación C++
 
Industria 4.0 2017 - Almacenamiento y procesamiento de datos en la nube
Industria 4.0 2017 - Almacenamiento y procesamiento de datos en la nubeIndustria 4.0 2017 - Almacenamiento y procesamiento de datos en la nube
Industria 4.0 2017 - Almacenamiento y procesamiento de datos en la nube
 
Seguridad en SQL Server
Seguridad en SQL ServerSeguridad en SQL Server
Seguridad en SQL Server
 
CAS 2016 Scrum internals - Por qué scrum funciona
CAS 2016   Scrum internals - Por qué scrum funcionaCAS 2016   Scrum internals - Por qué scrum funciona
CAS 2016 Scrum internals - Por qué scrum funciona
 
DotNet Spain 2016 - Añadiendo visibilidad a tus aplicaciones.pptx
DotNet Spain 2016 - Añadiendo visibilidad a tus aplicaciones.pptxDotNet Spain 2016 - Añadiendo visibilidad a tus aplicaciones.pptx
DotNet Spain 2016 - Añadiendo visibilidad a tus aplicaciones.pptx
 
Alm como factor diferenciador
Alm como factor diferenciadorAlm como factor diferenciador
Alm como factor diferenciador
 
Introducción a phone gap
Introducción a phone gapIntroducción a phone gap
Introducción a phone gap
 
Llevando scrum a grandes organizaciones
Llevando scrum a grandes organizacionesLlevando scrum a grandes organizaciones
Llevando scrum a grandes organizaciones
 
Leyes que todo agilista debería conocer
Leyes que todo agilista debería conocerLeyes que todo agilista debería conocer
Leyes que todo agilista debería conocer
 
Deuda técnica
Deuda técnicaDeuda técnica
Deuda técnica
 
Ingeniería del software y metodologías ágiles
Ingeniería del software y metodologías ágilesIngeniería del software y metodologías ágiles
Ingeniería del software y metodologías ágiles
 
Scrum, Team System y el mundo real
Scrum, Team System y el mundo realScrum, Team System y el mundo real
Scrum, Team System y el mundo real
 
Control de proyectos con Metodologías ágiles y Team System
Control de proyectos con Metodologías ágiles y Team SystemControl de proyectos con Metodologías ágiles y Team System
Control de proyectos con Metodologías ágiles y Team System
 
Windows Azure: ¿Quieres estar en las nubes?
Windows Azure: ¿Quieres estar en las nubes?Windows Azure: ¿Quieres estar en las nubes?
Windows Azure: ¿Quieres estar en las nubes?
 
Novedades en la gestión de proyectos en VS2010
Novedades en la gestión de proyectos en VS2010Novedades en la gestión de proyectos en VS2010
Novedades en la gestión de proyectos en VS2010
 

Dernier

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Dernier (12)

Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.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
 
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
 
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
 
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
 
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.
 
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...
 
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
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
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
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 

ALM09 - Scrum, Visual Studio y Buenas Prácticas

  • 1. Gestión ágil con TFS, SCRUM y buenas prácticas Rodrigo Corral ALM Team Lead, Plain Concepts MVP Team System Certified Scrum Master y CertifiedScrum Practicioner
  • 2. Gestión de proyectos Metodología Herramientas Involucrar al cliente Contratos Planificación Procesos Estimación Documentación Gestión de requisitos TesteoUnitario Calidad Comunicación ROI Construcción automatizada Gestión de la configuración Gestión del cambio Equipo
  • 3. SOCORRO ! Gestionar proyectos es dificil Gestionar proyectos ES POSIBLE Vengo a animaros a hacerlo… y comentar mi experiencia
  • 4. ¿Por qué una metodología? Evitar reinventar la rueda Establecer un marco de trabajo claro Incorporar a nuestra gestión buenas prácticas
  • 5. ¿Qué metodología? Simple, de menos a más Natural para el desarrollador Ágil SCRUM
  • 7. ¿Por qué una herramienta? Soportar la metodología y buenas prácticas en el día a día Facilitar la vida de los implicados en el proyecto Recolectar y explotar información sin burocrácia
  • 8. ¿Qué herramienta? Agnósticarespecto a la metodología Con soporteparatodaslasbuenasprácticascomunes Integrada en el día al día del desarrollador
  • 9. Manifiesto ágil A los individuos y su interacción, por encima de los procesos y las herramientas. El software que funciona, por encima de la documentación exhaustiva. La colaboración con el cliente, por encima de la negociación contractual. La respuesta al cambio, por encima del seguimiento de un plan.
  • 10. Scrum
  • 11. El equipo Autoorganizado Autogestionado Multifuncional
  • 12. En adelante… Buenas prácticas Dificultades Acciones Resultados
  • 13. Scrum Crear un producto backlog Entender y formar el equipo multidisciplinar Crear el productbacklog Estimación Seguir la reglas de Scrum Implementar buenas prácticas Aprender a estimar Trabajamos metódicamente continuamente Nuestra velocidad de desarrollo mejora contínuamente Hemos conseguido los objetivos marcados La calidad del producto a mejorado enormemente La rotación en el equipo es nula
  • 14. A veces las funcionan por que sí…
  • 15. … pero el caos tiene límites
  • 16. BuenasprácticasPruebasunitarias Falta de comprensión de las ventajas Falta de pericia al escribir pruebas Pereza al escribir pruebas Problemas de rendimiento de las pruebas Las pruebas unitarias no son opcionales Pragmatismo: cobertura suficiente = pruebas suficientes Mantenimiento contínuo de las pruebas Capacidad de mejorar la base de código con libertad Percepción general de mejora de la calidad de desarrollo Flexibilidad para implementar cambios con rapidez Código más mantenible Mejor diseño + 2600 pruebas “sin esfuerzo” Ya nadie discute la utilidad
  • 17. Siempre se pueden dejar para el final…
  • 18. BuenasprácticasIntegraciónfrecuente y construccionesautomatizadas Difícil Muy ambiciosos La complejidad de la construcción crece más que la complejidad del proyecto Utilizar una figura de Release Manager Mantenimiento continuo de los scripts de construcción Reutilización de tareas de terceros Todo componente tiene su instalador El despliegue ha dejado de ser un dolor Podemos hacer test de humo Detección muy temprana de problemas Muchas menos incidencias
  • 20. BuenasprácticasMétricas Exigen burocracia Exigen seguimiento Exigen control Seleccionar métricas suficientes pero no excesivas Vigilarlas a diario en el DailyScrum Hacerlas pieza central de la gestión del proyecto Analizarlas con visión de medio plazo Mantener la burocracia bajo control Gestionar en base a datos Guiar en base a fundamentoslasactividadesparalelas al desarrollo Hacer visible el progreso, la velocidad de desarrollo Mejorar la gestión de recursos y personal
  • 21. BuenasprácticasMétricas ¡Hasta mi jefe lo entiende! La velocidad es la métrica clave
  • 22. O puedes ignorar a que te enfrentas…
  • 23. Buenas prácticasCalidad, calidad y… calidad La calidad no es importante La falta de calidad daña la agilidad y la velocidad Nosotros no elegimos la calidad Dejar la calidad para el final Pruebas de aceptación y de humo Test de carga puntualmente Sprint Reviews: vigilar la calidad percibida Betas públicas: automatización del despliegue Mantener el nivel de calidad es más barato que alcanzarlo Agilidad ante cambios Tiempo de despliegue minimizado Detección temprana de problemas
  • 24. Política de gestión de fuentes Nada de lo anterior es posible sin: Una política adecuada de gestión de fuentes
  • 25. Desarrollo concurrente y en equipo $ PROJECT DEV - FEATURES + DEV-401 + Estructura de ramas Estructura de carpetas DEV-402 + DEV-401 Antes de comenzar a trabajar en una historia de usuario creamos una rama sobre la que realizamos el desarrollo DEV-402 RI RI Branch Branch DEV Concluido el desarrollo de la historia de usuario, integramos el código en la rama principal de desarrollo
  • 26. Estructura de ramas ‘Aislar’ el entorno de pruebas Estructura de carpetas DEV-401 $ PROJECT + DEV-402 DEV RI - FEATURES Branch RI Branch + DEV-401 DEV + DEV-402 RI Branch + MAIN MAIN Cuando se cumplen las condiciones de calidad el código en desarrollo se integra en la rama MAIN para que los testers comiencen el trabajo de estabilización Cuando se cumplen las condiciones de calidad el código en desarrollo se integra en la rama MAIN para que los testers comiencen el trabajo de estabilización
  • 27. Estructura de ramas Incrementos de funcionalidad potencialmente entregables Estructura de carpetas DEV-401 $ PROJECT + DEV-402 DEV RI - FEATURES Branch RI Branch + DEV-401 DEV + DEV-402 Fin de Sprint RI Branch + MAIN MAIN Usar ramas de característica garantiza que a la rama principal, sobre la que realizamos la estabilización del software, solo contendrá características completas y que han alcanzado un mínimo de calidad que permita que el trabajo de los testers sea productivo Realizar el desarrollo de nuevas funcionalidades sobre ramas dedicadas permite que si una funcionalidad no se completa a tiempo para incluirla en el Sprint Review el resto de la base de código principal siga siendo coherente y no incluya características incompletas
  • 28. Estructura de ramas Corrección de errores Los errores que no son urgentes se corrigen sobre la línea principal de desarrollo y se llevan a las ramas de release, si es necesario, haciendo merge del changeset asociado a la corrección del error Estructura de carpetas DEV-401 $ PROJECT + DEV-402 DEV RI - FEATURES Branch RI Branch + DEV-401 DEV + DEV-402 RI RI FI Branch + MAIN MAIN Branch RI FI V1.0.1 + RELEASE RELEASE 1.0 + Contar con una rama de RELEASE nos permite liberar parches de emergencia, para ‘showstopers’, minimizando los posibles impactos sobre el entorno de producción y minimizando las necesidades de validación por parte de los testers RELEASE x.y.z V1.0 (hotfix)
  • 29. ¿Cómo nos ayuda VS 2010? Soporte para desarrollo guiado por la aceptación
  • 30. ATDD en la práctica Failed By Tested By AcceptanceTest ProductBacklogItem BugReport Tested By AcceptanceTest
  • 31. ¿Cómo nos ayuda VS 2010? Soporte para multiples equipos
  • 32. Resumiendo No es fácil Es posible Equipo Metodología Buenas prácticas Herramientas adecuadas Equivocaciones o conocimiento Los resultados son espectaculares
  • 33. ¡Haced algo! … os podemos ayudar
  • 34.
  • 35. Curso online ( con tutorías y diploma acreditativo)
  • 36. Más de 15 horas de vídeos prácticos.
  • 38. Precio: 495€ (valor --> ∞) Descuentos por volumen.Más información en shop.campusmvp.com
  • 39. Recursos Mi blog: http://geeks.ms/blogs/rcorral rcorral@plainconcepts.com www.scrumforteamsystem.com