Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras...

58
Visual Studio Team Visual Studio Team System System Metodologías en procesos de Metodologías en procesos de desarrollo desarrollo Aurelio Porras Aurelio Porras [email protected] Development Tools Development Tools Advisor Advisor Microsoft Ibérica Microsoft Ibérica

Transcript of Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras...

Page 1: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

Visual Studio Team SystemVisual Studio Team System

Metodologías en procesos de desarrolloMetodologías en procesos de desarrollo

Aurelio PorrasAurelio Porras

[email protected]

Development Tools AdvisorDevelopment Tools Advisor

Microsoft IbéricaMicrosoft Ibérica

Page 2: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

AgendaAgenda

Introducción: Metodologías y Introducción: Metodologías y ProcesosProcesos

Metodologías Ágiles y SCRUMMetodologías Ágiles y SCRUM

Café Café

Metodologías Formales y CMMIMetodologías Formales y CMMI

Team Foundation ServerTeam Foundation Server

Plantillas de ProcesosPlantillas de Procesos

Page 3: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

METODOLOGÍAS Y METODOLOGÍAS Y PROCESOSPROCESOS

Page 4: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

El éxito es raroEl éxito es raro

2000 28%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%

2004 34%15% 51%

Page 5: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

El Problema con el El Problema con el ProcesoProceso PredeciblePredecible

RepetibleRepetibleProductivoProductivo

• ComplejoComplejo• DesconectadoDesconectado• DifícilDifícil

Page 6: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

Gestión de Proyectos del Siglo Gestión de Proyectos del Siglo XXXX

Funcionalidad

Tiempo

Recursos

Calidad

““El triángulo de El triángulo de Hierro”Hierro”

(Tetraedro más bien?)(Tetraedro más bien?)

Imagen copyright de Tetra Pak

Page 7: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

““Mantra” del Siglo XXIMantra” del Siglo XXI

Hacer más con Hacer más con menos!menos!Pero si tus únicas variables son:Pero si tus únicas variables son:

FuncionalidadFuncionalidad

RecursosRecursos

TiempoTiempo

Calidad Calidad

… … entonces cómo vamos a hacerlo? entonces cómo vamos a hacerlo?

Page 8: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

Dos Paradigmas de Dos Paradigmas de ProcesoProceso

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”

Page 9: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

Dos Paradigmas de Dos Paradigmas de ProcesoProceso Work-down

Sacar trabajo adelante

Value-upIncrementar valor

Planificación y gestión del cambio

Get planning and design right up front

El cambio ocurre, acostúmbrate

Medida principal Finalización de tarea Sólo entregables que cuentan para el cliente

Definición de calidad

Conformidad 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 intermedios

Documentos, 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

Page 10: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

Work-Down vs. Value-UpWork-Down vs. Value-Up

Work-Down es un caso especialWork-Down es un caso especialSimilar a la Física: Newton vs. EinsteinSimilar a la Física: Newton vs. Einstein

En generalEn generalEl proceso no fluye suavemente, hay El proceso no fluye suavemente, hay bloqueos y marchas atrásbloqueos y marchas atrás

La productividad de los recursos no se La productividad de los recursos no se distribuye uniformemente a lo largo del distribuye uniformemente a lo largo del tiempotiempo

Hay varianza en la efectividad a la hora de Hay varianza en la efectividad a la hora de completar tareascompletar tareas

Sólo en proyectos de bajo riesgo, Sólo en proyectos de bajo riesgo, funciona el paradigma funciona el paradigma work-downwork-down ya ya que se puede repetir el procesoque se puede repetir el proceso

Page 11: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

Transparencia en ProyectosTransparencia en Proyectos

Informes en tiempo real de data warehouseInformes en tiempo real de data warehouse

Seguimiento para conformidadSeguimiento para conformidad

Mejora la predictibilidad y reduce el riesgoMejora la predictibilidad y reduce el riesgo

Requisitos de Requisitos de NegocioNegocio

Requisitos de Requisitos de Calidad deCalidad de

ServicioServicio

