La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras Development Tools Advisor Microsoft Ibérica.

Presentaciones similares


Presentación del tema: "Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras Development Tools Advisor Microsoft Ibérica."— Transcripción de la presentación:

1 Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras Development Tools Advisor Microsoft Ibérica

2 Agenda Introducción: Metodologías y Procesos Metodologías Ágiles y SCRUM Café Metodologías Formales y CMMI Team Foundation Server Plantillas de Procesos

3 METODOLOGÍAS Y PROCESOS

4 El éxito es raro %23%49% ExistososProblemáticosFallidos Fuente: The Standish Group International, Extreme Chaos, 2004 Se pasan en coste: 45% Se pasan en tiempo: 63% No llegan a la funcionalidad: 67% %15%51%

5 El Problema con el Proceso PredecibleRepetible Productivo Complejo Complejo Desconectado Desconectado Difícil Difícil

6 Gestión de Proyectos del Siglo XX Funcionalidad Tiempo Recursos Calidad El triángulo de Hierro (Tetraedro más bien?) Imagen copyright de Tetra Pak

7 Mantra del Siglo XXI Hacer más con menos! Pero si tus únicas variables son: FuncionalidadRecursosTiempoCalidad … entonces cómo vamos a hacerlo?

8 Dos Paradigmas de Proceso El tradicional: descomponemos tareas y medimos su grado de completitud Filosofía: Contabilidad de Costes El alternativo: contabilizamos el valor para el cliente y lo vamos entregando incrementalmente Filosofía: Lean Manufactoring y Teoría de las Restricciones

9 Dos Paradigmas de Proceso Work-down Sacar trabajo adelante Value-up Incrementar valor Planificación y gestión del cambio Get planning and design right up front El cambio ocurre, acostúmbrate Medida principalFinalización de tareaSólo entregables que cuentan para el cliente Definición de calidadConformidad con la especificación Valor para el cliente Tolerancia a la variabilidad Las tareas se pueden identificar y estimar determinísticamente La variabilidad es parte de todos los flujos del proceso Productos intermediosDocumentos, modelos y otros artefactos Solo lo suficiente para minimizar la incertidumbre Aproximación a la resolución de desviaciones Ajustar tiempo, recurso, funcionalidad, y/o calidad Detectar y eliminar cuellos de botella Aproximación a la confianza Monitorizar y medir; rendimiento relativo al plan Orgullo del equipo humano y del trabajo colaborativo

10 Work-Down vs. Value-Up Work-Down es un caso especial Similar a la Física: Newton vs. Einstein En general El proceso no fluye suavemente, hay bloqueos y marchas atrás La productividad de los recursos no se distribuye uniformemente a lo largo del tiempo Hay varianza en la efectividad a la hora de completar tareas Sólo en proyectos de bajo riesgo, funciona el paradigma work-down ya que se puede repetir el proceso

11 Transparencia en Proyectos Informes en tiempo real de data warehouse Seguimiento para conformidad Mejora la predictibilidad y reduce el riesgo Requisitos de Negocio Calidad de Servicio ResultadosPredecibles Informes en tiempo real PlanificaciónDiseñoDesarrolloPruebasDespliegue

12 Cómo se registran las métricas Transparencia: se registra todo el trabajo del equipo según se sigue el proceso metodológico escogido para el proyecto

13 Cómo se registran las métricas Componentes de la Arquitectura

14 Cómo se registran las métricas Los datos que se incluyen en el cubo OLAP están especificados en la Plantilla de Proceso Atributo Reportable en la definición del campo del elemento de trabajo que queremos incluir Como Measure: Cantidad que se puede sumarizar Como Dimension: Campo para sumarizar medidas Como Detail: Dato inque se incluye en la base de datos pero no en el cubo

