Der TFS in der Praxis
Transcription
Der TFS in der Praxis
Der TFS in der Praxis Erfolgreiches Projektmanagement bei Zühlke Der TFS in der Praxis © Zühlke 2008 Agenda • Warm-Up – Kennenlernen, Zielsetzung • Motivation – Was bedeutet Projektmanagement eigentlich? • Der TFS in der Praxis – Wie unterstützt der TFS das Projektmanagement und die Entwickler? • Wrap-Up – Zusammenfassung und Fragen Der TFS in der Praxis Folie 2 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Warm-Up Der TFS in der Praxis Folie 3 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Vorstellung Teilnehmer • Ihr Name • Ihr Unternehmen / Ihre Branche • Ihre Aufgaben • Ihre Erfahrungen in Bezug auf TFS • Ihre persönlichen Erwartungen an den Workshop Der TFS in der Praxis Folie 4 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Consulting Development Integration Wir beraten, entwickeln und integrieren aufgabengerecht – mit überzeugender Qualität und Wirtschaftlichkeit. • Mehr als 5000 Projekte in Europa realisiert • CHF 62 Mio. Umsatz • 300 Mitarbeiter • In Zürich, Bern, Frankfurt, Hannover, München und London • Gründung 1968, im Besitz von Partnern • ISO 9000 und 13485 zertifiziert Der TFS in der Praxis Folie 5 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Der TFS bei Zühlke 12/2008, 9/2006, 7/2006, 2005, TechEd Zühlke Camp Erstes Projekt Vielzahl interner und KundenProjekte Der TFS in der Praxis Folie 6 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Viele Einsatzgebiete bei Zühlke EntwicklungsProjekte Embedded Software Unterstützung Spezielle Projekte Installation Adaption V-Modell XT (DE) .NET Testframework Prozessdefinition Testfallerstellung Webanwendung Training, Coaching Zühlke ProzessDefinition Der TFS in der Praxis Folie 7 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Ziele & Aufbau Der Workshop hat das Ziel, zu vermitteln, • wie der TFS das tägliche Geschäft im Projektmanagement und in der Entwicklung unterstützen kann, • wie der TFS auf die eigenen Bedürfnisse angepasst werden kann. Aufbau des Workshops • Einleitung in Themengebiete durch Präsentation • Demonstration der Praxis direkt am TFS • Hands-On Übung in kleinen Gruppen Der TFS in der Praxis Folie 8 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Motivation Der TFS in der Praxis Folie 9 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Übung 1: PL Aufgaben Brainstorming • Was sind die 10 wichtigsten Aufgaben eines Projektleiters? Der TFS in der Praxis Folie 10 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Übersicht TFS Was bietet der TFS? • Zentrale Datenhaltung • Anpassbarkeit • Integrierter Prozess • • Integriertes Tracking Projektleitung eng verzahnt mit Team „Der Team Foundation Server stellt eine Plattform zur Verfügung, die alle relevanten Daten für die effiziente Abwicklung von Entwicklungsprojekten aufnehmen und aufbereiten kann. Es gibt unterschiedliche Front-Ends, die auf die Daten zugreifen können. Die einzelnen Projekt-Rollen werden dabei in Ihrer gewohnten ToolUmgebung optimal unterstützt. Die prominentesten Front-Ends sind das Visual Studio und der Team System Web Access.“ Matthias Seeland, Zühlke Der TFS in der Praxis Folie 11 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Übersicht TFS … Sharepoint TFS Rep. Services Der TFS in der Praxis Folie 12 SQL Server Hansjörg Scherer Marco Balzarini © Zühlke 2008 Übersicht TFS Visual Studio 2005/2008 Office System MS Excel Plug-in VS Packages MS Project Plug-in Command Line … IE … Team Foundation Object Model (Managed API) ASP.NET WS 2003/2008 SOAP / HTTP(S) Team Foundation Integration Services Eventing and Notification Service Linking Service Registration Service Team Foundation Data Services Work Item Service WSS 3.0 Team Portal Web Parts RepSvcs Source Code Control Service Build Data Services Reports MSSQL/TCP SQL2005/2008 Der TFS in der Praxis Folie 13 Team Foundation Data-Tier Work Items SCC Methodology Build Data Build Results Test Results Code Coverage Static Analysis Warehouse Hansjörg Scherer Marco Balzarini © Zühlke 2008 Der TFS in der Praxis Der TFS in der Praxis Folie 14 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Der TFS in der Praxis • Installation und Deployment • Teamprojekte bereitstellen • Source Control • Work Items & Work Item Types, Prozess • Share Point Portal • Reporting • Build & Test Management • Alerts • Tools und Gadgets Der TFS in der Praxis Folie 15 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Installation und Deployment • Zeitbedarf ca. 1 Tag • Trennung IIS und SQL-Server empfohlen • Installation von 2 Systemen empfohlen (Test / Produktiv) • Backup & Restore einrichten und proben – IIS (TFS, WSS) – SQL-Server • Tipp: Streng nach Anleitung vorgehen. Der TFS in der Praxis Folie 16 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Installation und Deployment Single Server Deployment Dual Server Deployment Der TFS in der Praxis Folie 17 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Installation und Deployment TFS Deployment Struktur (mit TFS Proxy Server) Der TFS in der Praxis Folie 18 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Teamprojekte bereitstellen Das Team-Projekt ist die zentrale Schaltstelle des Entwicklungsprozesses. • Anlegen eines Team-Projekts • Security und Group Membership • Areas und Iterations Der TFS in der Praxis Folie 19 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Übung 2: Team Projekt administrieren • Einrichten von Benutzern • Definieren von Areas und Iterationen Der TFS in der Praxis Folie 20 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Source Control TFS Source Control ist: • Die Ablösung von Visual Source Safe • Versionsverwaltung für Dateien • Merge Funktionalitäten für Text Dateien Der TFS in der Praxis Folie 21 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Source Control Migration VSS auf TFS Beispiel: Visual Source Safe Migration (Quellcode) • VSSConverter.exe von Microsoft – 2 Modis für Analyse und Migration – Migration inkl. Check-In History Change Sets Erkennung – User Mapping Der TFS in der Praxis Folie 22 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Source Control Source Verwaltung im TFS • Source Control Explorer • Work Spaces • Check-In/Out und Merging • Changesets und Shelvesets • Source Control Explorer Settings • Checkin Policies • Labels • Branching und Merging Der TFS in der Praxis Folie 23 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Übung 5: Source Control • Workspace kreieren • New Solution zum Source Code hinzufügen • Check-in / Check-out mit Work-Item Tracking • Check-in Policies einschalten • Branch & Merge Der TFS in der Praxis Folie 24 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Workitems & Template Ein Work Item besteht aus • einer Menge von Datenfeldern • einer Benutzeroberfläche • einem Workflow Der TFS in der Praxis Folie 25 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Workitems & Template Tracking •z. B. Bug, Task, Change Request Historie •z. B. Meilenstein, Liefergegenstand Traceability •z. B. zu Anforderungen, Testfällen, Change Sets Reporting •z. B. Issues, Tasks, Goals, Der TFS in der Praxis Folie 26 Hansjörg Scherer Marco Balzarini © Zühlke 2008 SRCUM Crash-Course Bild verfügbar auf www.mountaingoatsoftware.com/scrum Der TFS in der Praxis Folie 27 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Workitems & Template Am Beispiel von Scrum Product backlog item Sprint (Iteration) BUG Sprint Retrospective Weitere mögliche WIT Sprint backlog item Der TFS in der Praxis Folie 28 Test Case … Hansjörg Scherer Marco Balzarini © Zühlke 2008 Workitems & Template • Verschiedene TFS Prozess Templates sind verfügbar (MSF Agil, MSF CMMI, SCRUM, RUP etc.) • Ein Template ist eine Ordnerstruktur mit XML Dateien • Prozess Templates können angepasst werden – Als Template (XML) mit Template Editor – Als Instanz mit Process Template Editor pro Projekt Der TFS in der Praxis Folie 29 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Übung 3: Work Item Playground • Basierend auf dem SCRUM Prozess sollen die folgenden Elemente erstellt werden: – 4 Product Backlogs – Bestehendes Ressourcefile laden und anpassen – Basierend auf bestehenden Ressourcefile neues Ressourcefile für eine Sprache kreieren – Übersetzungsvorschlag von Onlinedienst beziehen – Differenzen bereinigen – 3 Sprints a 2 Wochen Dauer • Start Sprint 1 mit 4 Sprint Backlogs Items • Sprint 1 durchspielen (Restaufwand etc.) • Hinzufügen eines Review-Feldes auf dem Sprintbacklog Item Der TFS in der Praxis Folie 30 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Share Point Portal Das Share Point Portal bietet • Zentrale Ablage von Dokumenten • Einfacher Check-In/Check-Out Menchanismus Der TFS in der Praxis Folie 31 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Share Point Portal Dokumentenablage Dokumenten Management (pro/contra) WSS 3.0 (Windows Sharepoint Services) + Zugriff via Webbrowser (Kein VS erforderlich) + Versionierung mit WSS + Dokumenten Properties darstellen - Integration mit Label und Branches Version Control + Gleiche CM Basis wie Source Merging/Branching + Direkte Links zu Work Items möglich - Nur read only Zugriff via Web + Mit TFS Powertools auch aus dem Fileexplorer ~ Abgleich mit WSS möglich (TFS Migration and Synchronization Toolkit) Der TFS in der Praxis Folie 32 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Reporting Reports • Können alle Daten aus den TFS-Datenbanken verwenden • Queries für das Tagesgeschäft • Excel für schnelle Auswertung • Reporting Services für standardisierte Reports • Tools von Drittherstellern Der TFS in der Praxis Folie 33 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Reporting Quelle: MSDN Der TFS in der Praxis Folie 34 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Reporting Flexibel eingesetzt Queries •Schnell erstellt, flache Listen, keine komplexen Abfragen Tagesgeschäft MS Excel •Schnell erstellt, flache Listen, komplexere Abfragen, Grafiken Tagesgeschäft MS Project •Schnell synchronisiert, zeitliche Darstellung Tagesgeschäft Reporting Services •Zeitaufwändig, komplexe Reports Informationsmanagement Der TFS in der Praxis Tools von Drittherstellern •… Folie 35 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Übung 4: Reporting • Erstellen eines Reports der alle „Done“ Sprint Backlog Items. Die Informationen „ID“, „Title“ und „Review Note“ sollen dargestellt werden. • Exportieren eins Reports nach Excel für ein ReviewMeeting Der TFS in der Praxis Folie 36 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Build & Test Management Die Build Automation diagnostiziert regelmässig den Gesundheitszustand des Projekts • Team Build basiert auf MS Build • Die Datei TFSBuild.proj enthält alle wesentlichen Einstellungen • Assistenten unterstützen bei der Erstellung von Builds • Team Build integriert mit Work Items, Code Coverage, Code Analysis und Test Cases Der TFS in der Praxis Folie 37 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Build & Test Management Installation eines Build-Servers • Enthalten auf dem TFS-Installationsmedium (Optional) • Test Edition für Test während eines Builds • Developer Edition für Code-Analyse während eines Builds Der TFS in der Praxis Folie 38 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Build & Test Management Anlegen von Builds • Build-Definitionen • Trigger • Build Agents Continous Integration • Inklusive Tests und Code-Analyse Der TFS in der Praxis Folie 39 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Build & Test Management Testautomation und -management sind die Basis für die kontinuierliche Qualitätssicherung Testarten • Unit Tests und Code Coverage • Web Tests • Load Tests • Ordered Tests • Manual Tests Test Management Der TFS in der Praxis Folie 40 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Übung 5: Automatisierungen • Einrichten eines automatisierten Builds (optional mit UnitTests) für Localizer Solution. Der TFS in der Praxis Folie 41 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Alerts Alerts können u.a. auf die folgenden Ereignisse definiert werden. • Work Item Mutationen • Check In Notifikationen – Check In allgemein – Policiy overrides • Build Events (Fail, Success etc) • Portal Notifikationen Der TFS in der Praxis Folie 42 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Tools und Gadgets • TFS Admin Tool 1.3 – Team Projekt Rollenzuweisung (TFS, WSS, Reporting Services) – www.codeplex.com/tfsadmin • TFS Powertools – – – – – – Alert Editor Windows Shell Integration Build Notification Process Template Editor Check-In Policy Pack uvm. Der TFS in der Praxis Folie 43 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Tools und Gadgets • TFS Migration and Synchronization Toolkit – WI und SourceControll synchronisieren (bidirektional) – www.codeplex.com/MigrationSyncToolkit • TFS Migration Tool for Rational® ClearCase® – Basierend auf dem TFS Migration and Synchronization Toolkit • Team Foundation Sidekicks 2.2 – Code Review – Shelveset, Labels, History, Workspace, Status • TeamCompanion 2.0 – Outlook Integration für Reports und WIQ – Offlinefähig Der TFS in der Praxis Folie 44 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Wrap-Up Der TFS in der Praxis Folie 45 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Warp-Up Source Control Best Practices • Verknüpfung von Changesets mit Work Items über Policies empfehlenswert • Branch-/Merge-Strategie festlegen und befolgen • Disziplin im Offline-Modus walten lassen – Vermeiden von Umbenennungen und Verschiebungen • Baseless Merges sind nur von der Kommandozeile möglich und sparsam zu verwenden Der TFS in der Praxis Folie 46 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Wrap Up Work Item & Templates Best Practices: Evaluation von Process Templates • Analyse eigenes Vorgehen • Analyse der verfügbaren Prozess-Templates • Auswahl eines geeigneten Prozess-Templates • Identifikation von Quickwins • Moderate Anpassung des Templates (WIT-Feldern / Prozess) • Projekt durchführen • Review / Lessons learned Der TFS in der Praxis Folie 47 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Wrap Up Work Item & Templates Best Practices beim definieren von Work Item Types • Eindeutige Feldnamen / Ref-Namen (Namen können nachträglich nicht geändert werden!) • Festlegung des Reportings gut überlegen, kann nicht mehr geändert werden! • Nicht (mehr) genutzte Felder in Formular ausblenden • Custom Controls nicht in Web-Access verfügbar • Keine Formatierung von „Description“-Feldern • WITs nicht auf dem Server bearbeiten, besser in SourceControl halten • Statusmaschine übersichtlich halten! • „Batch“-Bearbeitung über (XML-) Editor, Einzelbearbeitung mit Process Editor • Der TFS in der Praxis Folie 48 Hochladen des XMLmit Process Editor wegen Validierung Hansjörg Scherer Marco Balzarini © Zühlke 2008 Wrap Up Share Point Portal Best Practices für die Dokumentenablage • Einfache Möglichkeit ein Projekt Portal zu erstellen. • Wenn Offline Verfügbarkeit gefordert ist, können die Dokumente im SourceControl abgelegt werden. • Abhängig von Projektart und Mitarbeitern Der TFS in der Praxis Folie 49 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Wrap Up Reporting • Weitreichende Möglichkeiten für komplexe Reports • Einfache Reports sind schnell zu erstellen • Komplexe Reports erfordern Know-How der Reporting Services • „Einfache“ Reporting Möglichkeiten • Technologie wird nicht verborgen • Datawarehousing-Wissen sehr hilfreich • In grossen Projekten ist ein dedizierter „Toolsmith“ empfehlenswert Der TFS in der Praxis Folie 50 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Wrap Up Build & Test Management Best Practices Testing • Sehr gute Integration ins Team System • Umfangreiche Testmöglichkeiten nutzen! • Tester Edition für viele Testarten erforderlich, auch auf dem Build Server • Strukturierung von Tests in der Tester Edition für Testmanagement nutzbar Der TFS in der Praxis Folie 51 Hansjörg Scherer Marco Balzarini © Zühlke 2008 Quellen Brian Harry •http://blogs.msdn.com/bharry/default.aspx Rob Caron •http://blogs.msdn.com/robcaron/default.aspx Team WIT Tools •http://blogs.msdn.com/teams_wit_tools/default.aspx Patterns & Practices Der TFS in der Praxis Folie 52 •http://www.codeplex.com/VSTSGuidance Hansjörg Scherer Marco Balzarini © Zühlke 2008