ResultadosResultadosPredeciblesPredecibles

Informes en tiempo realInformes en tiempo real

PlanificacióPlanificaciónn

DiseñoDiseñoDesarrolloDesarrolloPruebasPruebas

DespliegueDespliegue

Page 12: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

Cómo se registran las Cómo se registran las métricasmétricas

TransparencTransparencia: se ia: se registra todo registra todo el trabajo el trabajo del equipo del equipo según se según se sigue el sigue el proceso proceso metodológicmetodológico escogido o escogido para el para el proyectoproyecto

Page 13: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

Reports

SQL Server 2005 Analysis Services OLAP Cube

(TFSWarehouse)

SQL Server 2005 Relational Database

(TFSWarehouse)

Common Structures

Team Foundation Build

Work Item Tracking

Team Foundation Version Control

Operational Stores Adapters

3rd Party Adapters and Stores

Test Results

12

34

5

Cómo se registran las Cómo se registran las métricasmétricasComponentes de la ArquitecturaComponentes de la Arquitectura

Page 14: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

Cómo se registran las Cómo se registran las métricasmétricas

Los datos que se incluyen en el cubo OLAP Los datos que se incluyen en el cubo OLAP están especificados en la Plantilla de están especificados en la Plantilla de ProcesoProceso

Atributo “Reportable” en la definición del Atributo “Reportable” en la definición del campo del elemento de trabajo que campo del elemento de trabajo que queremos incluirqueremos incluir

Como “Measure”: Cantidad que se puede Como “Measure”: Cantidad que se puede sumarizarsumarizar

Como “Dimension”: Campo para sumarizar Como “Dimension”: Campo para sumarizar medidasmedidas

Como “Detail”: Dato inque se incluye en la Como “Detail”: Dato inque se incluye en la base de datos pero no en el cubobase de datos pero no en el cubo

Page 15: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

Cómo extraigo estado del Cómo extraigo estado del proyectoproyecto

A través de informesA través de informesInformes por defecto según el proceso escogidoInformes por defecto según el proceso escogido

CMMI Process ImprovementCMMI Process ImprovementAgile DevelopmentAgile Development

Informes a medida que desarrollo e incorporo a Informes a medida que desarrollo e incorporo a los informes y a los documentos del proyectolos informes y a los documentos del proyecto

Visualización de informes desdeVisualización de informes desdeTeam Explorer, en visor HTMLTeam Explorer, en visor HTMLPortal de Proyecto, en visor HTML o en WebPart Portal de Proyecto, en visor HTML o en WebPart de SQL Reporting Servicesde SQL Reporting ServicesPortal de Reporting Services, desde Team Portal de Reporting Services, desde Team ExplorerExplorer

Análisis de datos desdeAnálisis de datos desdeExcel, accediendo directamente al cubo OLAPExcel, accediendo directamente al cubo OLAP

Page 16: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

Ratios de pruebasRatios de pruebas(pass, inconclusive, (pass, inconclusive, fail) mostrado en fail) mostrado en

barrasbarras

Frente a Frente a cobertura de cobertura de

código, …código, …

code churncode churn, …, …

y bugs activosy bugs activos

Visual Studio Team Visual Studio Team SystemSystem¿Cómo de efectivo es nuestro ¿Cómo de efectivo es nuestro equipo?equipo?

Page 17: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

Progresión del estado de los Progresión del estado de los requisitos desde sin probar hasta requisitos desde sin probar hasta pasado por pruebas, a través de pasado por pruebas, a través de sucesivas integraciones (builds)sucesivas integraciones (builds)

Visual Studio Team Visual Studio Team SystemSystem¿Qué requisitos no han sido ¿Qué requisitos no han sido probados?probados?

Page 18: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

Trabajo PlanificadoTrabajo Planificado

TrabajoTrabajo

FinalizadoFinalizado

Visual Studio Team Visual Studio Team SystemSystem¿Hasta donde llegamos en el tiempo ¿Hasta donde llegamos en el tiempo disponible?disponible?

Page 19: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