15 Cómo extraigo estado del proyecto A través de informes Informes por defecto según el proceso escogido CMMI Process Improvement Agile Development Informes a medida que desarrollo e incorporo a los informes y a los documentos del proyecto Visualización de informes desde Team Explorer, en visor HTML Portal de Proyecto, en visor HTML o en WebPart de SQL Reporting Services Portal de Reporting Services, desde Team Explorer Análisis de datos desde Excel, accediendo directamente al cubo OLAP

16 Ratios de pruebas (pass, inconclusive, fail) mostrado en barras Frente a cobertura de código, … code churn, … y bugs activos Visual Studio Team System ¿Cómo de efectivo es nuestro equipo?

17 Progresión del estado de los requisitos desde sin probar hasta pasado por pruebas, a través de sucesivas integraciones (builds) Visual Studio Team System ¿Qué requisitos no han sido probados?

18 Trabajo Planificado TrabajoFinalizado Visual Studio Team System ¿Hasta donde llegamos en el tiempo disponible?

19 Errores resueltos pero no cerrados: hay recursos insuficientes o la calidad del desarrollo no es la adecuada Visual Studio Team System Solución atascada en pruebas

20 Progreso muy lento del trabajo planeado Aunque hay progreso, la pendiente es poco pronunciada Visual Studio Team System Fallo en estimación de tiempos

21 Material Oscuro emerge durante la iteración El trabajo planeado se va realizando Visual Studio Team System El ámbito cambia radicalmente

22 Aumento del Code Churn Caída de la cobertura de código Incremento de las pruebas sin concluir Visual Studio Team System Pruebas unitarias inadecuadas

23 Para más información …

24 METODOLOGÍAS ÁGILES

25 El manifiesto ágil Individuos e interacción a procesos y herramientas Software funcional a documentación exahustiva Colaboración con el cliente a negociación de contratos Respuesta ante los cambios al seguimiento de un plan Aunque hay valor en lo segundo, preferimos lo primero

26 Principios del manifiesto AdaptabilidadColaboración Integración continua Simplicidad

27 Adaptabilidad El análisis inicial es una guía, no una biblia intocable El cliente propondrá cambios que han de introducirse en el desarrollo Los presupuestos han de contar con esos cambios La métrica ha de reflejar el impacto de los cambios Se consigue un software más satisfactorio

28 Colaboración El equipo es importante, no los procesos Todo el mundo tiene algo que decir El equipo ha de estar motivado Implicación de los desarrolladores Libertad de exploración La visión general del proyecto es conocida por todos Las reuniones son imprescindibles Cortas, concretas, pero frecuentes Se discute el estado del proyecto La organización es dinámica Liderar un equipo, no gestionarlo

29 Integración continua El software se entrega por partes Las diversas entregas han de ser ejecutables Cada integración supone una evualuación de la misma Eso permite corregir errores y cambiar funcionalidad El cliente tiene un papel en la integración continua

30 Simplicidad Lo simple es bello Mantener una estructura organizativa sencilla No complicar innecesariamente los procesos No saturar el proyecto con documentación superflua Crear un sistema de comunicaciones rápido y ágil

31 Conceptos RolesActividadesIteraciones

32 Roles Un rol es una función dentro del equipo de desarrollo Los roles pueden desempeñarse por más de una persona Una persona puede desempeñar más de un rol Las actividades están asociadas a roles Los roles pueden tener ciertos permisos dentro de la organización

33 Actividades Las tareas se definen como actividades Incluyen cualquier cosa que haya de hacerse durante el proyecto Captura de requerimientos, testeo, codificación... Una iteración será un conjunto de actividades Las actividades se asignan a personas que pertenecen a roles Es deseable monitorizar las actividades

34 Iteraciones Ciclos de desarrollo cortos Suelen ser de un mes Al principio se decide que actividadaes incluirá cada iteración Al final se obtiene software instalable y ejecutable Integración continua Durante la iteración las reuniones han de permitir controlar el estado de la iteración Las iteraciones son revisables

