Allgemein Für Administratoren Für Architekten Für Entwickler Für Projektleiter Für Tester News Produkte Publikationen

Glossar

27. Juli 2008 von Sven Hubert

Build-Server (engl. Build Server)
Der Build-Server ist ein dedizierter Rechner (physisch oder virtuell), der speziell für die Ausführung von Team Foundation Builds eingerichtet ist.

Arbeitsaufgabentyp (engl. Work Item Type)
Ein Arbeitsaufgabentyp kann unter anderem eine funktionale oder nichtfunktionale Anforderung, eine konkrete Aufgabe oder ein Fehlerbericht sein. Ein Bestandteil einer Arbeitsaufgabentypdefinition sind die Felddefinitionen für die verfügbaren Datenfelder einer Arbeitsaufgabe mit Typ und einem eindeutigen Namen zur Referenzierung und Wiederverwendung. In der Arbeitsaufgabentypdefinition sind desweiteren Layouts für Formulare und eine Zustandsmaschine für den Status der Arbeitsaufgabe definiert.

Arbeitsaufgabe (engl. Work Item)
Für die Verwaltung und Nachverfolgung von Aufgaben innerhalb eines Teamprojektes stehen sogenannte Arbeitsaufgaben zur Verfügung. Dabei handelt es sich um einen abstrakten Oberbegriff für die Artefakte des TFS, die der Aufgabenverfolgung dienen. Anforderungen, Fehlerberichte und Aufgaben sind Beispiele für spezielle Arbeitsaufgaben. Die Spezialisierungen werden über Arbeitsaufgabentypdefinitionen definiert.

Berichtswesen (engl. Reporting)
Das Berichtswesen in der Team Foundation setzt auf den Reporting Services und den Analysis Services des Microsoft SQL Servers auf. Über die Analysis Services wird das Data-Warehouse der Datenschicht als Datenquelle genutzt. Die Berichte eines Teamprojektes sind im Team Explorer, im Web Access, im Report-Server und im Teamprojektportal verfügbar. In Excel können über das Data-Warehouse eigene Pivottabellen und -charts erstellt werden.

Arbeitsaufgabenabfrage (engl. Work Item Query)
Mit Arbeitsaufgabenabfrage können gefilterte Listen von Arbeitsaufgaben abgerufen werden. Dies kann zum Beispiel eine Auflistung aller Fehlerberichte von Benutzer X sein. Die im Teamprojekt verfügbaren Abfragen sind konfigurierbar. Es lassen sich team-übergreifende und persönliche Abfragen anlegen und ausführen.

Microsoft Visual Studio 2010 ist eine integrierte Softwareentwicklungslösung für professionelle Entwickler, Softwaretester, Softwarearchitekten, Datenbankentwickler und Projektmanager. Es befähigt alle Beteiligten des gesamten Entwicklungsprozesses, ihre individuellen Fähigkeiten besser zu nutzen und effektiver in Teams zusammenzuarbeiten und vereinfacht und beschleunigt alle Aspekte moderner Softwareentwicklung. Angefangen bei der Verwaltung von Anforderungsdokumenten, über das Konfigurations- und Releasemanagement bis zu automatisierten GUI-Tests und Defect-Management lassen sich alle Phasen der Softwareentwicklung abbilden, was jederzeit eine umfassende Berichterstattung mit allen relevanten Fortschritts- und Qualitätskennzahlen während der Durchführung eines Projektes ermöglicht.

