3. Miembros corporativos de Agile Alliance.
Pioneros de las metodologías ágiles y TFS en España.
Miembros del Inner Cicle de TFS.
Partner del año 2009, 2010 y 2011 a nivel Europeo.
Contamos con MVP de Team System, CSM, CSP, PSM, PSDT.
Partners acreditados en el programa DPS de Microsoft.
4. Agile en Acción - Sesiones
Keynote – el valor de Agile
Introducción a Scrum
Planificación, Requerimientos y Arquitectura
Backend
Frontend
Testing, QA y Despliegue
¿Por dónde empezamos?
5. Agile en Acción - Sesiones
Keynote – el valor de Agile
Introducción a Scrum
Planificación, Requerimientos y Arquitectura
Backend
Frontend
Testing,
Testing, QA y Despliegue
Cómo empezar
9. Visual Studio ALM
Planificación y seguimiento
Soporte a procesos Ágiles
Arquitectura y diseño
Desarrollo, pruebas unitarias, depuración, análisis y profiling
Control de versiones
Construcciones automatizadas
Pruebas manuales y automatizadas
Despliegue
10. ¿Qué producto usar?
Actividad TFS VS Premium VS Ultimate Test Manager
Planificación & Seguimiento
Arquitectura & Diseño
Desarrollo
Pruebas
Build & Despliegue
Monitorización
11. Plantillas de proceso Ágiles en TFS
• Visual Studio Scrum 2 (por defecto)
• MSF for Agile Software Development 6
12. ¿Qué está definido en una plantilla?
• Elementos de trabajo, plantillas de elementos de trabajo,
categorías y enlaces
• Estructura del portal de proyecto
• Informes y documentación
• Grupos y permisos
• Configuración del control de versiones
• Elementos personalizables de Web Access
Todas las plantillas pueden personalizarse
para ser adaptadas a tu proceso
13. Microfinance HD:
Architecture
Microsoft Application Architecture Guide, 2nd Edition, Chapter 23:
Designing Rich Internet Applications. http://msdn.microsoft.com/en-us/library/ee658083.aspx
14. Parte I: Planificación Ágil
In preparing for battle I have always found
that plans are useless, but planning is
indispensable - Dwight D. Eisenhower
A good plan, violently executed now, is
better than a perfect plan next week -
George S. Patton
16. Planificación de producto - ingredientes
• Información de negocio: Product Backlog
• Contenido
• Estimaciones
• Ordenación
• Información del equipo:
• Velocidad del equipo
• Tamaño de la iteración
17. Contenido: Historias de Usuario
• Lenguaje común de negocio
• Orientadas a objetivos
• Contienen las conversaciones con los usuarios y las
condiciones de aceptación
• Responden a tres preguntas
• ¿Cuál es la funcionalidad o característica deseada?
• ¿Quién se beneficia?
• ¿Cuál es el beneficio concreto?
• Formato recomendado:
Como <rol> quiero <funcionalidad> para <beneficio>
19. Características vs. Objetivos
El Producto:
• Tiene un motor de combustión
• Tiene cuatro ruedas con neumáticos
• Tiene una transmisión entre el motor y
las ruedas
• Tiene un chasis de metal
• Tiene un volante
• Corta el césped de forma rápida y
sencilla http://bit.ly/XZNCAb
• Permite ir sentado cómodamente
Adaptado de Scott McGregor:
http://www.smcgregor.com/blog/?p=13
20. ¿Cómo es una buena historia?
I
Independent
N
Negotiable
V
Valuable
E
Estimable
S
Small
T
Testable
21. Condiciones de aceptación
• Reflejan las expectativas de los usuarios
• Desde el punto de vista funcional, son la medida de la
calidad
• Son la semilla del plan de pruebas
• Es útil expresarlas como escenarios
Dado <contexto inicial>
Cuando <evento o suceso>
Entonces <resultado>
30. Velocidad: trabajo por unidad de tiempo
• El equipo como unidad
de producción
• Al principio necesitamos
estimarla
• Con el tiempo
podremos inferirla de
valores históricos
31. Tamaño de la iteración
Elegir el tamaño que mejor se ajuste según:
• Duración total del proyecto
• Características del backlog
• Necesidad de feedback
Las iteraciones más cortas dan más oportunidades de validar
lo que se está construyendo y obtener feedback
32. ¡Demo!
Equipo,
iteraciones,
velocidad y
planificación
33. Planificación y seguimiento de Sprint
• Predicción del incremento a entregar
• Capacidad del equipo
• Qué vs. Cómo
• Burndown
34. Flujo continuo
Disponible en TFS Web Access:
• Tablero Kanban
• Diagrama de flujo acumulado (CFD)
• Con el Update 2: columnas personalizables para el tablero
37. Parte II: Arquitectura Ágil
Less is more - Ludwig Mies van der Rohe
God is in the details - Ludwig Mies van der
Rohe
38. Arquitectura Ágil
• La arquitectura se desarrolla de forma concurrente al
desarrollo
• No hay un Sprint inicial de arquitectura o un diseño
preliminar exhaustivo
• La arquitectura base del sistema emerge durante los
primeros Sprints, como soporte a la entrega de valor real
• Los detalles son importantes, pero es lo ultimo que
descubrimos
39. Arquitectura Ágil
• La arquitectura está supeditada a la entrega de valor
• La arquitectura sirve para dar soporte a la funcionalidad
• En todos los Sprints debemos entregar un incremento de
valor que demuestre que la arquitectura es válida
40. Ley de Conway
"Any organization that designs a system will inevitably produce
a design whose structure is a copy of the organization's
communication structure.“ - Melvin Conway, 1968
Mars
Climate
Orbiter
41. Arquitectura “Emergente”
• La arquitectura debe estar al servicio del equipo, no al revés
• Pensamos en “rodajas” verticales, no en capas
Sprint 1 Sprint 2 Sprint 3 Sprint 4
42. Arquitectura “Emergente”
• Nos basamos en patrones y buenas prácticas de probada
eficacia
• Test Driven Development
• Behavior Driven Development
• Inyección de Dependencias
• Domain Driven Design
• DRY
• SOLID
• Inversión de Control
• YAGNI
• …
43. Arquitectura de Microfinance HD
Patterns & Practices Windows Azure Architecture Guidance - Part 1:
Moving applications to the cloud
• http://msdn.microsoft.com/en-us/library/ff728592.aspx
Patterns & Practices Windows Azure Architecture Guidance - Part 2:
Developing Applications for the cloud on the Windows Azure Platform
• http://msdn.microsoft.com/en-us/library/ff966499.aspx
Project Silk: Client-Side Web Development for Modern Browsers
• http://msdn.microsoft.com/en-us/library/hh396380.aspx
Windows Phone 7 Developer Guide
• http://msdn.microsoft.com/en-us/library/gg490765.aspx
44. Herramientas de Arquitectura en VS
Explorador de Arquitectura
• Analiza el código y las relaciones entre proyectos, tipos, ensamblados y referencias
Gráficos de Dependencias
• Ayudan a entender y comunicar la arquitectura del sistema
Diagramas de Capas
• Ayudan a visualizar la arquitectura del sistema a alto nivel
• Aseguran que el código sea consistente con el diseño