35 MSF For Agile MSF For Agile implementa una versión de metodología ágil TFS incluye MSF For Agile como plantilla de procesos Define roles, WorkItems, documentación básica... Incluye métricas del proyecto Incluye un portal de colaboración con la guía de procesos

36 DEMO: Portal de Agile

37 SCRUM Es una implementación de metodología ágil Creada por Hirotaka Takeuchi e Ikujiro Nonaka en 1986

38 Principios de SCRUM Equipo muy simple Pila de funcionalidades (Backlog) Reuniones diarias (Scrums) Iteraciones (Sprints)

39 Equipo Propietario del producto Da los requerimientos ¡Paga!EquipoAutogestionadoMultidisciplinar Scrum Manager Supervisa y coordina los roles Comprueba las tareas

40 Backlogs Listado de requisitos Recopilado por el propietario del producto Es una lista dinámica Se subdivide en los diferentes sprints

41 Sprints Representan iteraciones Por lo general de un mes Cada sprint posee una pila extraida del backlog de producto Los sprints se revisan al final para evaluarlos (retrospectivas) Cada día se realiza una reunión para realizar el seguimiento del sprint (SCRUM) Reuniones cortas (15 minutos) Sólo hablan los implicados

42 DEMO: Portal de SCRUM

43 METODOLOGÍAS FORMALES: CMMI

44 CMMI Capability Model Maturity Integration Carnegie Mellon Software Engineering Institute (www.sei.cmu.edu/cmmi) Diseñado originalmente para contratos del gobierno de USA Fuertemente basado en el diseño de procesos de producción Muy auditable, con multitud de métricas Mucha documentacion

45 Niveles de madurez Nivel 0: Proceso incompleto Nivel 1: Proceso realizado No hay control de proceso. El resultado no es predecible. Muchas variaciones especiales. No hay planificación. Nivel 2: Proceso gestionado Se satisfacen los requisitos del proyecto. Hay una planificación y cada trabajo es realizado por la gente correspondiente. Nivel 3: Proceso definido Se desarrollan un cierto número de procesos que cubren las priincipales áreas de desarrollo Nivel 4: Proceso gestionado cuantitativamente Todos los aspectos de un proceso poseen métricas que permiten controlarlo Nivel 5: Proceso optimizado Mejora continua de los procesos

46 Cobertura de CMMI en TFS Nivel 0: Proceso incompleto Nivel 1: Proceso realizado No hay control de proceso. El resultado no es predecible. Muchas variaciones especiales. No hay planificación. Nivel 2: Proceso gestionado Se satisfacen los requisitos del proyecto. Hay una planificación y cada trabajo es realizado por la gente correspondiente. Nivel 3: Proceso definido Se desarrollan un cierto número de procesos que cubren las priincipales áreas de desarrollo Nivel 4: Proceso gestionado cuantitativamente Todos los aspectos de un proceso poseen métricas que permiten controlarlo Nivel 5: Proceso optimizado Mejora continua de los procesos

47 Nivel 2 Planificación de Proyecto Monitorización y control Medidas y análisis Gestión de requisitos Gestión de configuración Control de Calidad del producto Gestión de conformancia con el proveedor Nivel 3 Gestión integrada Gestión de riesgos Integración del equipo Desarrollo de requisitos Solución técnica Integración del producto Verificación Validación Resolución de análisis Definición organizativa Entorno de integración Organización del proceso Formación organizada Gestión del proveedor integrada Omitido Nivel 4 Rendimiento de los procesos organizativos Gestión cuantitativa del proyecto Nivel 5 Organización de la innovación y el desarrollo Análisis y resolución de causas 50% cobertura 20% cobertura

48 Valoración Cada práctica tiene un cierto número de subprácticas La valoración del conjunto proporciona una métrica sobre la calidad del proceso SCAMPI (Standard CMMI Appraisal Method for Process Improvement) Proporciona un modelo de valoración Cada subpráctica requiere evidencias directas e indirectas Basado en la documentación