Errores resueltos pero no cerrados: Errores resueltos pero no cerrados: hay recursos insuficientes o la hay recursos insuficientes o la calidad del desarrollo no es la calidad del desarrollo no es la

adecuadaadecuada

Visual Studio Team Visual Studio Team SystemSystemSolución atascada en pruebasSolución atascada en pruebas

Page 20: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

Progreso muy lento del Progreso muy lento del trabajo planeadotrabajo planeado

Aunque hay progreso, la Aunque hay progreso, la pendiente es poco pendiente es poco

pronunciadapronunciada

Visual Studio Team Visual Studio Team SystemSystemFallo en estimación de tiemposFallo en estimación de tiempos

Page 21: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

““Material Oscuro” Material Oscuro” emerge durante la emerge durante la

iteracióniteración

El trabajo El trabajo planeado se va planeado se va

realizandorealizando

Visual Studio Team Visual Studio Team SystemSystemEl ámbito cambia radicalmenteEl ámbito cambia radicalmente

Page 22: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

Aumento del Code ChurnAumento del Code Churn

Caída de la cobertura de Caída de la cobertura de códigocódigo

Incremento de Incremento de las pruebas sin las pruebas sin

concluirconcluir

Visual Studio Team Visual Studio Team SystemSystemPruebas unitarias inadecuadasPruebas unitarias inadecuadas

Page 23: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

Para más información …Para más información …

Page 24: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

METODOLOGÍAS ÁGILESMETODOLOGÍAS ÁGILES

Page 25: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

El manifiesto ágilEl manifiesto ágilhttp://www.agilemanifesto.orghttp://www.agilemanifesto.org

““Preferimos…”Preferimos…”

Individuos e interacciónIndividuos e interacción a procesos y a procesos y herramientasherramientas

Software funcional Software funcional a documentación a documentación exahustivaexahustiva

Colaboración con el clienteColaboración con el cliente a a negociación de contratosnegociación de contratos

Respuesta ante los cambiosRespuesta ante los cambios al al seguimiento de un planseguimiento de un plan

Aunque hay valor en lo segundo, Aunque hay valor en lo segundo, preferimos lo primeropreferimos lo primero

Page 26: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

Principios del manifiestoPrincipios del manifiesto

AdaptabilidadAdaptabilidad

ColaboraciónColaboración

Integración continuaIntegración continua

SimplicidadSimplicidad

Page 27: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

AdaptabilidadAdaptabilidad

El análisis inicial es una guía, no una El análisis inicial es una guía, no una biblia intocablebiblia intocable

El cliente propondrá cambios que han El cliente propondrá cambios que han de introducirse en el desarrollode introducirse en el desarrollo

Los presupuestos han de contar con Los presupuestos han de contar con esos cambiosesos cambios

La métrica ha de reflejar el impacto La métrica ha de reflejar el impacto de los cambiosde los cambios

Se consigue un software más Se consigue un software más satisfactoriosatisfactorio

Page 28: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

ColaboraciónColaboraciónEl equipo es importante, no los procesos El equipo es importante, no los procesos

Todo el mundo tiene algo que decirTodo el mundo tiene algo que decir

El equipo ha de estar motivadoEl equipo ha de estar motivadoImplicación de los desarrolladoresImplicación de los desarrolladores

Libertad de exploraciónLibertad de exploración

La visión general del proyecto es conocida La visión general del proyecto es conocida por todospor todos

Las reuniones son imprescindiblesLas reuniones son imprescindiblesCortas, concretas, pero frecuentesCortas, concretas, pero frecuentes

Se discute el estado del proyectoSe discute el estado del proyecto

La organización es dinámicaLa organización es dinámicaLiderar un equipo, no gestionarloLiderar un equipo, no gestionarlo

Page 29: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

Integración continuaIntegración continua

El software se entrega por partesEl software se entrega por partes

Las diversas entregas han de ser Las diversas entregas han de ser ejecutablesejecutables

Cada integración supone una Cada integración supone una evualuación de la mismaevualuación de la misma

Eso permite corregir errores y cambiar Eso permite corregir errores y cambiar funcionalidadfuncionalidad