Microsoft Visual Studio Test Professional 2010 ist ein spezialisiertes Toolset zur Vereinfachung der Testplanung und zur Durchführung und Aufnahme manueller Tests. Mithilfe detaillierter Analysen zum Ablauf und zu den Auswirkungen von Tests, aussagekräftiger automatischer Fehlerdokumentation und Beschleunigungsmethoden für manuelle Tests wird der gesamte Ablauf deutlich gestrafft und einfacher zu steuern. Ad hoc abrufbare, verlässliche Reports sorgen für mehr Transparenz und eine bessere Entscheidungsfindung aller Beteiligten. Durch die reibungsfreie Integration der Tester in den Entwicklungsprozess wird die häufige Trennung von Entwicklungs- und Testteams aufgebrochen und ein konstruktiver Workflow ermöglicht, welcher Abstimmungsaufwand und Entwicklungskosten einspart. Zusammen mit Visual Studio Team Lab Management 2010 kann Visual Studio Test Elements 2010 diese Funktionalitäten komfortabel auf virtualisierte Testumgebungen auszuweiten und dadurch Entwicklungs- und Testzyklen spürbar beschleunigen

Microsoft Visual Studio Lab Management 2010 ermöglicht Teams die schnelle Bereitstellung virtueller Testumgebungen zur Ausführung von Tests und der Automatisierung. Selbst komplexe Konfigurationen lassen sich schnell anlegen, ebenso Testumgebungen, welche exakt den Produktivumgebungen entsprechen. So genannte Snapshots von Testumgebungen machen Schluss mit nicht nachvollziehbaren Fehlern und automatisierte Tests von Benutzeroberflächen verkürzen die Testzeiten zusätzlich. Gemeinsam ermöglichen Team Lab Management 2010 und Test Elements 2010 Ihrem Team eine deutliche Reduzierung der Gesamtkosten speziell für die Virtualisierung und Verwaltung von Testumgebungen, als auch für den gesamten Entwicklungsprozess.

MSBuild
Das XML-basierte Buildsystem von Microsoft. Über XML-Dateien wird der Ablauf eines Builds gesteuert.

Team Foundation Build
Das Build-System des Team Foundation Servers, welches auf MSBuild basiert. Es besteht aus der MSBuild-Plattform und Team Foundation Server spezifischen Targets, welche den allgemeinen Ablaufrahmen eines Builds definieren.

Microsoft Team Foundation Server
Der Team Foundation Server stellt als zentrale Einheit unter anderem die Dienste für Arbeitsaufgabenverfolgung und Quellcodeverwaltung bereit. Der Team Foundation Server unterteilt sich logisch in 2 Schichten, die auch physisch getrennt sein können.
Zum einen in die Anwendungsschicht, die hauptsächlich aus Web-Services besteht, über die Zugriffe auf die Datenschicht gekapselt werden. Zudem stellt die Anwendungsschicht ein webbasiertes Portal für den Zugriff auf ein Teamprojekt bereit. Die Datenschicht besteht aus mehreren Datenbanken für die Speicherung der für die Definition und Verwaltung der Teamprojekte benötigten und im Projektverlauf anfallenden Daten. Desweiteren enthält die Datenschicht ein Data-Warehouse, welches für das Berichtswesen genutzt wird.
Weitere VSTS-Server sind zum Beispiel Buildserver und Testserver, die Dienste für andere Aspekte, wie zum Beispiel Buildprozesse bzw. Tests zur Verfügung stellen.

Microsoft Visual Studio Team System (2008)
Visual Studio Team System, kurz VSTS, ist eine Plattform für die Integration von Werkzeugen für den Softwarelebenszyklus mit dem Ziel die Kommunikation und Produktivität eines Teams zu verbessern. Die heterogene Werkzeuglandschaft soll damit auf eine gemeinsame Basis gestellt werden. Dafür besitzt die Plattform zahlreiche Integrations- und Erweiterungsmöglichkeiten, um ein verteiltes, unternehmensspezifisches System aufzustellen, welches den gesamten Softwarelebenszyklus abdeckt. Je nach Relevanz für diese Arbeit werden diese Möglichkeiten in den folgenden Abschnitten mehr oder weniger ausführlich beschrieben.
Ein Kernstück des VSTS ist das Visual Studio. Es handelt sich hierbei um eine integrierte Softwareentwicklungsumgebung, im Englischen kurz IDE genannt. Die aktuelle Version ist Visual Studio 9.0 oder bekannt als Visual Studio 2008. Visual Studio wird in verschiedenen Editionen mit unterschiedlichem Funktionsumfang ausgeliefert. Die für diese Arbeit interessanten Editionen sind die Team Editionen, die in das Team System integriert werden können. Die Edition „“Visual Studio Team Suite““ fasst alle Funktionen der für die unterschiedlichen Rollen des Softwarelebenszyklus zugeschnittenen Editionen zusammen und dient damit als Grundlage für die weiteren Betrachtungen.
Weiteres Kernstück ist die Team Foundation welche eine Sammlung von weiteren Werkzeugen und Technologien zur Unterstützung der Teamkoordination, Projektstatusverfolgung und Prozessumsetzung darstellt.

