Metodologías con VS.2005 TEAM SYSTEM - Ciclo de vida y Team Foundation Server - Jesús Villalobos...

30
Metodologías con VS.2005 TEAM Metodologías con VS.2005 TEAM SYSTEM SYSTEM - Ciclo de vida y Team Foundation - Ciclo de vida y Team Foundation Server - Server - Jesús Villalobos Jesús Villalobos Responsable de desarrollo Responsable de desarrollo [MCSD] [MCSD] [email protected] [email protected] César de la César de la Torre Torre Software Architect - Software Architect - Renacimiento Renacimiento [Microsoft MVP–Connected [Microsoft MVP–Connected Systems] Systems] [MCSE] [MCT] [MCSE] [MCT] [email protected] [email protected] MSF

Transcript of Metodologías con VS.2005 TEAM SYSTEM - Ciclo de vida y Team Foundation Server - Jesús Villalobos...

Page 1: Metodologías con VS.2005 TEAM SYSTEM - Ciclo de vida y Team Foundation Server - Jesús Villalobos Responsable de desarrollo [MCSD]jvillalobos@certia.net.

Metodologías con VS.2005 TEAM SYSTEMMetodologías con VS.2005 TEAM SYSTEM

- Ciclo de vida y Team Foundation Server -- Ciclo de vida y Team Foundation Server -

Jesús VillalobosJesús VillalobosResponsable de desarrolloResponsable de desarrollo

[MCSD][MCSD][email protected]@certia.net

César de la TorreCésar de la TorreSoftware Architect - RenacimientoSoftware Architect - Renacimiento[Microsoft MVP–Connected Systems][Microsoft MVP–Connected Systems][MCSE] [MCT][MCSE] [MCT][email protected] [email protected]

MSF

Page 2: Metodologías con VS.2005 TEAM SYSTEM - Ciclo de vida y Team Foundation Server - Jesús Villalobos Responsable de desarrollo [MCSD]jvillalobos@certia.net.

Visual Studio 2005 Team System

-Visual Studio Team System 2005 y Visual Studio Team System 2005 y Team Foundation Server pueden Team Foundation Server pueden articular cualquier metodología, p.e.:articular cualquier metodología, p.e.:

- Metodologías Ágiles:Metodologías Ágiles:- MSF-AgileMSF-Agile- SCRUMSCRUM

-Metodologías FormalesMetodologías Formales- CMMICMMI- MSF for CMMIMSF for CMMI-RUPRUP

CC

Page 3: Metodologías con VS.2005 TEAM SYSTEM - Ciclo de vida y Team Foundation Server - Jesús Villalobos Responsable de desarrollo [MCSD]jvillalobos@certia.net.

Modelo CMMI

Level 2

Project PlanningProject Monitoring & ControlMeasurement & AnalysisRequirements ManagementConfiguration ManagementProcess & Product Quality AssuranceSupplier Agreement Management

Level 3Integrated Project ManagementRisk ManagementIntegrated TeamingRequirements DevelopmentTechnical SolutionProduct IntegrationVerificationValidationDecision Analysis & ResolutionOrganizational Process DefinitionOrganizational Environment for IntegrationOrganizational Process FocusOrganizational TrainingIntegrated Supplier Management

Level 4Organizational Process PerformanceQuantitative Project Management

Level 5Organizational Innovation and DeploymentCausal Analysis & Resolution

Page 4: Metodologías con VS.2005 TEAM SYSTEM - Ciclo de vida y Team Foundation Server - Jesús Villalobos Responsable de desarrollo [MCSD]jvillalobos@certia.net.

CMMI - ¿Cuándo? Control

• Normalmente para ‘Grandes proyectos de software’ que requieren verificación y auditorías

• Seguimiento muy estricto del cumplimiento de los procesos CMMI

• CMMI: Cinco niveles de conformidad– ‘MSF for CMMI’ y TFS llegan hasta nivel 3

• Orientado a la organización

Page 5: Metodologías con VS.2005 TEAM SYSTEM - Ciclo de vida y Team Foundation Server - Jesús Villalobos Responsable de desarrollo [MCSD]jvillalobos@certia.net.

Predictivo vs. Adaptable

• La inspiración usual para las metodologías han sido disciplinas como las ingenierías civil o mecánica: separación entre diseño y construcción.

• Dicho más común en proyectos problemáticos: “el problema con este proyecto es que los requisitos cambian todo el tiempo”.

• Si no se pueden obtener requisitos estables no se puede obtener un plan predecible.

• Aún así, un mínimo de previsibilidad es recomendable en muchos proyectos PROYECTOS CERRADOS LL

