Upload
daniel-fisher
View
29
Download
0
Embed Size (px)
Citation preview
Design, Entwicklung und Tests
Daniel Fisher(lennybacon)newtelligence AG
Personalisierte Produktivität
Studenten
Hobbyists
Consultants
Solo ProfessionalsEnterprise Devs
Architects
Testers
Project Managers
Teil-Zeit
VB6 Devs
Web Professionals
Das Unternehmen
• Verpasste Geschäftsmöglichkeiten
• Schlechte Reputation
• Alles für die Katz!
DeveloperDeveloper ArchitektenArchitekten IT OperationsIT Operations TesterTester
QA ManagerQA ManagerDevelopment ManagerDevelopment Manager
CXOCXO
Projekt ManagerProjekt Manager
Das Projekt Management
• Lücken in der Kommunikation
• Team ist „disconnected“
• Tracking, nicht Managing
• Prozess-Änderungen sind schlecht bis garnicht möglich
Projekt ManagerProjekt Manager
Die Architekten
• Developer arbeiten nicht mit “architectural guidelines”
• Deployment Probleme werden zu späht bedacht
• Modeling Tools nicht Ideal– Positiv: Gut zur
Dokumentation– Negativ: round-tripping, Gut
zur planung aber nicht zur Entwicklung von Softwaresystemen
ArchitektenArchitekten
Infrastruktur Infrastruktur ArchitektenArchitekten
Die Entwickler
• Verschiedene Tools für verschiedene Aufgaben
• Wissen verteilen ist schwer– Best practices– Häufige Fehler
• Security
VS05 Pro usersVS05 Pro users
ISVsISVs
Web developersWeb developers
VB6 usersVB6 users
VSEA 2003 usersVSEA 2003 users
Die Tester
• Keine Built-in Test-Tools in Visual Studio
• Test sind oft nicht Teil des Projekt-Lifecycle
• Kein integriertes Reporting/Tracking:– “Hab ich das schon …?”– “Haben wir weniger Bugs
als Gestern?”
VS05 Pro usersVS05 Pro users
ISVsISVs
Web developersWeb developers
VB6 usersVB6 users
TestersTesters
VSEA 2003 usersVSEA 2003 users
Das Team
• Verschiedene Tools …
• …aber die gleichen Daten!
• Team-weiter Statusreport?– Auf Papier?
• Einarbeitung neuer Team-Mitglieder?
IT OperationsIT Operations
DeveloperDeveloper
Projekt ManagerProjekt ManagerArchitektenArchitekten
TesterTester
Visual Studio Team System
Voraussagbarkeit
Zuverlässigkeit
Qualität
Sichtbarkeit
Planbarkeit
SolutionArchitekt
ProjectProjectManagerManager
TesterTesterDeveloperDeveloper
InfrastructureArchitekt
Team System Prinzipien
Produktivität•Bekannte und neueTools•Kleine Lernkurve
Integriert•F5 Integration•Daten und Ergebnisse
Erweiterbarkeit•Eigene Methoden•Drittanbieter Tools
Visual Studio Team System
Version Control
Work Item Tracking
Team Reporting
Project Portal
Visual Studio
Team FoundationIntegration 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 Architect
Static Code Analyzer
Code Profiler
Unit Testing
Code Coverage
Visio and UML Modeling
Team Foundation Client (includes CAL)
Visual Studio Professional Edition
Load/Web Testing
Manual Testing
Test Case Management
Application Designer
Logical Datacenter Designer
Deployment Designer
Visual Studio
Team DeveloperVisual Studio
Team Test
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
Team Foundation
Team Foundation
• “Normal Weiterarbeiten wie zuvor” – Team Foundation arbeitet im Hintergrund
• Daily/Nightly Builds
• Project Portal für alle Beteiligten
DevelopersDevelopers
ArchitectsArchitects Project ManagersProject Managers IT OperationsIT Operations
TestersTesters
Work Items
Wor-Items erstellen mitMicrosoft Excel
Wor-Items erstellen mitMicrosoft Excel
Work-Items anzeigen inVisual Studio
Work-Items anzeigen inVisual Studio
Work-Items zu Resources zuordnen mitMicrosoft Project
Work-Items zu Resources zuordnen mitMicrosoft Project
Projektstatus inMicrosoft Excel oder
Microsoft Project
Projektstatus inMicrosoft Excel oder
Microsoft Project
Reporting
Build Server
Project Portal
SharePoint-basedProject Portal
SharePoint-basedProject Portal
Project Portal
SharePoint-basedProject Portal
SharePoint-basedProject Portal
Team Foundation
• Work-Item tracking– Einfache integration in
bestehende Prozesse– Eigene Prozesse
integrieren – Fields, Forms, States, Rules
– Verknüpfungen – bugs, reports, artifacts
– Benachrichtigungen• Source Code Control
– In der IDE– Integriertes automatisches
Check-in – Scalierbar und Robust– Parallel-Entwicklung– Benachrichtigungen
• Build automation– Daily/Nightly Build-Scripts– Berichte– Integriert
• Metrics warehouse– Automatische
Datensammlung– OLAP Reports
• Projekt portal– High-Level-Informationen an
Zentraler Stelle – Web-Zugriff auf Work-Items– WSS based
Team Architect
Team Architect Edition
• Application Designer– “Whiteboard” für “Application
design”– Validatierung/Zusammenspiel mit
Logical Datacenter Designer
• Logical Datacenter Designer– Eingenschaften und
Einschränkungen festlegen– SDM generation and compiler– Click-once Unterstützung
• Deployment Designer• Validation Engine
ArchitektenArchitekten
Infrastruktur Infrastruktur ArchitektenArchitekten
Logical Infrastructure Designer
Services assignedto logical infrastructure
Services assignedto logical infrastructure
Architecture validatedagainst operational
settings and constraints
Architecture validatedagainst operational
settings and constraints
Class Designer
Class Designerand two-way code synch
(part of VS Standard and above)
Class Designerand two-way code synch
(part of VS Standard and above)
Team Developer
Team Developer Edition
• Integriert– Code Profiler– Unit Testing– Code Coverage– Analysis Tools
• Static und Dynamic
• Prozess-Getriebene Entwicklung
• Code Analysis– Mit jedem Build
VS05 Pro usersVS05 Pro users
ISVsISVs
Web developersWeb developers
VB6 usersVB6 users
VSEA 2003 usersVSEA 2003 users
Static Code Analysis
Static Code AnalyzerStatic Code Analyzer
Code Coverage
Code CoverageCode Coverage
Unit Testing
Integrated Unit TestingIntegrated Unit Testing
Change ManagementCheck In
“Shelve”work in progress
“Shelve”work in progress
Build rules enforcedduring check-in
process
Build rules enforcedduring check-in
process
Team Developer Edition• Static code analysis
– Managed - FxCop – Native – PREfast
• Code profiling– Instrumented – IceCAP (Windows Base, SQL Server…)– Sampling – LOP, (Xbox, …)– Ansicht der object allocation (GC)– Caller-callee, callstack, und Funktionsansichten
• Code coverage– Basic Block Coverage
• Application Verifier– Mehr: Michael Willers fragen
Team Test
Team Test Edition
• „Testing“ integriert und Komfortabel in Visual Studio
• Test erstellen, verwalten und starten aus VS heraus
• Ergebnisse werden im Team Foundation Server gespeichert
VS05 Pro usersVS05 Pro users
ISVsISVs
Web developersWeb developers
VB6 usersVB6 users
TestersTesters
VSEA 2003 usersVSEA 2003 users
Load Testing CreationLoad TestingWeb recorderLoad TestingWeb recorder
Load Testing
Perf Counter integrationand monitoring
Perf Counter integrationand monitoring
Load TestingLoad Testing
Test Case ManagementTest Case ManagementTest Case Management
Team Test Edition• “Testing” in Visual Studio• Source Code der Tests mit dem zu testenden
Code in Versionierungs-System• Test Erstellung & Ausführung in der IDE
– Test View– Test Explorer (Test Case Management UI)
• Last-Tests– Web-Services-Last-Tests via script– Performance Counter Unit Testing
• Code Coverage
Team System
Das Unternehmen
• Code qualitativ höher und sicherer– Wiederholbare „Best practices“
• Vorhersehbarkeit– Entscheidungen treffen mit aktuellen Daten
• Trendanalyse mit OLAP und SQL reporting engine.
• Ein Server – Jedes „sein“ Tool
DevelopersDevelopers ArchitectsArchitects IT OperationsIT Operations TestersTesters
QA ManagerQA ManagerDevelopment ManagerDevelopment Manager
CXOCXO
Project ManagersProject Managers
Industrie Partner
Resourcen
• msdn.microsoft.com/vstudio/teamsystem
• lab.msdn.microsoft.com/vs2005/teamsystem
• blogs.msdn.com/askburton
• teamsystemrocks.com
Fragen?
Vielen Dank!