Arbeitsbereich SoftwaretechnikSoftware Engineering Group
Evaluation eines kooperativen Entwicklungswerkzeuges zur Unterstützung von Projektteams am Beispiel von IBM Rational Team Concert.
Diplomvortrag
Frank Langanke
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
� Gemeinsame Datenbank
UMLUML
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 FachhintergrundCommunities 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
Jazz Team Server
Team Concert
CVS
Bugzilla
EclipseExcel
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
� Umgangssprachlich ist alles Jazz
Jazz Team Server
Plugin RTC Plugin B Plugin C
Jazz Foundation Services
RTC Werkzeug B Werkzeug C
Team Concert Funktionen
Work Items
Bug TrackingTask Tracking
Dashboard
ReportingEvents
Build Server
Team BuildsPersonal Builds
SCM
Version Control
Repository, Project Areas, Teams, Users, Process, Cooperation,Events, Data Warehouse, Resource Service, Administration
Jazz Team Server
BrowserEclipse
+ RTC Plugins
RTC Konzepte Überblick
Repository
Project Area Project Area
Stream Stream
Team Area Team Area
Milestone 1
Iterations
Milestone 2 Milestone 3 Milestone 1
Iterations
Milestone 2 Milestone 3
Simple Team Process Agile Process
Kooperation: Projekt Area
Kooperation: Iterationsplanung
Kooperation: Work Items
Kooperation: Workspaces
� Workspaces
RepositoryWorkspace
RepositoryWorkspace
Repository
Local
LocalWorkspace
LocalWorkspace
LoadCheck-in
Stream
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
� ErfahrungsberichtAndrew 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