Page 6: Metodologías con VS.2005 TEAM SYSTEM - Ciclo de vida y Team Foundation Server - Jesús Villalobos Responsable de desarrollo [MCSD]jvillalobos@certia.net.

Introducción Metodologías Ágiles

• La crítica más frecuente a las metodologías NO ágiles es la burocracia.

• Las metodologías ágiles, buscan un termino medio, buscan el suficiente proceso para que el esfuerzo valga la pena.

• Sus características comunes:– Metodologías adaptables– Orientadas a las “personas”– Orientadas a los cambios

• Varias metodologías ágiles: – MSF-Agile, XP, Scrum, etc.

LL

Page 7: Metodologías con VS.2005 TEAM SYSTEM - Ciclo de vida y Team Foundation Server - Jesús Villalobos Responsable de desarrollo [MCSD]jvillalobos@certia.net.

Agile Manifesto

• Individuals and interactions over processes and tools

• Working software over comprehensive documentation

• Customer collaboration over contract negotiation

• Responding to change over following a plan

http://www.agilemanifesto.org/

Page 8: Metodologías con VS.2005 TEAM SYSTEM - Ciclo de vida y Team Foundation Server - Jesús Villalobos Responsable de desarrollo [MCSD]jvillalobos@certia.net.

¿Qué es Team Foundation?Plataforma integrada para Colaboración en Proyectos Plataforma integrada para Colaboración en Proyectos de Desarrollo de Softwarede Desarrollo de Software

Control de Control de Código FuenteCódigo Fuente

Seguimiento Seguimiento de Unidades de Unidades de Trabajode Trabajo

CompilaciónCompilación

GlobalGlobal

ComunicacionesComunicaciones

Entre el EquipoEntre el Equipo

InformesInformes

CC

Page 9: Metodologías con VS.2005 TEAM SYSTEM - Ciclo de vida y Team Foundation Server - Jesús Villalobos Responsable de desarrollo [MCSD]jvillalobos@certia.net.

Visual Studio Team System

Change Management

Work Item Tracking

Reporting

Project Portal

Visual StudioTeam Foundation Server Integration Services

Project Management

Pro

cess

an

d A

rch

itect

ure

Pro

cess

an

d A

rch

itect

ure

G

uid

an

ceG

uid

an

ce

Dynamic Code Analyzer

Visual Studio Team Edition

Software Architects

Static Code Analyzer

Code Profiler

Unit Testing

Code Coverage

Team Explorer (includes Team Foundation Server CAL)

Visual Studio Professional Edition

Load Testing

Manual Testing

Test Case Management

Application Designer

System Designer

Logical Datacenter Designer

Visual Studio Team Edition

Software DevelopersVisual Studio Team Edition

Software Testers

Vis

ual S

tud

io In

du

stry

V

isu

al S

tud

io In

du

stry

Part

ners

Part

ners

Team Build

Class Designer (in Visual Studio Standard Edition and higher)

Deployment Designer

Visio for Enterprise Architects (in MSDN Premium Subscription)

CC

Page 10: Metodologías con VS.2005 TEAM SYSTEM - Ciclo de vida y Team Foundation Server - Jesús Villalobos Responsable de desarrollo [MCSD]jvillalobos@certia.net.

Team FoundationPro

cess

an

d A

rch

itect

ure

Pro

cess

an

d A

rch

itect

ure

G

uid

an

ceG

uid

an

ce

Vis

ual S

tud

io In

du

stry

V

isu

al S

tud

io In

du

stry

Part

ners

Part

ners

Change Management

Work Item Tracking

Reporting

Project Site

Integration Services

Project ManagementWork Item Tracking

ReportingChange Management

Project Site

Integration Services

Project Management

Visual Studio

Team Foundation

Dynamic Code Analyzer

Visual Studio

Team Architect

Static Code Analyzer

Code Profiler

Unit Testing

Code Coverage

Visio and UML Modeling

VS Pro

Class Modeling

Load Testing

Manual Testing

Test Case Management

Application Modeling

Logical Infra. Modeling

Deployment Modeling

Visual Studio

Team DeveloperVisual Studio

Team Test

Team Foundation ClientTeam Foundation Client

CC

Page 11: Metodologías con VS.2005 TEAM SYSTEM - Ciclo de vida y Team Foundation Server - Jesús Villalobos Responsable de desarrollo [MCSD]jvillalobos@certia.net.

Visión global TFSVisión global TFS- Proyecto Nuevo (Diferentes Plantillas MSF-Agile, MSF for CMMI, Propia/Custom, etc.)

-Visión global de Team Explorer y Conceptos base de Work Items, etc

