TFS 10

4,840 views
4,665 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,840
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
10
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

TFS 10

  1. 1. Team Foundation Server 2010 Óliver Centeno Álvarez
  2. 2. Temario1. Introducción a TFS2. Instalación y Configuración3. Metodologías de Desarrollo4. Work Items5. Control de Código6. Gestión de Proyectos con TFS7. Portal de Proyecto y Reporting8. Integración Continua9. TFS Power Tools y Plantillas de Proyecto
  3. 3. 1. Introducción a TFS 2010 Team Foundation Server 2010
  4. 4. Visual Studio 20105 versiones: Express Professional ($799) Professional with MSDN ($1199 - $799 upgrade) Premium with MSDN ($5,469 - $2,299 upgrade) Ultimate with MSDN ($11,924 - $3,841 upgrade)
  5. 5. Visual Studio 2010Premium incluye: Tests Unitarios, de cobertura y de interfaz (Coded UI) Generación de datos para tests Análisis y métricas de código PerfilesUltimate incluye: Tests de carga y performance para Web Intellitrace (depurador histórico) Gestión de Tests
  6. 6. Características por Versión
  7. 7. Características por Versión
  8. 8. Team Foundation ServerVisual Studio TFS 2010 Plataforma de colaboración Gestión del ciclo de vida de una aplicación (ALM) Automatiza el proceso de entrega del software Proporciona herramientas para gestionar eficazmente los proyectos de desarrollo de software
  9. 9. Team Foundation Server
  10. 10. Team Foundation ServerTerminología Jerárquica:Team Foundation Server └ Project Collection └ Team Project └ Branch └ Solution └ Project
  11. 11. Team Foundation ServerTeam Project Collection Instancia en SQL Server que almacena proyectos colaborativos Asociada a un sitio SharePoint (opcional) Accesible desde Administration Console Default Collection Ej: Tailspin Toys
  12. 12. Team Foundation ServerTeam Project Proyecto de equipo compuesto Work Items TFVC Sitio Web del proyecto Librería de Documentos Reports Builds Iteraciones …
  13. 13. Team Foundation ServerTeam Project Se crea a partir de una plantilla de proceso MSF for Agile MSF for CMMi Otras descargables Configurables mediante Power Tools
  14. 14. Team Foundation ServerIntegración con otras herramientas Integrado con Visual Studio 2010 http://localhost:8080/tfs/ Integrado con Excel (Pestaña Team) Integrado con MS Project (Menú Team) Plugin para Eclipse Team Explorer Everywhere
  15. 15. Team Foundation ServerArquitectura
  16. 16. Team Foundation ServerRequisitos mínimos < 20 usuarios 8GB disco + 1GB memoria 20-250 usuarios 230GB disco + 2GB memoria > 250 usuarios 500GB disco + 4GB memoriaSoftware SQL Server 2008 Standard Windows SharePoint Services 3.0 Windows Server 2003 SP2
  17. 17. Team Foundation Server 11Nueva edición en fase BetaBasado en .Net 4.52 ediciones Completa Express
  18. 18. Team Foundation Server 11
  19. 19. Team Foundation Server 11
  20. 20. Team Foundation Server 11Novedades
  21. 21. Team Foundation Server 11Novedades
  22. 22. 2. Instalación y Configuración Team Foundation Server 2010
  23. 23. Instalación de TSF 10http://www.microsoft.com/en-us/download/confirmation.aspx?id=24337Se puede hacer una instalación básica Configura IIS automáticamente Incluye SQL Server Express No incluye Portal de Proyecto ni Reporting
  24. 24. Instalación de TSF 10
  25. 25. Instalación de TSF 10O una instalación avanzada Todo en la misma máquina Necesitamos SQL Server 2008 Para los servicios de Reporting El Portal de Proyecto se configura como WSS
  26. 26. Instalación de TSF 10O una instalación avanzada Utilización de distintos servidores
  27. 27. Configuración de TSF 10Se inicia tras la instalaciónSi al finalizar marcamos la casilla Launch Team Foundation Server Configuration ToolLa configuración básica Incluye SQL Express Permite especificar otro SQL Server Si tenemos portal de proyecto Hay que validar la cuenta de Servicios de Red DOMINIOwssservice
  28. 28. Configuración de TSF 10
  29. 29. Configuración TFS 11
  30. 30. Migración Migrar la última versión de Visual Source Safe1. Abrir VS con VSS y obtener la última versión2. Desconectar la solución de VSS File > Source Control > Change Source Control Unbind the Solution and all Projects3. Establecer TFS como control de código Tools > Options > Source Control4. Crear un Team Project5. Abrir la solución y añadirla a control de código6. Check in de los cambios
  31. 31. Migración Migración completa desde Visual Source Safe1. Preparar la máquina destino VSS y TFS en el mismo servidor 5GB de espacio libre en disco para ficheros temporales Doble del espacio ocupado en VSS VSS 2005 + parche para VSSConverter2. Comprobar permisos Administrador de VSS y grupo Administradores en la máquina del TFS Permiso de creación en la Base de Datos
  32. 32. Migración3. Planificar la migración i. Hacer check-in de todo ii. Bloquear el acceso a VSS iii. Backup de la Base de Datos de VSS iv. Actualizar a VSS 6.0 si es una versión anterior (DDUPD) v. Analizar la integridad de la Base de Datos (ANALYZE)4. Crear un fichero de análisis analisis.xml Analizar el VSS con VSSConverter y el fichero VSSConverter Analyze analisis.xml
  33. 33. MigraciónEjemplo de fichero analisis.xml
  34. 34. Migración5. Crear un fichero de migración migracion.xml (ejemplos) Incluye el mapeo de los usuarios (permisos) Ejecutar la migración desde la consola de VS VSSConverter Migrate migracion.xml6. Verificar la migración
  35. 35. MigraciónEjemplo de fichero migracion.xml
  36. 36. Ejercicios1. Crear una colección nueva o Team Foundation Administrative Console o Application Tier > Team Project Collections o Create Collection o Verificar SIEMPRE
  37. 37. Ejercicios2. Conectar con la colección o Visual Studio 2010 o Conectar con Team Foundation Server o Indicar la URL/IP del servidor o Indicar la cuenta de usuario con que conectar o Seleccionar la colección creada
  38. 38. Ejercicios3. Crear un Team Project basado en Agile4. Crear un Team Project basado en CMMi o Una vez conectados con una colección o Botón derecho > Nuevo Proyecto de Equipo o Elegir la platilla o NO configurar un sitio SharePoint o Crear una carpeta de código fuente vacía
  39. 39. 3. Metodologías de Desarrollo Team Foundation Server 2010
  40. 40. Metodologías de DesarrolloProceso de Desarrollo de Software Necesidad Gestión de proyecto Estimación Planificación Medición
  41. 41. Ciclo de VidaCiclo de vida Especificación/Análisis Diseño y Construcción Pruebas Instalación y MantenimientoModelos de ciclo de vida Lineal Evolutivo/Espiral Retroalimentado/Prototipado
  42. 42. Ciclo de VidaEl modelo de ciclo de vida condiciona el tipo demetodología aplicada Metodologías clásicas (pesadas, formales) Métrica, RUP Metodologías ágil Scrum, XP Procesos y calidad CMMi, ITIL
  43. 43. Principio Básicos de los Proyectos El Triángulo de Hierro Coste Coste Tiempo Alcance Calidad y Productividad Productividad Calidad Alcance Tiempo
  44. 44. Principio Básicos de los Proyectos La magia no existe Productividad <> Más horas Mejora continua (Ishikawa) Mejora del proceso para ser más productivo Luchar contra el cambio no es efectivo Gestión del cambio Burocracia Burocracia Insatisfacción La incertidumbre disminuye con el tiempo Decide en el último momento responsable
  45. 45. ¿Por qué Métodos Ágiles?Los Proyectos fallan No se entregan a tiempo No cumplen con los objetivos Cuestan más de lo estimado¿De quién es la culpa? Hay demasiada documentación Hay muchos cambios La tecnología no es adecuada Los desarrolladores no son expertos …
  46. 46. ¿Por qué Métodos Ágiles?Modelo de desarrollo ágil No solo realizar entregas periódicas Sino priorizar las que aportan más valor El valor aportado al principio es mayor El valor aportado al final es menor
  47. 47. ¿Por qué Métodos Ágiles?Modelo de desarrollo ágil Esto nos da la oportunidad de añadir más valor en subsiguientes iteraciones Y así poder continuar con el proyecto
  48. 48. Manifiesto Ágil2001, Kent Beck et. Al.“Estamos poniendo al descubierto mejoresmétodos para desarrollar software, haciéndolo y ayudando a otros a que lo hagan ”
  49. 49. Manifiesto ÁgilValorar más: Individuos y su interacción Software que funciona Colaborar con el cliente Respuesta al cambioPor encima de: Procesos y herramientas Documentación Ceñirse a contratos Seguir un plan
  50. 50. Principios del AgilismoSatisfacer al cliente mediante entregastempranas y continuas de software de valorDoblegarse a los requisitos cambiantesTrabajo conjunto de personas de negocio ydesarrolladoresMantener la motivación de los individuosAportarles los entornos y apoyo que necesitenConfiar en su capacidad
  51. 51. Principios del AgilismoComunicar la información cara a caraUtilizar el software que funciona como medidade progresoMantener un ritmo constante de trabajoSimplicidad y excelencia técnicaEquipos auto-organizadosAuto-reflexión periódica del equipo para sermás efectivos
  52. 52. Algunas Técnicas Ágiles Team Foundation Server 2010
  53. 53. Historias de UsuarioRepresentación de una característica escrita en una odos frases utilizando el lenguaje común del usuarioComo {rol} quiero {algo} para obtener {valor denegocio}Forma rápida de administrar los requisitos sin elaborargran cantidad de documentos formalesDebe ser limitada, escribible sobre un post-itDe duración estimada entre 10 horas y 2 semanas
  54. 54. Historias de UsuarioTiene asociada una prioridadTiene asociadas unas pruebas de validaciónNo es una especificación rigurosa sino uncomienzoNo es una tareaCada historia es, en principio, independienteLas historias SON negociablesLas historias son valiosas
  55. 55. Historias de UsuarioLas historias son estimables Días ideales, Puntos de historia, TriangulaciónLas historias deben ser pequeñas y fáciles de entenderLas historias debe poder probarse para asegurar quehan finalizado Pruebas unitarias Criterio de aceptación Prototipos
  56. 56. Historias de UsuarioBeneficios Representan requisitos que pueden implementarse rápidamente (días o semanas) Necesitan poco mantenimiento Mantienen una relación cercana con el cliente Permite dividir los proyectos en pequeñas entregas Permite estimar fácilmente el esfuerzo de desarrollo Ideal para proyectos con requerimientos no muy claros
  57. 57. Historias de UsuarioLimitaciones Sin pruebas de validación pueden quedar abiertas a distintas interpretaciones haciendo difícil utilizarlas como base para un contrato Se requiere un contacto permanente con el cliente durante el proyecto lo cual puede ser difícil o costoso Podría resultar difícil escalar a proyectos grandes Requiere desarrolladores muy competentes Requieren saber cuando se puede considerar hecha
  58. 58. Historias de UsuarioEjercicio A Se quiere desarrollar un sistema sencillo de control de préstamos en una biblioteca. El sistema debe admitir el alta y la baja de socios y de libros. Los socios pueden pedir libros en préstamo, pero no se pueden tener más de tres libros en préstamo en un momento determinado. Los libros se han de devolver antes de un mes de la fecha del préstamo. Cada vez que un socio devuelve un libro después de la fecha de la devolución, se penaliza reduciendo en una unidad el número de libros que puede tener simultáneamente. Cuando llega a cero el socio se dé de baja automáticamente.
  59. 59. Historias de UsuarioEjercicio B Se quiere desarrollar un simulador de Mus para jugar online.Ejercicio C Se quiere desarrollar un simulador del juego de cartas Bang! de Emiliano Sciarra. Instrucciones
  60. 60. Historias de UsuarioResolución ejercicio A Alta libro Baja libro Alta socio Baja socio Préstamo de libro Devolver libro Penalizar socio Baja automática de socio Iniciar sesión en el sistema Cerrar sesión Alta usuario Baja usuario
  61. 61. Planning PokerEstimación de tareas por consensoUtilizando cartas con valores: 0, ½, 1, 2, 3, 5, 8, 13, 20, 40, 100, ?,No tiene unidades, el objetivo no es dar un valorSe explica la característica a estimar y todos votan excepto unmoderadorLos votos más extremos deben explicarseSe repite la votación hasta el consensoEvita el poder de alguien influyenteIncluye el punto de vista del cliente
  62. 62. Planning Poker
  63. 63. Planning PokerEjercicio A Estimar alguna historia detectada en el ejercicio anteriorEjercicio B: Estimar Como usuario quiero poder ver los productos disponibles para comprar ordenados por precio y/o tipo de artículo para encontrar lo que busco más rápido. Como usuario quiero poder ver los detalles de mi pedido para saber en qué estado se encuentra y si todavía estoy a tiempo de modificarlo.
  64. 64. Planning PokerEjercicio C: Estimar Como usuario quiero poder pagar con tarjeta o mediante Pay- Pall para tener distintas alternativas en caso de no tener el número de tarjeta a mano. Como usuario quiero poder acceder a la aplicación desde mi móvil para poder utilizarla en cualquier parte. Como usuario quiero poder imprimir documentos para poder llevármelos conmigo. Como usuario quiero poder ver la fecha y hora actuales para no tener que salir de la aplicación para ello.
  65. 65. ScrumTeam Foundation Server 2010
  66. 66. ScrumEl factor más importante en el desarrollo de software no son las técnicas y las herramientas que emplean los programadores, sino la calidad de los propios programadores Robert L. Glass Scrum y XP desde las Trincheras Henrik Kniberg
  67. 67. Scrum
  68. 68. ScrumNo es un método independiente, sino complemento deotras metodologías (XP, MSF, RUP)Enfatiza valores y prácticas de gestión, no cuestionestécnicas de desarrollo Equipos auto-dirigidos y auto-organizados No hay un Jefe de Proyecto que decida Excepción: el Scrum Master que debe ser 50% programador y que resuelve problemas, pero no manda Los observadores externos se llaman “gallinas”; pueden observar, pero no interferir ni opinar
  69. 69. Categorías en Scrum Primero una historia:Una gallina y un cerdo pasean por la carretera cuando la gallina le dice al cerdo: “¿Qué te parece si abrimos un restaurante?”, a lo que el cerdo le pregunta: “¿y cómo se llamaría?” La gallina le contesta: “Huevos con jamón” y el cerdo le replica: “No estoy de acuerdo, porque en este negocio yo estaría comprometido, mientras que tu sólo estarías implicada”
  70. 70. Categorías en Scrum¿Qué queremos decir?Quienes tienen la responsabilidadtambién tienen la autoridad necesariapara poder lograr el éxitoPara que quienes no la tienen no puedanproducir interferencias innecesarias
  71. 71. Roles en Scrum (Cerdos)Dueño del Producto Product Owner Determina qué es importante para el proyecto Determina la dirección en que evoluciona el productoEquipo Scrum Analista, Desarrollador, Tester,… Proactivos, multifuncionales, autoorganizados, <10 por equipo
  72. 72. Roles en Scrum (Cerdos)Scrum Master Debe asegurar que el proyecto progresa con suavidad Y que el equipo tiene lo que necesita para tener éxito Establece reuniones Resuelve problemas Monitoriza el progreso del proyecto
  73. 73. Roles en Scrum (Gallinas)Usuarios finalesMarketingÁreas comercialesÁreas contablesAdministradoresEtc
  74. 74. Ciclo de Scrum
  75. 75. SprintIteraciones de treinta días; se admite que sean másfrecuentes (recomendado 3 semanas)Demostración a participantes externos al final de cadaiteración en una fecha indicadaAl principio de cada iteración, plantear una Metaexpresada en términos de negocioPlanificación del Sprint entre todos con una agendaacotada (no alargar reuniones!!)Se selecciona una Pila de Sprint Historias que se van a incluir en el Sprint
  76. 76. Pila de Producto (Product Backlog)Lista priorizada de requisitos/historiasNombre, importancia, estimación inicial, cómoprobarlo,…Puntos de historia: días/persona ideales para completarla historia
  77. 77. Pila de Sprint (Sprint Backlog)Historias ordenadaspor importancia de lapila de producto quese van a implementarTener en cuenta lavelocidad del equipo
  78. 78. División de las historiasAl equipo le interesan tareas pequeñasUna historia se descompone en tareasNo son entregables, el cliente no se preocupaPizarra y post-its
  79. 79. Scrum Diario
  80. 80. Cambios durante el SprintDurante un Sprint no se puede modificar elcontenidos de la pilaEl cliente puede cambiar una historia en lasreuniones mensuales (cambiando el alcance y/oprioridad de una historia, o dividiéndola)Sólo el Scrum Master puede abortarlo Si la tecnología seleccionada no funciona Si las circunstancias del negocio han cambiado Si el equipo ha tenido interferencias
  81. 81. AlarmasTareas terminadas de baja prioridadExceso de tareas no planificadas
  82. 82. Al final de un Sprint…Hacer una demo para: Obtener reconocimiento para el equipo Que todos sepan lo que se está haciendo Obtener un feedback de los interesados Permite interactuar con otros equipos Fuerza a que realmente se terminen las cosas Auque haya poco y el resultado sea malo que enseñar se motiva al equipo para que la próxima demo sea mejor
  83. 83. Al final de un Sprint…En la demo, centrarse en: Presentar claramente el objetivo del Sprint No hacer florituras (PPT, detalles de implementación,…) Mantener un ritmo rápido Mantenerse a nivel de negocio, sin detalles técnicosHacer una retrospectiva para ver Cosas bien hechas Cosas mejorables Ideas de mejora para el futuro
  84. 84. Ciclo de Scrum
  85. 85. ¿Cómo funciona el equipo?Las métricas y medidas proporcionan una indicación dedónde se puede mejorarHay medidas informativas y motivacionalesLas informativas pueden ayudar a mejorar los procesosy a ser más efectivo y coordinadoEn los Métodos Ágiles interesan las informativas¿Cómo las tomamos? Preguntado al equipo¿Cuándo las tomamos? En el Scrum diario Medidas de coordinación En la retrospectiva Medidas de proceso
  86. 86. Diagrama BurndownMuestra el progreso de tareas completadas en un Sprint¿Se van a conseguir los objetivos del Sprint? Por encima de la diagonal Exceso de historias Por debajo de la diagonal Pocas historias
  87. 87. Diagrama BurndownInicializarlo en la planificación 110-del Sprint 100- 90- Marcando en el eje X el Nº de días 80- 70- Y en el eje Y el Nº de horas de 60- trabajo estimadas 50- 40-Marcar la tendencia ideal 30- 20- Si el ritmo de trabajo fuera 10- constante 0- ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ 1 2 3 4 5 6 7 8 9 10 11Diariamente se actualiza el valor ¿Qué hiciste ayer? ¿Qué harás hoy? ¿Qué problemas tienes?
  88. 88. Diagrama BurndownDiariamente se monitoriza Mirando las tareas pendientes 110- 100- Seleccionando las mejores tareas para 90- no desviarnos del ideal 80- 70- Cono de +/- 20% 60-Si nos salimos del cono por debajo 50- 40- Añadir nuevas historias de la pila 30- Porque somos así de buenos! XD 20- Si ocurre a menudo hay que mejorar 10- 0- las predicciones ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ 1 2 3 4 5 6 7 8 9 10 11Si nos salimos del cono por encima Eliminar impedimentos Hacer las cosas de otro modo Reducir el alcance
  89. 89. Diagrama BurndownNO OCULTAR EL DIAGRAMA Es una medida del progreso del proyecto y es importante que el equipo y cualquiera que le interese pueda verloACTUALIZARLO A DIARIO Si no se actualiza a diario surgen tendencias horizontales que nada tienen que ver con la realidadNO TENER EXCESO DE ESPECIALIZACIÓN El equipo podría elegir sólo las tareas que le interesa a cada individuo y dejar las “aburridas” sin hacerUTILIZAR EL DIAGRAMA PARA CORREGIR Si la tendencia no es buena tomar medidas cuanto antes
  90. 90. CMMiTeam Foundation Server 2010
  91. 91. ¿Qué es CMMi?Capability Maturity Model® IntegrationConjunto de prácticas “maduras” usadas paraevaluar y mejorar la capacidad de los procesosRuta evolutiva de implementación de lasmejores prácticas en los procesosorganizacionales5 niveles de madurez
  92. 92. Madurez
  93. 93. Niveles de Madurez1. Ejecutado (inicial)2. Administrado3. Definido4. Administrado Cuantitativamente5. Optimizado
  94. 94. Nivel 1: Inicial La organización en este nivel no dispone de un ambiente estable para el desarrollo y mantenimiento de productos y servicios
  95. 95. Nivel 2: Administrado Algunas áreas organizacionales y/o proyectos han alcanzado metas genéricas y específicas Establecidas en áreas de proceso Planifican, ejecutan, miden y controlan sus procesos
  96. 96. Nivel 3: Definido Procesos descritos mediante estándares, procedimientos, métodos y herramientas Entendidos por los ejecutores
  97. 97. Nivel 4: Cuantificado Selección y administración de actividades que contribuyen al funcionamiento del proceso total Control estadístico y cuantitativo de esas actividades
  98. 98. Nivel 5: Optimizado Mejora continua Mejorar el desempeño de los procesos Mejoras tecnológicas incrementales e innovadoras
  99. 99. Áreas, Prácticas y Metas
  100. 100. Áreas, Procesos y Metas Level Project Management Engineering Support Process Management CAR: Causal Analysis OID: Organizational5 Optimizing and Resolution Innovation4 Quantitat. &Deployment QPM: Quantitative OPP: OrganizationalManaged Project Management Process Performance IPM: Integrated RD: Requirements DAR: Decision Analysis OPF: Organizational Project Management Development and Resolution Process Focus RSKM: Risk TS: Technical Solution OEI: Organizational OPD: Organizational Management PI: Product Environment for Process Definition3 Defined IT: Integrated Teaming Integration Integration OT: Organizational ISM: Integrated VER: Verification Training Supplier Management VAL: Validation PP: Project Planning REQM: Requirements MA: Measurement and PMC: Project Management Analysis Monitoring and Control PPQA: Process &2 Managed SAM: Supplier Product Quality Agreement Assurance Management CM: Configuration Management1 Initial
  101. 101. Críticas a CMMi
  102. 102. 4. Work ItemsTeam Foundation Server 2010
  103. 103. ¿Qué es un Work Item?Elemento de trabajoRegistro en la BD de TFS Definición Estado Prioridad AsignaciónDependen de la plantilla de proyecto
  104. 104. ¿Qué es un Work Item?Son consultables Para ver el estado del proyectoEstablecen vínculos Entre sí y con ficheros adjuntos
  105. 105. Work Items de AgileHistoria de usuario (User Story)Tarea (Task)Caso de pruebas (Test Case)Error (Bug)Problema (Issue)Paso compartido (Shared Step)
  106. 106. Work Items de CMMiRequisito (Requirement)Petición de Cambio (Change Request)Revisión (Review)Riesgo (Risk)Tarea (Task)Caso de pruebas (Test Case)Error (bug)Problema (Issue)Paso compartido (Shared Step)
  107. 107. Crear un Work Item1. Abrir VS2010 y conectar con una colección2. Menú Team > Add Work Item
  108. 108. Consultar Work ItemsExisten consultas predefinidas Mis Tareas Mis Bugs Mis Casos de Prueba Product Backlog Product PlaningY se pueden crear My Queries Filtrando desde VS2010
  109. 109. Asociar Work Items1. Abrir VS2010 y conectar con una colección2. Realizar una consulta3. Seleccionar un Work Item4. Click derecho New Linked Work Item Link to an Existing Item
  110. 110. EjercicioCrear un Work Item de cada tipo User Story Test Case Bug TaskAsociar La tarea a la historia El caso de prueba a la tarea El bug a la tarea
  111. 111. EjercicioCrear consultas de Work Items para Mostrar todos los bugs pendientes Mostrar todas las tareas finalizadas Mostrar todos los Work Items creados por el usuario actual
  112. 112. 5. Control de Versiones con TFS 2010 Team Foundation Server 2010
  113. 113. TFVCTeam Foundation Version Control Permite: gestionar el código de fuente de los desarrolladores crear y fusionar ramas (branches) bloquear (check-out) y desbloquear (check-in) resolución automática de conflictos básicos No admite varias referencias a un mismo fichero Permite hacer repositorio de documentos a través de SharePoint
  114. 114. TFVC TFVC es distinto de VSS Agrupa los cambios de varios ficheros como una unidad (changeset) No admite ficheros compartidos (pinned) Los cambios de VSS se agrupan en un changeset si no hay conflictos, difieren pocos minutos, son del mismo usuario y tienen el mismo comentario Las fechas del fichero se actualizan a la fecha de migración Las fechas originales se mantienen como comentariohttp://msdn.microsoft.com/en-us/library/ms253060.aspx#process
  115. 115. WorkspaceDirectorio local de trabajoMapeado SOLO a una carpeta del repositorioTipos: Público: Usable por cualquier usuario válido Privado: Sólo lo puede usar el dueño Limitado: Sólo el dueño puede hacer check inRecomendado: Un Workspace por Team Project
  116. 116. Roles de SeguridadTeam Project Settings Security Administrador Desarrollador Usuario Group Membership Usuarios de TFS Usuarios de WindowsTeam Members
  117. 117. ArtefactosCódigo FuenteWork ItemsChangeset Conjunto de cambios en un momento determinado Venta de cambios pendientes (View > Other Window) Ventana de Historia (View History > Track Changeset)Compilaciones (Builds)
  118. 118. Políticas de Check-inTeam Project Settings > Source Control Por defecto: Compilación satisfactoria Análisis de código Testing Tener asociado un work item Power Tools: Comentarios en el check-in Formato de ficheros/directorios Filtro por Work items permitidos
  119. 119. Gestión de la ConfiguraciónRama (Branch) Versión paralela de un mismo conjunto de ficherosEstantería (Shelve) Repositorio de código temporal (Pending changes)Etiqueta (Label) Marca asociada al código para identificarlo de manera colectivaFusión (Merge) Sincronización del código de dos ramasRelease Versión etiquetada lista para producción
  120. 120. Estrategias de BranchingSólo etiquetadoRama por release Release 1 v1.0, v1.1, … Release 2 v2.0, v2.1, …Rama por fase Main, Desarrollo, Pruebas, ProducciónRama por ciclo/funcionalidad Sprint 1, Sprint 2, …Rama por desarrollador
  121. 121. Estrategias de MergingChangeset Sólo un conjunto de cambiosFecha Todos los cambios hasta una fechaEtiqueta Todos los cambios en una etiquetaWorkspace Lo que haya en el workspace localÚltima Versión Recomendada
  122. 122. Integración GráficaView History > Track Changeset De dónde viene un changeset Vista jerárquica de ramas Vista lineal de tiempo Arrastrar y soltar Checkear el merge Refrescar el changeset tracking
  123. 123. ConflictosRol integrador Persona que realiza merges periódicos Resuelve conflictos Sólo se fusiona lo que esté completadoResolución automática Sólo si se puede hacer sin pisarse mútuamenteMerge Tool Navigate conflicts onlyElegir versión
  124. 124. Ejercicios1. Crear un proyecto nuevo2. Añadir el proyecto a control de código3. Hacer modificaciones del código4. Checkear desde dos perfiles distintos5. Visualizar los conflictos
  125. 125. Ejercicio1. Configurar la politica de check-in2. Check out y check in desde 2 perfiles3. Visualizar 1. Políticas no cumplidas 2. Histórico de cambios 3. Track changeset 4. Conflictos4. Shelvear un changeset5. Crear ramas de pruebas y de release6. Fusionar ramas
  126. 126. Ejercicio1. Acceder al Product Backlog2. Comprobar la query de work items3. Crear historias4. Acceder al Iteration Backlog5. Crear tareas6. Asignar recursos7. Asignar vacaciones y resolver sobrecarga8. Completar tareas y ver la velocidad
  127. 127. 7. Reporting en TFS 10 Team Foundation Server 2010
  128. 128. Informes2 tipos de informes Informes de Excel Team Project > Documents > Excel Reports Informes de Report Server Team Project > Reports35 ya creados en las plantillas de procesoBasados en 3 orígenes de datos
  129. 129. InformesTodo se puede usar para generar informes Work items Resultados de compilación Estadísticas de TFVC Resultados de pruebas Indicadores de calidad Indicadores de rendimiento Tests de cobertura …
  130. 130. InformesSe crean a partir de un almacén de datos ReportTfs_Coleccion Tfs_Warehouse Server Tfs_Analysis XLS
  131. 131. InformesTfs_Colección BD de la colección de proyectos + BD de configuración Optimizadas para consultas rápidas Poco prácticas para agregados Poco usadas para reporting
  132. 132. InformesTfs_Warehouse Modelo en estrella Generada a partir de la anterior Actualizada cada 2 minutos RunIntervalSeconds Servicios de control en IIS Adecuada para análisis Puede ser lenta
  133. 133. InformesTfs_Analysis Cubo OLAP Dimensiones y Medidas Generado a partir del Warehouse Actualizado cada 30 minutos – 2 horas IncrementalProcessIntervalSeconds Regenerado cada 24 horas FullProcessIntervalSeconds Optimizado para agregaciones
  134. 134. InformesOLAP (On-Line Analytical Processing) Agilizar la consulta de grandes cantidades de datos Base de Datos con estructura especial Estructura de Estrella o de Copo de Nieve Almacena la información jerarquizada Tabla de Hechos y Tablas de Dimensiones Cubo OLAP Admite operaciones “roll-up” y “drill-down” para agregar y desagregar los datos Suma, conteo, media, …
  135. 135. Informes¿Cuál es mejor? E Report S Server F OLAP Warehouse U E XLS R Colección OLAP Z O FLEXIBILIDAD Report XLS Server
  136. 136. Informes con ExcelInformes OLAP con Excel 2007/2010 Tabla pivote Conectada al Cubo OLAP Y crear gráficos con sus datos
  137. 137. Informes con ExcelInformes OLAP con Excel 2007/20101. Pestaña Data2. From Other Sources > From Analysis Services3. Indicar los datos de conexión4. Seleccionar la BD Tfs_Analysis5. Seleccionar el cubo o perspectiva al que conectar Cubo Team System (complejo) Otras prespectivas (Cobertura de código, Test, Builds,…) Sólo en SQL Server Enterprise6. Guardar la conexión en fichero ODC
  138. 138. Informes con ExcelImportar datos Tras conectar Tabla pivote y/o Gráfico pivote Pivote = Dinámicas Elegir campos a utilizar
  139. 139. Informes con ExcelCrear un informe OLAP ¿Cuántas historias de usuario y tareas están activas en el proyecto?1. Mostrar campos relativos a Work Items2. Seleccionar Work Item Count Como es un agregado aparecerá en Σ Valores3. Arrastrar Work Item State a Filtros4. Arrastrar Assigned To a Etiquetas de Filas
  140. 140. Informes con ExcelEditar un informe OLAP No es obligatorio crear uno nuevo Documentos > Excel Reports Pulsando cualquier celda se abre el editor Se pueden añadir gráficos pivote Menú de herramientas para tabla dinámica Se puede publicar directamente a Portal Publish > Excel Services
  141. 141. Informes con ExcelInformes de Colección con Excel 2007/2010 Utilizar las consultas de Work Items Nuevo en 2010 Permite crear informes Y listas de Work Items Pestaña Equipo Similar a Product Backlog.xlsx
  142. 142. Informes con ExcelCrear un informes de Work Items1. Crear o elegir una Query2. Botón derecho > Create Report in Excel Se convierten los Work Items a datos Excel Se ofrecen varios informes predefinidos3. Elegir el/los informes a crear Estado actual Tendencia Estos informes se guardan en hojas XLS Con una hoja índice
  143. 143. Portal de ProyectoSitio SharePoint MOSS WSS Dashboards 6 2 Reports Excel (.XLSX) .RDL Publicar XLS Services Librería de DocumentosMOSS Enterprise incluye 6 Dashboards Burndown, Quality, Bugs, Test, Build, My DashboardAmbos presentan menús para Crear WorkItems, Ficheros Excel y Copias de Dashboards
  144. 144. Portal de ProyectoSe pueden publicar informes Excel Desde el portal (librería de documentos) Desde Visual Studio Team Explorer Desde ExcelSi tenemos acceso a los Excel Services MOSS/MSS Podemos usar el Excel Web Access Web Part Para mostrarlos en el Dashboard
  145. 145. Informes con Report Server
  146. 146. Informes con Report Serverhttp://localhost/reportserverConsultable desde Visual StudioPero no puedo crear informes nuevos SQL Server Report Builder 2.0 Abrir la URL del ReportServer Crear y editar informes
  147. 147. 8. Integración Continua Team Foundation Server 2010
  148. 148. Integración ContinuaMartin Flower (2000)http://www.martinflower.com/articles/continuousIntegration.htmlLos miembros del equipo integran su trabajo Al menos cada día Manteniendo un único repositorio de código Mediante un proceso automatizado Verificando mediante tests Permitiendo despliegue automáticoNO es integrar en cada check-in
  149. 149. Integración Continua en TFS 2010 Se basa en Windows Workflow 4.0 Propiedades de configuración Se puede exportar otras propiedades nuestras Utiliza arquitectura de Controlador-Agentes Peticiones encoladas en un controlador de builds Que delega en un agente para que compile Ambos configurados desde el administrador de TFS Mejor si el agente está en otra máquina (CPU)
  150. 150. Servidor de BuildsSe encarga de la integración continuaSe puede instalar junto a TFSO de manera independiente
  151. 151. Arquitectura
  152. 152. ArquitecturaProceso de compilación1. Un Controlador recibe las peticiones de build y las encola2. El Controlador delega cada build en un Agente Para que ejecute la compilación Dependiendo del WWF de la definición del build3. El Agente compila y vuelca los binarios a un Drop Server Carpeta compartida4. Y publica las variables de compilación en Symbol Server Archivos pdb
  153. 153. WWF 4.0Windows Workflow FoundationAPI para diseñar procesosActividadesParalelizableInvocamos a MSBuild desde WWF
  154. 154. Modos de IntegraciónGated check-ins Asegurar que todos los check-ins compilan No subir directamente a TFVC Mi código se “checkea” a estantería (aplazado) Se fusiona con la última versión de repositorio Se lanza el build Si la compilación funciona se sube a repositorio
  155. 155. Modos de IntegraciónGated check-ins Se pueden disparar manualmente Se pueden desaplazar los cambios si hay errores Si no hay errores, se añade “***NO_CI***” a la descripción del changeset
  156. 156. Modos de IntegraciónBuilds Privados Similar a los gated check-in Pero sin subir a repositorio Sin generar número de compilado Sin asociar a changeset ni Work Item Para casos concretos Compilar cambios en el instalador Lanzar tests que dependen del servidor de builds Tienen políticas de retención y numeración propias Los resultados solo los ve el que lo lanza
  157. 157. Configuración
  158. 158. ConfiguraciónSe configura mediante propiedades Expuestas en el wizard de definición del build Integradas con el flujo de compilación Condiciones de disparo Qué compilar Directorio de salida …Borrado de builds Se permiten borrar partes concretas de un build Detalles, tests, salida, etiquetas, símbolos
  159. 159. Build ExplorerMenú Build > View BuildsDesde Team Explorer > Builds
  160. 160. Build ExplorerMuestras los builds terminados y en colaSe pueden pausar o cambiar la prioridadSe pueden parar los que estén en ejecución ycancelar/postponer los pausadosSe pueden ver/eliminar los detalles de loscompletadosY se puede indicar la cualidad del build "Released", "Rechazado", "Listo para testear", ...
  161. 161. Encolado de BuildsSe debe ejecutar manualmente para builds nuevos Queue New Build… Configurable la prioridad y el Drop FolderEl resto de veces se puede disparar Fecha/hora concreta, al hacer un check-in, …Latest sources with shelvesets Es un private build Si se marcar check-in tras compilar es un gated check-inTras la ejecución se muestra el Build Details
  162. 162. Encolado de Builds
  163. 163. Encolado de BuildsGeneral Nombre y descripción (3 líneas)Trigger Manual Integración Continua (cada check-in) Efectiva pero costosa Builds acumulativos (rolling) Similar a CI pero por bloques Se puede indicar tiempo mínimo entre builds Gated check-ins Compilar cada check-in Se debe reconciliar el Workspace por cambios pendientes Planificado (Scheduled)
  164. 164. Encolado de BuildsWorkspace Mapeo de directorio local con repositorio Por defecto: $/Team Project <==> $(SourceDir) Cambiarlo a los ficheros q se necesitenBuild defaults Controlador y Drop Folder Deben tener permiso el usuario y el agente Máximo de 260 caracteres para las rutasProcess WWF 4.0 que controla el build (creación de nuevos builds)Retention Policy Para liberar espacio en disco Los build privados tienen políticas propias
  165. 165. Build Details
  166. 166. NotificacionesModelo de eventos para enviar mailsVS 2010 > TFS Tools > Build NotificationLanza pop-ups de resultadosSe dispara con los gated check-insBotón derecho > options mientras se ejecutaAlert Explorer de los Power Tools Team > Project Alerts Team > Alerts ExplorerSólo quien las crea puede borrarlas/editarlas
  167. 167. NotificacionesAlertas yNotificaciones
  168. 168. Plantillas de Compilación3 predefinidas DefaultTemplate: Para proyectos TFS10 UpgradeTemplate: Para proyectos TFS08 LabDefaultTemplate: Para laboratorios de pruebasSe guardan en $TeambuildProcessTemplatesSe puede crear una nueva Desde un build definition Process > Show details > New
  169. 169. DefaultTemplate1. Calcular el build number2. Crear el drop folder3. Crear el build agent y pasarle el control4. Inicializar el Workspace5. Obtener el SRC y etiquetar6. Compilar7. Lanzar los tests8. Publicar símbolos (pdb)9. Copiar la salida al drop folder10. Checkear los gated check-ins
  170. 170. DefaultTemplate Los parámetros se configuran en la definición Sección Process1. Required Items to build > configurations to build Cuantas menos mejor
  171. 171. DefaultTemplate2. Basic Build Number Format: editable con macros Automated tests: no sensible al case Clean Workspace: All, outputs, none Logging verbosity: Minimal...Diagnostic Perform Code Analysis: Más rápido si no se ejecuta3. Advanced Agent settings: Detalles en la consola administrativa Get Version: para compilar una específica Label Sources: falso para mejorar el rendimiento MSBuild Arguments
  172. 172. MSBuildConfiguraciones de despliegue /p:DeployOnBuild=True /p:DeployTarget=MsDeployPublish /p:CreatePackageOnPublish=True /p:MSDeployPublishMethod=InProc /p:MSDeployServiceUrl=localhost /p:DeployIisAppPath="Default Web Site/pagina" /p:UserName=dominiousuario /p:Password=contraseña
  173. 173. Despliegue de Aplicaciones Web1. Asegurarse que el servidor acepta despliegues Web Deployment Tool IIS > Management > Enable Remote Connections Servicio de Gestión WMSVC arrancado2. Configurar el método de publicación /p:MSDeployPublishMethod=WMSVC3. Encolar el build4. Comprobar que se ha publicado
  174. 174. Creación de una plantilla de builds Desde la creación de un build definition Opción Process Mostrar detalles Crear una plantilla nueva como copia de otra O activar una subida a repositorio
  175. 175. Creación de una plantilla de builds Se pueden crear parámetros personalizables1. Crear un argumento de proceso de tipo In2. Añadir el argumento al workflow 1. En el argumento Metadata pulsar “...” 2. Añadir los argumentos a parametrizar 3. Categoría: secuencia en que se van a solicitar 4. View parameters when = Allways
  176. 176. Creación de una plantilla de builds
  177. 177. Creación de una plantilla de builds3. Configurar las actividades Asociar las propiedades con los argumentos4. Ya se pueden usar en el flujo con su nombre
  178. 178. 9. Power Tools yPlantillas de ProcesoTeam Foundation Server 2010
  179. 179. TFS Power ToolsHerramientas de mejora de la productividad Explorador de alertas Backup de TFS Analizador de buenas prácticas Políticas de Check-in Editor de Procesos Mejoras del Team Explorer Comandos de consola y extensiones de Windows Team Members Plantillas de Work Items
  180. 180. TFS Power ToolsExplorador de Alertas Team > Alerts Explorer Crear alertas personalizadas En base a eventos predefinidos Filtrando por query Y enviar mensajes Formato Texto, HTML y SOAP
  181. 181. TFS Power ToolsBackup de TFS TFS Admin Console > Team Foundation Backups Backup Plan Restore Wizard Inicio > TFS 2010 Power Tools > TFS Backup Plan
  182. 182. TFS Power ToolsAnalizador de buenas prácticas Inicio > TFS 2010 PT > Best Practices Analyzer
  183. 183. TFS Power ToolsAnalizador de buenas prácticas Verificar que TFS está bien configurado Identificar problemas Guardar copias de la configuración Obtener datos de utilización Ver tendencias de uso y crecimiento de las tablas …
  184. 184. TFS Power ToolsPolíticas de Check-in Añadidas al Team Explorer Team Project Settings > Source Control Settings Que compile Que se escriba un comentario Que se suba un tipo de ficheros Que pasen ciertos tests Que se asocie con un Work Item Filtrado de Work Items válidos
  185. 185. TFS Power ToolsMejoras del Team Explorer Menús y funciones para encontrar ficheros Por estado y usando comodines Abrir en carpeta de Windows Explorer Etiquetar desde Source Control Explorer
  186. 186. TFS Power ToolsTeam Members Organizar usuarios en sub-equipos IM, email, compartir queries,…
  187. 187. TFS Power ToolsExtensiones de WindowsPermite utilizar TFS desde las carpetas de WindowsSin necesidad de Visual Studio
  188. 188. TFS Power ToolsPlantillas de Work Items Team > Work Item Templates1. Crear una plantilla (Capture Template)2. Rellenar los campos a establecer3. Crear Work Items desde la plantilla
  189. 189. TFS Power ToolsEditor de procesos Tools > Process Editor Gestión de tipos de Work Item Plantillas de Proceso Listas globales Explorador de campos de Work Items
  190. 190. TFS Power ToolsEditor de procesos
  191. 191. TFS Power ToolsEditor de procesos
  192. 192. TFS Power ToolsEditor de procesos
  193. 193. Plantillas de Proceso1. Descargar la plantilla de proceso Process Template Manager Team > Team Project Collection Settings
  194. 194. Plantillas de Proceso2. Abrir la plantilla con el editor ProcessTemplate.xml
  195. 195. Plantillas de Proceso3. Editar las distintas secciones Work Items Áreas e Iteraciones Grupos y Permisos Labs Builds Control de Código Portal Reports
  196. 196. Plantillas de Proceso4. Subir la plantilla a TFS Process Template Manager Carpeta que contiene ProcessTemplate.xml
  197. 197. Plantillas de Proceso¿Qué hay en un plantilla de proceso? Ficheros XML Directorios Plantillas de documento
  198. 198. Plantillas de Proceso
  199. 199. Muchas GraciasÓliver Centeno Álvarez

×