El cliente tiene un papel en la El cliente tiene un papel en la integración continuaintegración continua

Page 30: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

SimplicidadSimplicidad

Lo simple es belloLo simple es bello

Mantener una estructura organizativa Mantener una estructura organizativa sencillasencilla

No complicar innecesariamente los No complicar innecesariamente los procesosprocesos

No saturar el proyecto con No saturar el proyecto con documentación superfluadocumentación superflua

Crear un sistema de comunicaciones Crear un sistema de comunicaciones rápido y ágilrápido y ágil

Page 31: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

ConceptosConceptos

RolesRoles

ActividadesActividades

IteracionesIteraciones

Page 32: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

RolesRoles

Un rol es una función dentro del Un rol es una función dentro del equipo de desarrolloequipo de desarrollo

Los roles pueden desempeñarse por Los roles pueden desempeñarse por más de una personamás de una persona

Una persona puede desempeñar más Una persona puede desempeñar más de un rolde un rol

Las actividades están asociadas a Las actividades están asociadas a rolesroles

Los roles pueden tener ciertos Los roles pueden tener ciertos permisos dentro de la organizaciónpermisos dentro de la organización

Page 33: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

ActividadesActividades

Las tareas se definen como Las tareas se definen como actividadesactividades

Incluyen cualquier cosa que haya de Incluyen cualquier cosa que haya de hacerse durante el proyectohacerse durante el proyecto

Captura de requerimientos, testeo, Captura de requerimientos, testeo, codificación...codificación...

Una iteración será un conjunto de Una iteración será un conjunto de actividadesactividades

Las actividades se asignan a Las actividades se asignan a personas que pertenecen a rolespersonas que pertenecen a roles

Es deseable monitorizar las Es deseable monitorizar las actividadesactividades

Page 34: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

IteracionesIteraciones

Ciclos de desarrollo cortosCiclos de desarrollo cortosSuelen ser de un mesSuelen ser de un mes

Al principio se decide que Al principio se decide que actividadaes incluirá cada iteraciónactividadaes incluirá cada iteración

Al final se obtiene software instalable Al final se obtiene software instalable y ejecutabley ejecutable

Integración continuaIntegración continua

Durante la iteración las reuniones Durante la iteración las reuniones han de permitir controlar el estado de han de permitir controlar el estado de la iteraciónla iteración

Las iteraciones son revisablesLas iteraciones son revisables

Page 35: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

MSF For AgileMSF For Agile

MSF For Agile implementa una MSF For Agile implementa una versión de metodología ágilversión de metodología ágil

TFS incluye MSF For Agile como TFS incluye MSF For Agile como plantilla de procesosplantilla de procesos

Define roles, WorkItems, Define roles, WorkItems, documentación básica...documentación básica...

Incluye métricas del proyectoIncluye métricas del proyecto

Incluye un portal de colaboración con Incluye un portal de colaboración con la guía de procesosla guía de procesos

Page 36: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

DEMO: Portal de Agile

Page 37: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

SCRUMSCRUM

Es una Es una implementación de implementación de metodología ágilmetodología ágil

Creada por Creada por Hirotaka Takeuchi Hirotaka Takeuchi e Ikujiro Nonaka en e Ikujiro Nonaka en 19861986

Page 38: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

Principios de SCRUMPrincipios de SCRUM

Equipo muy simpleEquipo muy simple

Pila de funcionalidades (Backlog)Pila de funcionalidades (Backlog)

Reuniones diarias (Scrums)Reuniones diarias (Scrums)

Iteraciones (Sprints)Iteraciones (Sprints)

Page 39: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

EquipoEquipo

Propietario del productoPropietario del productoDa los requerimientosDa los requerimientos

¡Paga!¡Paga!

EquipoEquipoAutogestionadoAutogestionado

MultidisciplinarMultidisciplinar

Scrum ManagerScrum ManagerSupervisa y coordina los rolesSupervisa y coordina los roles

Comprueba las tareasComprueba las tareas

Page 40: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

BacklogsBacklogs

