Evaluation eines kooperativen Entwicklungswerkzeuges zur Unterstützung von Projektteams am Beispiel von IBM Rational Team Concert. Diplomvortrag Frank Langanke Arbeitsbereich Softwaretechnik Software Engineering Group
Agenda 1. Anforderungen an kooperative Entwicklungswerkzeuge 2. Praxisbericht: Evaluation von Jazz und Rational Team Concert 3. Ergebnisse der Evaluation
Werkzeug und Umgebung Entwicklungswerkzeug Entwicklungsumgebung
Anforderungen Integration Kooperation
Datenintegration Gemeinsame Dokumentenformate UML Quellcode UML UML Gemeinsame Datenbank
Präsentationsintegration Kommandozeile Browser IDE
Prozessintegration Automatisierung und Steuerbarkeit Lösung: API oder Skriptsprachen
Anforderung Kooperation Koordination Projektplanungswerkzeuge Source Control Management (SCM) Kommunikation Direkte: Face-To-Face,Chat, Email, Telefon Indirekte: SCM, Bugtracker, Kommentare Awareness Instant-Messenger Projekt- und Team-Bereiche
Anforderung Kooperation Teams: Gruppe verfolgt ein gemeinsames Ziel Communities: Wissensverteilung Gegenseitige Unterstützung von Personen mit gleichen Fachhintergrund Communities of Practice (CoP)
Agenda Anforderungen an kooperative Entwicklungswerkzeuge Praxisbericht: Evaluation von Jazz und Rational Team Concert Ergebnisse der Evaluation
Konzept der Fallstudie Aktives Projekt in eine Entwicklungsumgebung portieren, die auf Jazz basiert Entwicklerinnen und Entwickler mit der neuen Umgebung arbeiten lassen Erfahrungen in qualitative Interviews erfassen CVS Bugzilla Eclipse Excel Jazz Team Server Team Concert
Jazz und Team Concert Metapher für Softwareentwicklung als Jazzkonzert Entwicklungsumgebung basierend auf einer Client-Server-Architektur Jazz Team Server bietet Dienste an Rational Team Concert (RTC) ist ein Client
Jazz: Mehrdeutiger Begriff Jazz ist eine Technologie- Plattform (Middleware) Der Jazz Team Server ist ein Produkt: DB + API Umgangsspra chlich ist alles Jazz Jazz Team Server Jazz Foundation Services Plugin RTC Plugin B Plugin C RTC Werkzeug B Werkzeug C
Team Concert Funktionen Jazz Team Server Work Items SCM Build Server Dashboard Bug Tracking Task Tracking Version Control Team Builds Personal Builds Reporting Events Repository, Project Areas, Teams, Users, Process, Cooperation, Events, Data Warehouse, Resource Service, Administration Eclipse + RTC Plugins Browser
RTC Konzepte Überblick Repository Project Area Project Area Stream Stream Team Area Team Area Iterations Milestone 1 Iterations Milestone 2 Milestone 3 Milestone 1 Milestone 2 Milestone 3 Simple Team Process Agile Process
Kooperation: Projekt Area
Kooperation: Iterationsplanung
Kooperation: Work Items
Kooperation: Workspaces Workspaces Stream Repository Workspace Repository Workspace Repository Check-in Load Local Workspace Local Workspace Local
Kooperation: Awareness
Agenda Anforderungen an kooperative Entwicklungswerkzeuge Praxisbericht: Evaluation von Jazz und Rational Team Concert Ergebnisse der Evaluation Bewertung RTC Erfolgsfaktoren Einsatz koop. Werkzeuge Harte Weiche
Bewertung Jazz Evaluation zu kurz für abschließende Bewertung Koordinations- und Awareness- Unterstützung durch gemeinsame Materialien positiv empfunden Navigation durch einen Arbeitsprozess teilweise zu lang
Erfolgsfaktoren koop. Werkzeuge Einfache Bedienung Automatisierung (Prozess-Integration) Integration der Werkzeuge (Daten- und Präsentations-Integration) Nähe zum Material, aus dem Kontext heraus Nutzen muss höher sein, als der Aufwand
Erfolgsfaktoren koop. Werkzeuge Anpassung/Zuschnitt auf Projekt, Umgebung, Prozess, Rolle Integration in den Arbeitsfluss
Erfolgsfaktoren koop. Werkzeuge Informationen filtern Reduzierung der Komplexität, Überforderung vermeiden Nur relevante Informationen für eine Rolle Visualisierung
Erfolgsfaktoren koop. Werkzeuge Einführung unterstützen Konzepte und Begriffe erklären Praktische Anleitungen Eingewöhnungszeit beachten
Erfolgsfaktoren koop. Werkzeuge Projektplanung und verwaltung als Arbeit wahrnehmen Explizite Kooperation ist auch Arbeit Unterstützung von Aufwandschätzung
Erfolgsfaktoren koop. Werkzeuge Motivation schaffen Bewusstsein für den Arbeitsprozess schaffen Verständnis für Notwendigkeit schaffen Vorteile für jeden einzelnen erklären Team als Ganzes motivieren Festen Rahmen vorgeben
Erfolgsfaktoren koop. Werkzeuge Missbrauch vorbeugen Machpolitische Zwecke verschiedener Teams Zwischen einzelnen Personen Problem der Überwachung und des Datenschutzes
Fazit Kooperation und Integration sind die Themen für Entwicklungswerkzeuge Weiche Faktoren für den Einsatz von kooperativen Werkzeugen sind ebenso wichtig wie die Werkzeuge selbst
Fragen. Evaluation eines kooperativen Entwicklungswerkzeuges zur Unterstützung von Projektteams am Beispiel von IBM Rational Team Concert.
Einsatz in den Übungen? Kostenlos für akademischen Einsatz Erfahrungsbericht Andrew Meneely and Laurie Williams: On Preparing Students for Distributed Software Development with a Synchronous, Collaborative Development Platform
Koop. Umgebung mit Open Source Werkzeugen IDE: Eclipse SCM: CVS / Subversion Bug-/Tasktracking: Bugzilla / JIRA / Trac Dokumentation: Wiki Buildmanagement: Anthill / Maven / Cruise Control Integration: Mylyn