180 likes | 296 Views
Einführung von Team System Ein Vorgehensvorschlag. Toni Steimle 25.August 2008. A: Wird das Projekt heute fertig? B: Mmmh, voraussichtlich morgen. A: Das haben Sie doch gestern schon gesagt! B: Wir können ihnen doch auf die gleiche Frage heute keine andere Antwort geben!. Zielsetzungen.
E N D
Einführung von Team SystemEin Vorgehensvorschlag Toni Steimle 25.August 2008
A: Wird das Projekt heute fertig? B: Mmmh, voraussichtlich morgen. A: Das haben Sie doch gestern schon gesagt! B: Wir können ihnen doch auf die gleiche Frage heute keine andere Antwort geben!
Zielsetzungen • Mögliches Vorgehen für Einführung von Visual Studio Team System kennenlernen • Wichtige Aspekte und Fallstricke für Einführung kennenlernen • Konkrete Erfahrungen und Beispiele kennen
Beispiel-Szenarios für Einführung Szenario Neues Bankteam • Bank, .net Team mit 4 Entwickler und 2 Externen • .net immer mehr nachgefragt • Team übernimmt kritisches Projekt • Heute kaum Teamarbeit, keine Versionsverwaltung • Entwickler bekommen einfach Spezifikationen Szenario ERP Hersteller • Software Unternehmen mit Standardsoftware • 14 Entwickler vor Ort, 12 Entwickler Nearshore • Halbjährliche Releases • Weekly Builds, Ansätze von automatischem Testen • RUP ähnliches Projektvorgehen • Qualitätsproblem
Schrittweises Vorgehen im Überblick Basisinfrastruktur Versionskontrolle Entwicklung Projekttemplates Build Automatisation Test Automatisation Code Metriken und Richtlinen Issue Management Projektreports
Nachverfolgbarkeit und Transparenz Basisinfrastruktur Versionskontrolle Entwicklung Projekttemplates Build Automatisation Test Automatisation Code Metriken und Richtlinen Issue Management Projektreports
Kontinuierliche Integration Schwerpunkt dieser Präsentation Basisinfrastruktur Versionskontrolle Entwicklung Projekttemplates Build Automatisation Test Automatisation Code Metriken und Richtlinen Issue Management Projektreports
KontinuierlicheIntegration – kurz vorgestellt Vorteile • Integrations-Probleme werden laufend entdeckt und behoben – nicht erst kurz vor einem Meilenstein • frühe Warnungen bei nicht zusammenpassenden Bestandteilen • konstante Verfügbarkeit eines lauffähigen Standes für Demo-, Test- oder Vertriebszwecke • Probleme/Risiken • Build Geschwindigkeit im Vergleich zu Check-in Frequenz
„People matter most“ Agiles Projekt- management User Centred Design Test Driven Development Patterns Basisinfrastruktur Versionskontrolle Entwicklung Projekttemplates Build Automatisation Test Automatisation Code Metriken und Richtlinen Issue Management Projektreports Schulen, Coachen, Mitarbeiten
Schritt 1: Basisinfrastruktur Basisinfrastruktur Versionskontrolle Entwicklung Projekttemplates Build Automatisation Test Automatisation Code Metriken und Richtlinen Issue Management Projektreports
Basisinstallation Onsite Standort / Active Directory Offshore Standort / Active Directory Build Server TFS DB TFS Proxy 10 Visual StudioClients TFS APP 15 Visual StudioClients DMZ Sharepoint TS Web Access TFS Web Server TFS Fallback
Schritt 2:Versionskontrolle Basisinfrastruktur Versionskontrolle Entwicklung Projekttemplates Build Automatisation Test Automatisation Code Metriken und Richtlinen Issue Management Projektreports
Versionskontrolle Themen • Konzepte von Versionverwaltung: Labeling, Branching, Merging, Shelving, Changesets, Workspaces, Policies • Aufteilung Teamprojekt, Solutions und Projekten • Verzeichnisstrukturen • Migration von Versionsverwaltungen • Versionsverwaltung von Non-Sourcecode • Branching und Merging Strategien • Einbindung externer Komponenten
Versionskontrolle Aufteilung Prozesstemplate Buildprozess Assembly
Schritt 3:Build Automatisation Basisinfrastruktur Versionskontrolle Entwicklung Projekttemplates Build Automatisation Test Automatisation Code Metriken und Richtlinen Issue Management Projektreports
Themen Builds • Buildstrategie • Terminiert • Kontinuierlich • Kombination • Buildprozess optimieren • Builds per Branch • Inkrementelle Builds und Smoke Testing • Automated Deployment • Externe Komponenten
Zusammenfassung • Manchmal hat man nur eine Chance • In Schritten vorgehen • Team steht im Mittelpunkt • Zuerst lernen dann verbessern