Listado de requisitosListado de requisitos

Recopilado por el propietario del Recopilado por el propietario del productoproducto

Es una lista dinámicaEs una lista dinámica

Se subdivide en los diferentes sprintsSe subdivide en los diferentes sprints

Page 41: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

SprintsSprints

Representan iteracionesRepresentan iteracionesPor lo general de un mesPor lo general de un mes

Cada sprint posee una pila extraida Cada sprint posee una pila extraida del backlog de productodel backlog de producto

Los sprints se revisan al final para Los sprints se revisan al final para evaluarlos (retrospectivas)evaluarlos (retrospectivas)

Cada día se realiza una reunión para Cada día se realiza una reunión para realizar el seguimiento del sprint realizar el seguimiento del sprint (SCRUM)(SCRUM)

Reuniones cortas (15 minutos)Reuniones cortas (15 minutos)

Sólo hablan los implicadosSólo hablan los implicados

Page 42: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

DEMO: Portal de SCRUM

Page 43: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

METODOLOGÍAS METODOLOGÍAS FORMALES: CMMIFORMALES: CMMI

Page 44: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

CMMICMMI

Capability Model Maturity IntegrationCapability Model Maturity IntegrationCarnegie Mellon Software Engineering Carnegie Mellon Software Engineering Institute (www.sei.cmu.edu/cmmi)Institute (www.sei.cmu.edu/cmmi)

Diseñado originalmente para contratos Diseñado originalmente para contratos del gobierno de USAdel gobierno de USA

Fuertemente basado en el diseño de Fuertemente basado en el diseño de procesos de producciónprocesos de producción

Muy auditable, con multitud de Muy auditable, con multitud de métricasmétricas

Mucha documentacionMucha documentacion

Page 45: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

Niveles de madurezNiveles de madurezNivel 0: Proceso incompletoNivel 0: Proceso incompleto

Nivel 1: Proceso realizadoNivel 1: Proceso realizado

No hay control de proceso. El resultado no es predecible. No hay control de proceso. El resultado no es predecible. Muchas variaciones especiales. No hay planificación. Muchas variaciones especiales. No hay planificación.

Nivel 2: Proceso gestionadoNivel 2: Proceso gestionado

Se satisfacen los requisitos del proyecto. Hay una Se satisfacen los requisitos del proyecto. Hay una planificación y cada trabajo es realizado por la gente planificación y cada trabajo es realizado por la gente correspondiente.correspondiente.

Nivel 3: Proceso definidoNivel 3: Proceso definido

Se desarrollan un cierto número de procesos que cubren Se desarrollan un cierto número de procesos que cubren las priincipales áreas de desarrollolas priincipales áreas de desarrollo

Nivel 4: Proceso gestionado cuantitativamenteNivel 4: Proceso gestionado cuantitativamenteTodos los aspectos de un proceso poseen métricas que Todos los aspectos de un proceso poseen métricas que permiten controlarlopermiten controlarlo

Nivel 5: Proceso optimizadoNivel 5: Proceso optimizadoMejora continua de los procesosMejora continua de los procesos

Page 46: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

Cobertura de CMMI en TFSCobertura de CMMI en TFSNivel 0: Proceso incompletoNivel 0: Proceso incompleto

Nivel 1: Proceso realizadoNivel 1: Proceso realizado

No hay control de proceso. El resultado no es predecible. No hay control de proceso. El resultado no es predecible. Muchas variaciones especiales. No hay planificación. Muchas variaciones especiales. No hay planificación.

Nivel 2: Proceso gestionadoNivel 2: Proceso gestionado

Se satisfacen los requisitos del proyecto. Hay una Se satisfacen los requisitos del proyecto. Hay una planificación y cada trabajo es realizado por la gente planificación y cada trabajo es realizado por la gente correspondiente.correspondiente.

Nivel 3: Proceso definidoNivel 3: Proceso definido

Se desarrollan un cierto número de procesos que cubren Se desarrollan un cierto número de procesos que cubren las priincipales áreas de desarrollolas priincipales áreas de desarrollo

