Post on 11-Jun-2015
description
www.plainconcepts.com
¿Quiénes somos?
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.
Agile en Acción - Sesiones
Keynote – el valor de AgileIntroducción a ScrumPlanificación, Requerimientos y ArquitecturaBackendFrontendTesting, QA y Despliegue¿Por dónde empezamos?
Agile en Acción - Sesiones
Keynote – el valor de AgileIntroducción a ScrumPlanificación, Requerimientos y ArquitecturaPlanificación, Requerimientos y ArquitecturaPlanificación, Requerimientos y ArquitecturaPlanificación, Requerimientos y ArquitecturaBackendBackendBackendBackendFrontendFrontendFrontendFrontendTestingTestingTestingTesting, QA y Despliegue, QA y Despliegue, QA y Despliegue, QA y DespliegueCómo empezar
tiempo
Primer ActoPlanificación | Arquitectura
Visual Studio y Team Foundation Server
Visual Studio ALMPlanificación y seguimientoSoporte a procesos ÁgilesArquitectura y diseñoDesarrollo, pruebas unitarias, depuración, análisis y profilingControl de versionesConstrucciones automatizadasPruebas manuales y automatizadasDespliegue
¿Qué producto usar?
Actividad TFS VS Premium VS Ultimate Test Manager
Planificación & Seguimiento �
Arquitectura & Diseño � �
Desarrollo � � �
Pruebas � � � �
Build & Despliegue �
Monitorización � �
Plantillas de proceso Ágiles en TFS
• Visual Studio Scrum 2 (por defecto)
• MSF for Agile Software Development 6
¿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
Microfinance HD:Architecture
Microsoft Application Architecture Guide, 2nd Edition, Chapter 23:Designing Rich Internet Applications. http://msdn.microsoft.com/en-us/library/ee658083.aspx
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
Planificación Ágil
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
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>
Características vs. Objetivos
Características vs. ObjetivosEl 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
• Permite ir sentado cómodamenteAdaptado de Scott McGregor:
http://www.smcgregor.com/blog/?p=13
http://bit.ly/XZNCAb
¿Cómo es una buena historia?IndependentNegotiableValuableEstimableSmallTestable
INVEST
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>
¡Demo!Construyendo
el backlog
Estimaciones: en tamaño, y relativashttp://slidesha.re/lHtyj7
La complejidad influye
en el tamaño
El esfuerzo influyeen el tamaño
http://bit.ly/XZNKzC
El riesgo influye en el tamaño
Ordenación: factores que influyen
• Valor de negocio
• Coste de desarrollo y soporte
• Conocimiento ganado
• Riesgo eliminado
Priorizar es una forma de ordenar
¡Demo!Estimaciones y ordenación
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
Tamaño de la iteraciónElegir 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
¡Demo!Equipo,
iteraciones, velocidad y
planificación
Planificación y seguimiento de Sprint• Predicción del incremento a entregar
• Capacidad del equipo
• Qué vs. Cómo
• Burndown
Flujo continuoDisponible en TFS Web Access:
• Tablero Kanban
• Diagrama de flujo acumulado (CFD)
• Con el Update 2: columnas personalizables para el tablero
¡Demo!Planificación y seguimiento
de Sprint,Flujo
continuo
Parte II: Arquitectura Ágil
Less is more - Ludwig Mies van der Rohe
God is in the details - Ludwig Mies van der Rohe
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
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
Ley de Conway
"Any organization that designs a system will inevitably produce a design whose structure is a copy of the organization'scommunication structure.“ - Melvin Conway, 1968
Mars Climate Orbiter
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
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• …
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
Herramientas de Arquitectura en VSExplorador 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
¡Demo!Herramientas
de Arquitectura
¡Pruébalo!
Visual Studio 12http://www.microsoft.com/visualstudio/
Visual Studio 12 ALM Virtual Machinehttp://aka.ms/VS11ALMVM
Team Foundation Servicehttp://tfs.visualstudio.com/
Professional Scrum Dev with VS2012http://bit.ly/SkA5N9
¡Gracias! ¿Alguna Pregunta?jlsoria@plainconcepts.com
@jlsoriat
http://geeks.ms/blogs/jlsoria