Metodologías con VS.2005 TEAM SYSTEM - Ciclo de vida y Team Foundation Server - Jesús Villalobos...
-
Upload
carlos-neri -
Category
Documents
-
view
3 -
download
0
Transcript of Metodologías con VS.2005 TEAM SYSTEM - Ciclo de vida y Team Foundation Server - Jesús Villalobos...
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
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
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
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
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
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
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/
¿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
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
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
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
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
Planificación y tareasPlanificación y tareas
- Planificación con Project Professional y demo de Tareas mapeadas a Work-Items
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
Control código fuenteControl código fuente
- Check-in / Check-out (compartido, etc.)- SHELVES
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
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
Pruebas Unitarias y ‘Code Coverage’
- Demo Pruebas Unitarias y Code-Coverage
- Detectar un Bug, gestión del Bug y resolución del bug.
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
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
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
Informes de Team Foundation Server
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?
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?
Trabajo PlanificadoTrabajo Planificado
TrabajoTrabajo
FinalizadoFinalizado
Visual Studio Team System¿Hasta donde llegamos en el tiempo disponible?
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
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
““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
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
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