Nivel 4: Proceso gestionado cuantitativamenteNivel 4: Proceso gestionado cuantitativamenteTodos los aspectos de un proceso poseen métricas que Todos los aspectos de un proceso poseen métricas que permiten controlarlopermiten controlarlo

Nivel 5: Proceso optimizadoNivel 5: Proceso optimizadoMejora continua de los procesosMejora continua de los procesos

Page 47: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

Nivel 2

Planificación de ProyectoMonitorización y controlMedidas y análisisGestión de requisitosGestión de configuraciónControl de Calidad del productoGestión de conformancia con el proveedor

Nivel 3Gestión integradaGestión de riesgosIntegración del equipoDesarrollo de requisitosSolución técnicaIntegración del productoVerificaciónValidaciónResolución de análisisDefinición organizativaEntorno de integraciónOrganización del procesoFormación organizadaGestión del proveedor integrada

Omitido

50% cobertura

20% cobertura

Page 48: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

ValoraciónValoración

Cada práctica tiene un cierto número Cada práctica tiene un cierto número de subprácticasde subprácticas

La valoración del conjunto La valoración del conjunto proporciona una métrica sobre la proporciona una métrica sobre la calidad del procesocalidad del proceso

SCAMPI (SCAMPI (Standard CMMI Appraisal Standard CMMI Appraisal Method for Process ImprovementMethod for Process Improvement))

Proporciona un modelo de valoraciónProporciona un modelo de valoración

Cada subpráctica requiere evidencias Cada subpráctica requiere evidencias directas e indirectasdirectas e indirectas

Basado en la documentaciónBasado en la documentación

Page 49: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

MSF For CMMIMSF For CMMI

Es una interpretación “ágil” de CMMIEs una interpretación “ágil” de CMMI

Incluye ciertas características de Incluye ciertas características de AgileAgile

Menos documentaciónMenos documentación

Utiliza el mismo paradigmaUtiliza el mismo paradigmaWorkItems, Iteraciones, roles...WorkItems, Iteraciones, roles...

Los informes proporcionan las Los informes proporcionan las métricas necesarias para valorar el métricas necesarias para valorar el estado del proyecto.estado del proyecto.

Page 50: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

DEMO: Portal de CMMI

Page 51: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

INTRODUCCIÓN A INTRODUCCIÓN A TEAM FOUNDATION TEAM FOUNDATION SERVERSERVER

Page 52: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

ProbadorProbador

DesarrolladorDesarrollador

ArquitectoArquitecto

Jefe deJefe deProyectosProyectos

Analista deAnalista deNegocioNegocio

Profesional de Profesional de Base de DatosBase de Datos

DiseñadorDiseñador

Mejorar la Mejorar la Calidad del Calidad del

SoftwareSoftware

Facilitar la Facilitar la Colaboración en Colaboración en

EquipoEquipo

Incrementar la Incrementar la Transparecia en Transparecia en

ProyectosProyectos

Visual Studio Team SystemVisual Studio Team SystemSolución ALM (Application Lifecycle Solución ALM (Application Lifecycle Management)Management)

Page 53: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

Visual Studio Team Visual Studio Team SystemSystem Visual Studio Team SuiteVisual Studio Team Suite

Guía

y P

roce

so M

icro

soft

Solu

tion F

ram

ew

ork

(M

SF)

Guía

y P

roce

so M

icro

soft

Solu

tion F

ram

ew

ork

(M

SF)

Visual Studio Team Foundation ServerVisual Studio Team Foundation Server

VisualVisualStudioStudio

IndustryIndustryPartnersPartners

SoftwareSoftwareArchitectsArchitects

SoftwareSoftwareDevelopersDevelopers

SoftwareSoftwareTestersTesters

DatabaseDatabaseProfessionalsProfessionalsVisualVisual

StudioStudioTeamTeam

ExplorerExplorerModelado de Modelado de

AplicaciónAplicación

Modelado de Modelado de InfraestructuraInfraestructura

Análisis de CódigoAnálisis de Código

Ajuste de Ajuste de RendimientoRendimiento