-- Mostrar portales de Agile y CMMI, con las páginas sobre documentación

Page 12: Metodologías con VS.2005 TEAM SYSTEM - Ciclo de vida y Team Foundation Server - Jesús Villalobos Responsable de desarrollo [MCSD]jvillalobos@certia.net.

Todo se basa en ‘Work Items’

‘Work items’ del autor enExcel

‘Work items’ del autor enExcel

‘Work items’ enVisual Studio

‘Work items’ enVisual Studio

Asignar dependencias de tareas con

Microsoft Project

Asignar dependencias de tareas con

Microsoft Project

Ver status del proyecto enExcel ó Project

Ver status del proyecto enExcel ó Project

CC

Page 13: Metodologías con VS.2005 TEAM SYSTEM - Ciclo de vida y Team Foundation Server - Jesús Villalobos Responsable de desarrollo [MCSD]jvillalobos@certia.net.

Planificación y tareasPlanificación y tareas

- Planificación con Project Professional y demo de Tareas mapeadas a Work-Items

Page 14: Metodologías con VS.2005 TEAM SYSTEM - Ciclo de vida y Team Foundation Server - Jesús Villalobos Responsable de desarrollo [MCSD]jvillalobos@certia.net.

Control Código Fuente (Gestión del cambio)Check In/Out / Shelves

“Shelve”(Guardar apartados propios)

de código fuente

“Shelve”(Guardar apartados propios)

de código fuente

Políticas en el Proceso de check-in

Políticas en el Proceso de check-in

LL

Page 15: Metodologías con VS.2005 TEAM SYSTEM - Ciclo de vida y Team Foundation Server - Jesús Villalobos Responsable de desarrollo [MCSD]jvillalobos@certia.net.

Control código fuenteControl código fuente

- Check-in / Check-out (compartido, etc.)- SHELVES

Page 16: Metodologías con VS.2005 TEAM SYSTEM - Ciclo de vida y Team Foundation Server - Jesús Villalobos Responsable de desarrollo [MCSD]jvillalobos@certia.net.

Team System (Desarrolladores)

Change Management

Work Item Tracking

Reporting

Project Portal

Visual StudioTeam Foundation Server Integration Services

Project Management

Pro

cess

an

d A

rch

itect

ure

Pro

cess

an

d A

rch

itect

ure

G

uid

an

ceG

uid

an

ce

Dynamic Code Analyzer

Visual Studio Team Edition

Software Architects

Static Code Analyzer

Code Profiler

Unit Testing

Code Coverage

Team Explorer (includes Team Foundation Server CAL)

Visual Studio Professional Edition

Load Testing

Manual Testing

Test Case Management

Application Designer

System Designer

Logical Datacenter Designer

Visual Studio Team Edition

Software DevelopersVisual Studio Team Edition

Software Testers

Vis

ual S

tud

io In

du

stry

V

isu

al S

tud

io In

du

stry

Part

ners

Part

ners

Team Build

Class Designer (in Visual Studio Standard Edition and higher)

Deployment Designer

Visio for Enterprise Architects (in MSDN Premium Subscription)

Dynamic Code Analyzer

Static Code Analyzer

Code Profiler

Unit Testing

Code Coverage

LL

Page 17: Metodologías con VS.2005 TEAM SYSTEM - Ciclo de vida y Team Foundation Server - Jesús Villalobos Responsable de desarrollo [MCSD]jvillalobos@certia.net.

Pruebas Unitarias y Cobertura de Código

• Pruebas Unitarias– Los Desarrolladores deben escribir sus propias pruebas

unitarias– El entorno de desarrollo debe proporcionar una respuesta

rápida a los pequeños cambios• Cobertura de Código

– ¿Qué sentencias de mi aplicación se están ejecutando por las pruebas unitarias?

– Util para identificar pruebas unitarias incompletas

LL

Page 18: Metodologías con VS.2005 TEAM SYSTEM - Ciclo de vida y Team Foundation Server - Jesús Villalobos Responsable de desarrollo [MCSD]jvillalobos@certia.net.

Pruebas Unitarias y ‘Code Coverage’

- Demo Pruebas Unitarias y Code-Coverage

- Detectar un Bug, gestión del Bug y resolución del bug.

Page 19: Metodologías con VS.2005 TEAM SYSTEM - Ciclo de vida y Team Foundation Server - Jesús Villalobos Responsable de desarrollo [MCSD]jvillalobos@certia.net.

Integración DIARIA e Integración Contínua

Una ‘integración diária’ publicada es:

– Un fuerte indicador de que el equipo es funcional– Una forma de hacer visible el producto y su