Teamprojektportal (engl. Team Project Portal)
Das Teamprojektportal stellt eine Sharepoint Seite zur Ablage und Verwaltung von projektrelevanten Dokumenten, Anzeige von Berichten, sowie des Prozessleitfaden usw..

Visual Studio Team Suite (engl. Visual Studio Team Suite) (2008)
Die integrierte Entwicklungsumgebung Visual Studio Team Suite beinhaltet unter anderem Elemente zur Anbindung an die Team Foundation. Wichtige Bestandteile sind die Integration der Quellcodeverwaltung und der Zugriff auf das Teamprojekt über den sogenannten Team-Explorer, einer Ansicht, die in verschiedene Verzeichnisse für Arbeitsaufgaben, Dokumente und Berichte strukturiert ist.

Team Explorer (engl. Team Explorer)
Der Team Explorer stellt auf den Clients die Verbindung zum Team Foundation Server her. Andere Applikationen wie z.B. Visual Studio oder Excel verwenden den Team Explorer über Addins, um beispielsweise eine Arbeitsaufgabenabfrage zu öffnen und anzuzeigen.

Teamprojekt (engl. Team Project)
Ein Teamprojekt ist vom logischen Konzept her eine Kapselung eines Softwareentwicklungsprojektes. Ein Teamprojekt kapselt alle Artefakte und Werkzeuge die im Laufe des Softwarelebenszyklus entstehen bzw. verwendet werden. Beispiele für Artefakte sind Arbeitsaufgaben oder Quellcode. Arbeitsaufgaben stellen eine Möglichkeit für die Teammitglieder dar, alle Aspekte des Teamprojekts außerhalb des Quellcodes nachverfolgen zu können. Zu den Werkzeugen gehört zum Beispiel ein Projektportal.

Prozessvorlage (engl. Process Template)
Ein wichtiger Aspekt eines Teamprojektes ist die Prozessvorlage, welche das Grundgerüst bzw. die Standardeinstellungen für ein Teamprojekt enthält. Die Prozessvorlage ist nur beim Anlegen eines Teamprojekts relevant. Nach dem Anlegen kann die gewählte Prozessvorlage für ein Teamprojekt nicht gewechselt werden. Es können jedoch einzelne Arbeitsaufgabentypen geändert werden.
Prozessvorlagen sind von Microsoft und Drittanbietern für verschiedene Prozessmodelle verfügbar. So sind zum Beispiel die Prozessvorlagen „“MSF for Agile Software Development““ und „“MSF for CMMI Process Improvement““ in der Basisinstallation des Team Foundation Server enthalten. Eine Prozessvorlage besteht aus einer Sammlung von XML-Dateien und weiteren optionalen Ressourcen. Prozessvorlagen können an die Bedürfnisse eines Projektes angepasst werden.

Microsoft Solution Framework (engl. Microsoft Solution Framework)
Das Microsoft Solution Framework definiert ein abstraktes Vorgehensmodell für das Application-Lifecycle-Management. Es beinhaltet ein Teammodell und ein iteratives Vorgehensmodell, welches als Kombination aus Spiralmodell und V-Modell anzusehen ist. Es definiert einen Quasi-Standard für Prozessdefinitionen.