Pruebas de BDPruebas de BD

Pruebas Pruebas ManualesManuales

Gestión de Gestión de Casos de PruebaCasos de Prueba

Visual Studio Professional Visual Studio Professional EditionEdition

Control de CódigoControl de Código

Gestión del CambioGestión del Cambio

(Workitem Tracking)(Workitem Tracking)

InformesInformes

Portal de ProyectoPortal de Proyecto

Gestión de ProyectoGestión de Proyecto

Servicio de IntegraciónServicio de Integración

(Team Build)(Team Build)

Load Test AgentLoad Test Agent

Visio y Modelado UMLVisio y Modelado UML

Modelado ClasesModelado Clases

Pruebas Pruebas UnitariasUnitarias

Cobertura de Cobertura de CódigoCódigo

Code Control Code Control ProxyProxy

Modelado de Modelado de DespliegueDespliegue

Pruebas de Pruebas de CargaCarga

Despliegue de Despliegue de BDBD

Gestión de Gestión de Cambios de BDCambios de BD

Page 54: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

Visual Studio Team SystemVisual Studio Team SystemTeam Foundation Server &Team Foundation Server &Load Test AgentLoad Test Agent

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

Load Test AgentLoad Test Agent

Page 55: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

Custom reportingCustom reportingtoolstools

MS ExcelMS Excel

Team Foundation Data Tier

Version ControlProxy Server

Report Client

Team Foundation Client Tier

CoreCoreDataData

VersionVersionControlControlWork ItemsWork Items Team Build Team Build

DataDataSQLSQL

ReportingReportingServicesServices

WindowsWindowsSharePointSharePointServicesServices

SQLSQLReportingReportingServicesServices

WindowsWindowsSharePointSharePointServicesServices

Work ItemWork ItemTrackingTrackingServiceService

VersionVersionControlControlServiceService

TeamTeamBuildBuild

ServiceService

CoreCoreServicesServices

WarehouseWarehouse

AdaptersAdapters

Team Foundation App Tier

WSS WSS ProxiesProxies

SQL RS SQL RS ProxiesProxies Team Foundation Object ModelTeam Foundation Object Model

MS ExcelMS ExcelPlug-InPlug-In

MS ProjectMS ProjectPlug-InPlug-InVisual Studio PackagesVisual Studio Packages

Internet ExplorerInternet Explorer

BuildBuildProcessProcess

VersionVersionControlControlProxyProxy

ServiceService

VSTFVSTFClients of VSTFClients of VSTFVSTF AdjunctsVSTF Adjuncts

Build Machine

Arquitectura Técnica de Arquitectura Técnica de TFSTFS

Page 56: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

Configuraciones básicas de Configuraciones básicas de TFSTFS

2 Servidores2 ServidoresEquipo GrandeEquipo Grande

ClientClient

Data TierData Tier

App TierApp Tier

Requiere Active DirectoryRequiere Active Directory(2003 or 2000)(2003 or 2000)

BuildBuild(op.)(op.)

VersionVersionControlControl

Proxy (op.)Proxy (op.)

1 máquina1 máquinaDemo/EvaluaciónDemo/Evaluación

•ClientClient•BuildBuild•App TierApp Tier•Data TierData Tier

1 usuario1 usuario 50 - 500 usuarios50 - 500 usuarios

1 Servidor1 ServidorEquipo PequeñoEquipo Pequeño

Soporta:Soporta:• WorkgroupWorkgroup• Active DirectoryActive Directory

(2003 or 2000)(2003 or 2000)

•ClientClient•Build (op.)Build (op.)

•App TierApp Tier•Data TierData Tier•Build (op.)Build (op.)

2 - 50 usuarios2 - 50 usuarios

Page 57: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

POWER TOOLS PARA TFSPOWER TOOLS PARA TFS

Page 58: Visual Studio Team System Metodologías en procesos de desarrollo Aurelio Porras aureliop@microsoft.com Development Tools Advisor Microsoft Ibérica.

© 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered © 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 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 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 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 provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.IN THIS PRESENTATION...