49 MSF For CMMI Es una interpretación ágil de CMMI Incluye ciertas características de Agile Menos documentación Utiliza el mismo paradigma WorkItems, Iteraciones, roles... Los informes proporcionan las métricas necesarias para valorar el estado del proyecto.

50 DEMO: Portal de CMMI

51 INTRODUCCIÓN A TEAM FOUNDATION SERVER

52 Probador Desarrollador Arquitecto Jefe de Proyectos Analista de Negocio Profesional de Base de Datos Diseñador Mejorar la Calidad del Software Facilitar la Colaboración en Equipo Incrementar la Transparecia en Proyectos Visual Studio Team System Solución ALM (Application Lifecycle Management)

53 Visual Studio Team System Visual Studio Team Suite Guía y Proceso Microsoft Solution Framework (MSF) Visual Studio Team Foundation Server Visual Studio Industry Partners Software Architects Software Developers Software Testers Database Professionals Visual Studio Team Explorer Modelado de Aplicación Modelado de Infraestructura Análisis de Código Ajuste de Rendimiento Pruebas de BD Pruebas Manuales Gestión de Casos de Prueba Visual Studio Professional Edition Control de Código Gestión del Cambio (Workitem Tracking) Informes Portal de Proyecto Gestión de Proyecto Servicio de Integración (Team Build) Load Test Agent Visio y Modelado UML Modelado Clases Pruebas Unitarias Cobertura de Código Code Control Proxy Modelado de Despliegue Pruebas de Carga Despliegue de BD Gestión de Cambios de BD

54 Visual Studio Team System Team Foundation Server & Load Test Agent Team Foundation Server Control de Código – repositorio robusto para todos los artefactos del proyecto; Change Sets, Políticas de Check-In, Branching & Merging, Shelving; Version Control Proxy Server Gestión del Cambio – sistema flexible de seguimiento de elementos de trabajo (Work Item Tracking) para requisitos, escenarios, tareas, peticiones de cambio, bugs, etc. Portal de Proyecto – Sitio SharePoint para colaboración en equipo, gestión documental Gestión de Proyecto – gestión de recursos, tiempos y calidad Servicio de Integración – servicio extensible de construcción de builds (Team Build), integrado con análisis de código y pruebas Informes – data warehouse centralizado para analíticas y métricas de proyecto en tiempo real Load Test Agent

55 Custom reporting tools MS Excel Team Foundation Data Tier Version Control Proxy Server Report Client Team Foundation Client Tier CoreDataVersionControl Work Items Team Build Data SQLReportingServicesWindowsSharePointServicesSQLReportingServicesWindowsSharePointServices Work Item TrackingServiceVersionControlServiceTeamBuildServiceCoreServicesWarehouse Adapters Team Foundation App TierWSSProxies SQL RS Proxies Team Foundation Object Model MS Excel Plug-In MS Project Plug-In Visual Studio Packages Internet Explorer BuildProcessVersionControlProxyService VSTF Clients of VSTF VSTF Adjuncts Build Machine Arquitectura Técnica de TFS

56 Configuraciones básicas de TFS 2 Servidores Equipo Grande Client Data Tier App Tier Requiere Active Directory (2003 or 2000) Build(op.) VersionControl Proxy (op.) 1 máquina Demo/Evaluación ClientClient BuildBuild App TierApp Tier Data TierData Tier 1 usuario usuarios 1 Servidor Equipo Pequeño Soporta: WorkgroupWorkgroup Active Directory (2003 or 2000)Active Directory (2003 or 2000) ClientClient Build (op.)Build (op.) App TierApp Tier Data TierData Tier Build (op.)Build (op.) usuarios

57 POWER TOOLS PARA TFS

58 © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista 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..


Descargar ppt "Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras Development Tools Advisor Microsoft Ibérica."

Presentaciones similares


Anuncios Google