progreso– El heartbeat del proceso de desarrollo– “Dadme algo nuevo cada día”

Construir el producto en forma ejecutable con una ‘base diaria’

Hay que integrar todo día a día, no al cabo de un mes integrar diferentes módulos PROBLEMAS

CC

Page 20: Metodologías con VS.2005 TEAM SYSTEM - Ciclo de vida y Team Foundation Server - Jesús Villalobos Responsable de desarrollo [MCSD]jvillalobos@certia.net.

Reglas para la ‘Integración Diaria’

• Usar un sistema de control de código• Cada desarrollador trabaja localmente.• Cada día se recoge el código (check-in), se

compila globalmente y publican los binarios y los desarrolladores tienen disponible todo el código nuevo y binarios.

• En entorno Team-System, las compilaciones globales en el servidor se realizan con el sistema de compilación global de TFS.

CC

Page 21: Metodologías con VS.2005 TEAM SYSTEM - Ciclo de vida y Team Foundation Server - Jesús Villalobos Responsable de desarrollo [MCSD]jvillalobos@certia.net.

Informes de TFS

• Team Foundation genera informes.– Basado en Analysis Services y Reporting Services de SQL

Server 2005.– Visibles desde:

• VS.Team Explorer• Portal del proyecto (Sharepoint Services)

CC

Page 22: Metodologías con VS.2005 TEAM SYSTEM - Ciclo de vida y Team Foundation Server - Jesús Villalobos Responsable de desarrollo [MCSD]jvillalobos@certia.net.

Informes de Team Foundation Server

Page 23: Metodologías con VS.2005 TEAM SYSTEM - Ciclo de vida y Team Foundation Server - Jesús Villalobos Responsable de desarrollo [MCSD]jvillalobos@certia.net.

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 System¿Cómo de efectivo es nuestro equipo?

Page 24: Metodologías con VS.2005 TEAM SYSTEM - Ciclo de vida y Team Foundation Server - Jesús Villalobos Responsable de desarrollo [MCSD]jvillalobos@certia.net.

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 System¿Qué requisitos no han sido probados?

Page 25: Metodologías con VS.2005 TEAM SYSTEM - Ciclo de vida y Team Foundation Server - Jesús Villalobos Responsable de desarrollo [MCSD]jvillalobos@certia.net.

Trabajo PlanificadoTrabajo Planificado

TrabajoTrabajo

FinalizadoFinalizado

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

Page 26: Metodologías con VS.2005 TEAM SYSTEM - Ciclo de vida y Team Foundation Server - Jesús Villalobos Responsable de desarrollo [MCSD]jvillalobos@certia.net.

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 SystemSolución atascada en pruebas

Page 27: Metodologías con VS.2005 TEAM SYSTEM - Ciclo de vida y Team Foundation Server - Jesús Villalobos Responsable de desarrollo [MCSD]jvillalobos@certia.net.

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 SystemFallo en estimación de tiempos

Page 28: Metodologías con VS.2005 TEAM SYSTEM - Ciclo de vida y Team Foundation Server - Jesús Villalobos Responsable de desarrollo [MCSD]jvillalobos@certia.net.

““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 SystemEl ámbito cambia radicalmente

Page 29: Metodologías con VS.2005 TEAM SYSTEM - Ciclo de vida y Team Foundation Server - Jesús Villalobos Responsable de desarrollo [MCSD]jvillalobos@certia.net.

Conclusiones

• Team System permite trabajar con cualquier metodología tanto Ágil como Formal.

• Team system dispone de diversas técnicas de ayuda y control en el desarrollo.– Integración con tareas de planificación del proyecto– Control código Fuente– Work-items (Tareas proyecto, Bugs, etc.)– Análisis de código estático– Pruebas unitarias y Cobertura de código– Diagramas de Arquitectura– Pruebas de carga– Informes de trabajo del equipo

CC

Page 30: Metodologías con VS.2005 TEAM SYSTEM - Ciclo de vida y Team Foundation Server - Jesús Villalobos Responsable de desarrollo [MCSD]jvillalobos@certia.net.

Muchas Gracias

MSF

Jesús VillalobosJesús VillalobosResponsable de desarrolloResponsable de desarrollo

[MCSD][MCSD][email protected]@certia.net

CertiaCertia

César de la TorreCésar de la TorreSoftware Architect - RenacimientoSoftware Architect - Renacimiento[Microsoft MVP–Connected Systems][Microsoft MVP–Connected Systems][MCSE] [MCT][MCSE] [MCT][email protected]@renacimiento.comRenacimientoRenacimiento