Prozessleitfaden (engl. Process Guidance)
Ein Prozessleitfaden ist eine HTML-Dokumentation eines definierten Prozesses, der von den Teammitgliedern, die an einem Teamprojekt arbeiten, eingehalten werden muss. Die Arbeitsaufgaben, Berichte und Abfragen eines Teamprojekts können sich im Verlauf eines Teamprojekts ändern und können bei verschiedenen Projekten voneinander abweichen. Der Prozessleitfaden enthält ausführliche Informationen über ein Teamprojekt, z. B. über das Ausfüllen der Arbeitsaufgabenfelder, Beispiele für korrekte und fehlerhafte Berichte sowie Beschreibungen der Abfragen. Zudem sind Informationen über anzunehmende Rollen und über die auszuführenden Aktivitäten enthalten.

Quellcodeverwaltung (engl. Version Control or Source Control)
Die Quellcodeverwaltung des Team Foundation Server bietet eine Standardversionskontrolle für Quellcode. Die wichtigsten Features sind:
○ Multipler Checkout
○ Transaktionale Eincheckvorgänge
○ Verzweigen (engl. „Branching“) und Zusammenführen (engl. „Merging“)
○ Temporäres Zurückstellen (engl. „Shelving“) von Änderungen
○ Unterstützung teamprojektweiter Eincheckrichtlinien
Mit der Quellcodeverwaltung können aber auch andere Dokumente, also nicht nur Quellcode, verwaltet werden. Beispiele solcher Dokumente sind technische Dokumentationen, Bilder und so weiter.

CMMI (engl. CMMI)
Das Capability Maturity Model-Integrated (kurz CMMI), welches 2003 veröffentlicht wurde, ist ein Reifegradmodell zur Bewertung eines konkreten Entwicklungsprozesses einer Organisation. Die Continuous Representation von CMMI definiert die Reifegrade Level 0: “Incomplete”, Level 1: “Performed“, Level 2: “Managed“, Level 3: “Defined”, Level 4: “Quantitatively Managed” und Level 5: “Optimizing”.

Werte des Agilen Vorgehens (engl. Agile Manifesto)
1. Individuen und Interaktionen gelten mehr als Prozesse und Tools.
2. Funktionierende Programme gelten mehr als ausführliche Dokumentation.
3. Die stetige Zusammenarbeit mit dem Kunden steht über Verträgen.
4. Der Mut und die Offenheit für Änderungen steht über dem Befolgen eines festgelegten Plans.

Scrum (engl. Scrum)

Was ist Scrum? Scrum ist ein Framework – aus dem Agile Manifesto heraus entstanden und beschreibt Grundsätze für das Abarbeiten eines Backlogs aus zu lieferenden Funktionen. Das Team arbeitet dabei Hand in Hand mit dem Product Owner der als Kommunikationskanal zu den Kunden dient und die Prioritäten im Backlog festlegt. Das Team arbeitet in definierten 2-4 Wochen Intervalen – den Sprints. Es bleibt dabei nach dem Commitment im Sprint Planning Meeting ungestört von Änderungen. Hindernisse die die Produktivität des Team beeinträchtigen soll der Scrum Master beseitigen und das Team bei der Umsetzung von Scrum unterstützen. Im Sprint Review stellt das Team das Ergebnis eines Sprints den Kunden und dem Product Owner vor. Es kann ein Release erfolgen. In der Retrospektive überlegt das Team was im letzten Sprint gut und was schlecht lief und wie es noch produktiver werden kann. Der Zyklus beginnt von vorn…

TeamSystemPro Team (engl. TeamSystemPro Team)
Das TeamSystemPro Team ist die Kompetenzgruppe der AIT GmbH & Co. KG für den Bereich Visual Studio Team System. Gründer des Teams ist Neno Loje, freier Mitarbeiter der AIT. Das TeamSystemPro Team hält Vorträge auf Konferenzen, allgemeine sowie firmeninterne Schulungen und Workshops zu Visual Studio Team System. Zudem sind die Mitglieder in Projekten rund um die Einführung und Anpassung von Visual Studio Team System in Unternehmen tätig.