Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 1
Teamkollaboration
in Java-Projekten
Torben Knerr, Dr. Georg Molter
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 2
Übersicht
• Herausforderungen räumlich verteilter Projekte
• Kollaborationsplattformen Level 1
Beispiel: Subversion + Trac + Mylyn
• Kollaborationsplattformen Level 2
Beispiel: Polarion ALM
• Kollaborationsplattformen Level 3
Beispiel: IBM Jazz
• Was wirklich wichtig ist…
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 3
Eigenheiten verteilter Projektdurchführung
Probleme aller Projekte – plus durch räumliche
Verteilung herbeigeführte Schwierigkeiten
• Unzureichende Transparenz von Planung und
Projektfortschritt
• Gefahr unterschiedlicher Interpretation von Requirements
• Gefahr von Kommunikationsfehlern
Weitere Implikationen der verteilten
Projektdurchführung
• Einschränkung der Kommunikationsmittel (Telefon, Video,
Chat, Filesharing, Application Sharing, ...)
• Hohe Latenzen, geringe(re) Netzwerkbandbreite
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 4
Erfolgsvoraussetzungen für verteilte
Projekte
Einheitliche Grundlage für Planung,
Steuerung, Controlling und Entwickung
Einheitliche Begriffswelt,
Konzepte, Tools und Prozesse
an allen Projektstandorten
Toolunterstützung für
kollaborative Entwicklung
- Work Items
- Requirements
Arbeitspakete müssen eindeutig
zu Requirements zuzuordnen sein,
ansonsten geht Kontrollierbarkeit
verloren
Verständlichkeit für Entwickler,
Tester als Voraussetzung für
gemeinsames Verständnis
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 5
Werkzeugunterstützung für Kollaboration
Abdeckung der folgenden Disziplinen
• Requirements Management und Change Request
Management
• Test Management
• Issue Tracking
• Konfigurations- und Buildmanagement
• Dokumentenverwaltung
• Projekt- und Ressourcenplanung, Reporting
• Kommunikation
Randbedingungen
• Offline-Fähigkeit
• Einsetzbarkeit in räumlich verteilten Umgebungen
– VPN / Kein VPN
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 6
Die Java-Perspektive
Spezielle Situation im Java-Umfeld
• Quasistandards und mächtige Tools
– Enwicklungsumgebung
– Buildautomatisierung (ant, maven, CruiseControl)
– Testautomatisierung (*unit)
– Sourcecode-Verwaltung
• Sprachunterstützung für Kapselung und Separation of
Concerns
• Erfahrung mit Open Source-Projekten (generell kollaborativ
entwickelt)
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 7
• Level 3: Integrierte Plattform,
Einbettung in IDE + web-basiert
• Level 2: Integrierte Plattform,
hauptsächlich web-basiert
• Level 1: Mix von einzelnen (meist
Open Source) Tools
Aber: Gewünschter Grad der IDE-Integration ist
rollenabhängig!
Ebenen von Kollaborationsplattformen
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 7
• Level 3: Integrierte Plattform,
Einbettung in IDE + web-basiert
• Level 2: Integrierte Plattform,
hauptsächlich web-basiert
• Level 1: Mix von einzelnen (meist
Open Source) Tools
Aber: Gewünschter Grad der IDE-Integration ist
rollenabhängig!
Ebenen von Kollaborationsplattformen
Grad der Konzept-
Integration
GradderTool-
Integration
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 7
• Level 3: Integrierte Plattform,
Einbettung in IDE + web-basiert
• Level 2: Integrierte Plattform,
hauptsächlich web-basiert
• Level 1: Mix von einzelnen (meist
Open Source) Tools
Aber: Gewünschter Grad der IDE-Integration ist
rollenabhängig!
Ebenen von Kollaborationsplattformen
Grad der Konzept-
Integration
GradderTool-
Integration
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 8
Kollaborationsplattformen Level 1
Mix einzelner (meist Open Source) Tools
Pro
• Häufig frei von Lizenzkosten
• Viele Open Source Lösungen verfügbar
• Breite Benutzerbasis
Contra
• Erhöhter Administrations- und Konfigurationsaufwand
Beispiele
• Subversion + Trac + Mylyn + …
• CVS + BugZilla + TWiki + …
Konzeptintegration
Toolintegration
L1
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 9
Kollaborationsplattformen Level 1
Beispiel: Subversion + Trac + Mylyn
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 9
Kollaborationsplattformen Level 1
Beispiel: Subversion + Trac + Mylyn
Mylyn
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 9
Kollaborationsplattformen Level 1
Beispiel: Subversion + Trac + Mylyn
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 9
Kollaborationsplattformen Level 1
Beispiel: Subversion + Trac + Mylyn
Implizite Ver-
knüpfung über
Check-In
Kommentar
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 10
Kollaborationsplattformen Level 1
Beispiel: Subversion + Trac + Mylyn
Disziplinen
• Konfigurationsmanagement, Task/Defect Tracking,
Projektplanung, Kommunikation
Charakteristika
• Open Source, keine Lizenzkosten
• Verknüpfung zwischen Tasks und Code-Änderungen über
Check-In Kommentar
• Projektplanung auf Ebene von Tasks und Meilensteinen
• Beinhaltet ein Wiki
• Integration in Eclipse über Mylyn + SubClipse
RM / CRM
Issue Tracking
CM / Build Mgmt
Doc. Mgmt
Proj. Mgmt, Reporting
Test Mgmt
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 11
Kollaborationsplattformen Level 2
Integrierte Plattformen, hauptsächlich Web-basiert
Pro
• Durchgängige Integration der Konzepte
• Einheitliche Benutzeroberfläche, Web-basiert
• Weniger Konfigurations- und Administrationsaufwand
Contra
• Lizenzkosten
• Nur teilweise Integration in IDE über Plugins
Beispiele
• Polarion ALM Enterprise (+ FastTrack)
• CollabNet Enterprise Edition (+ CollabNet Desktop)
Konzeptintegration
Toolintegration
L1
L2
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 14
Kollaborationsplattformen Level 2
Beispiel: Polarion ALM Enterprise
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 14
Kollaborationsplattformen Level 2
Beispiel: Polarion ALM Enterprise
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 14
Kollaborationsplattformen Level 2
Beispiel: Polarion ALM Enterprise
Work Item Ansicht
Dashboard u.a. mit
"Live Plan“ Portlet
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 15
Kollaborationsplattformen Level 2
Beispiel: Polarion ALM Enterprise + FastTrack
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 15
Kollaborationsplattformen Level 2
Beispiel: Polarion ALM Enterprise + FastTrack
Work Item Queries und Links zu Polarion Web UI
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 15
Kollaborationsplattformen Level 2
Beispiel: Polarion ALM Enterprise + FastTrack
Work Item T5UW17:
HelloWorld soll
implementiert werden
Work Item Queries und Links zu Polarion Web UI
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 16
Kollaborationsplattformen Level 2
Beispiel: Polarion ALM Enterprise + FastTrack
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 16
Kollaborationsplattformen Level 2
Beispiel: Polarion ALM Enterprise + FastTrack
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 16
Kollaborationsplattformen Level 2
Beispiel: Polarion ALM Enterprise + FastTrack
Explizites Hinzufügen
von Work Items beim
Commit
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 17
Kollaborationsplattformen Level 2
Beispiel: Polarion ALM Enterprise + FastTrack
Disziplinen
• Alle Disziplinen werden abgedeckt
Charakteristika
• Projektplanung basierend auf Work Items
• Ausgeprägte Integration mit MS Office
• Subversion als zentrales Repository für alle Artefakte
• Ausgeprägte Unterstützung für Requirements
FastTrack
• Eclipse Plugin zur Verwaltung von Work Items
• Explizite Verknüpfung von Work Items zu Check-In
RM / CRM
Issue Tracking
CM / Build Mgmt
Doc. Mgmt
Proj. Mgmt, Reporting
Test Mgmt
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 18
Kollaborationsplattformen Level 3
Integrierte Plattform, Einbettung in IDE
Pro
• Vollständige und disziplinenübergreifende Integration
• IDE als zentrales Tool, alternativ Web UI
• Hohe Usability durch „Rich Client“ Applikation
Contra
• Signifikante Lizenzkosten
• Steigende Komplexität der IDE
Beispiele
• IBM Rational Jazz Platform
• Microsoft Team Foundation Server (TFS)
Konzeptintegration
Toolintegration
L1
L2
L3
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 19
Kollaborationsplattformen Level 3
Beispiel: Microsoft Visual Studio Team System / Team
Foundation Server
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 20
Kollaborationsplattformen Level 3
Beispiel: Microsoft Visual Studio Team System / Team
Foundation Server
Disziplinen
• Alle Disziplinen werden abgedeckt
Charakteristika
• Verwaltung von WorkItems, Tests, Builds / Releases mit
SCM integriert
• VisualStudio als gemeinsame Oberfläche
• Datenbankgestützte Verwaltung von WorkItems etc.
• Komfortable Reporting-Möglichkeiten
RM / CRM
Issue Tracking
CM / Build Mgmt
Doc. Mgmt
Proj. Mgmt, Reporting
Test Mgmt
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 21
Kollaborationsplattformen Level 3
Beispiel: IBM Rational Jazz Platform
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 21
Kollaborationsplattformen Level 3
Beispiel: IBM Rational Jazz Platform
Beispiel-Code für
die JAX soll erstellt
werden
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 22
Kollaborationsplattformen Level 3
Beispiel: IBM Rational Jazz Platform
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 22
Kollaborationsplattformen Level 3
Beispiel: IBM Rational Jazz Platform
SCM Konzepte:
Streams und
Repository Workspaces
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 22
Kollaborationsplattformen Level 3
Beispiel: IBM Rational Jazz Platform
SCM Konzepte:
Streams und
Repository Workspaces
Explizite Zuordnung von
Work Items zu Change-Sets
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 22
Kollaborationsplattformen Level 3
Beispiel: IBM Rational Jazz Platform
SCM Konzepte:
Streams und
Repository Workspaces
Explizite Zuordnung von
Work Items zu Change-Sets
„Delivern“ des
Beispiel-Code
in den Stream
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 23
Kollaborationsplattformen Level 3
Beispiel: IBM Rational Jazz Platform
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 23
Kollaborationsplattformen Level 3
Beispiel: IBM Rational Jazz Platform
Continuous Integration mit Build Server
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 23
Kollaborationsplattformen Level 3
Beispiel: IBM Rational Jazz Platform
Ooops… JUnit Test ist
fehlgeschlagen
Continuous Integration mit Build Server
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 23
Kollaborationsplattformen Level 3
Beispiel: IBM Rational Jazz Platform
Ooops… JUnit Test ist
fehlgeschlagen
Continuous Integration mit Build Server
Erstelle „Defect“ für
fehlgeschlagenen Build
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 24
Kollaborationsplattformen Level 3
Beispiel: IBM Rational Jazz Platform
„Defect“ wurde
erstellt…
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 25
Kollaborationsplattformen Level 3
Beispiel: IBM Rational Jazz Platform
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 25
Kollaborationsplattformen Level 3
Beispiel: IBM Rational Jazz Platform
Bug in JUnit Test
wurde behoben
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 25
Kollaborationsplattformen Level 3
Beispiel: IBM Rational Jazz Platform
Bug in JUnit Test
wurde behoben
„Defect“ ist mit Change Set verknüpft
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 25
Kollaborationsplattformen Level 3
Beispiel: IBM Rational Jazz Platform
Bug in JUnit Test
wurde behoben
„Defect“ ist mit Change Set verknüpft
„Delivern“ des
Bugfix und Schließen
des „Defect“
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 26
Kollaborationsplattformen Level 3
Beispiel: IBM Rational Jazz Platform
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 26
Kollaborationsplattformen Level 3
Beispiel: IBM Rational Jazz Platform
Build war
erfolgreich!
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 26
Kollaborationsplattformen Level 3
Beispiel: IBM Rational Jazz Platform
Build war
erfolgreich!
Link zu eben geschlossenem „Defect“
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 27
Kollaborationsplattformen Level 3
Beispiel: IBM Rational Jazz Platform
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 27
Kollaborationsplattformen Level 3
Beispiel: IBM Rational Jazz Platform
Rück-Verlinkung auf
Change-Sets, Builds
und andere Artefakte
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 28
Kollaborationsplattformen Level 3
Beispiel: IBM Rational Jazz Platform
Disziplinen
• Alle Disziplinen werden abgedeckt
Charakteristika
• Extrem hohe Integration über alle Disziplinen
• SCM basierend auf Unified Change Management
• Ausgeprägtes Build-Management
• Prozess-Templates und „Process Awareness“
• Umfassendes Reporting mit Eclipse BIRT
• Synchrone Kommunikation (Chat)
• Teilfunktionalität über Web UI
RM / CRM
Issue Tracking
CM / Build Mgmt
Doc. Mgmt
Proj. Mgmt, Reporting
Test Mgmt
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 30
What really matters…
Enge Abstimmung von Tooling und Prozessen
( Lücken im Tooling können durch Prozesse
kompensiert werden)
Aber: Tools können keine Prozesse ersetzen!
Tooling für Kollaboration
• Erfordert ein Adressieren aller für die Entwicklung
relevanter Disziplinen
• Erfordert eine möglichst hohe Durchgängigkeit von
Konzepten über die Disziplinen hinweg
 Voraussetzung für gemeinsames Verständnis,
durchgängige Planung und durchgängiges Reporting
/ Absprachen
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 31
What really matters…
Parameter für die Auswahl der
Kollaborationsumgebung
• Organisatorische Komplexität des Projektes
• Zuordnung von Aufgaben / Rollen zu Standorten
• Lokale / gemeinsame Ownership von Subsystemen oder
Komponenten
Ziel: sinnvolle Balance zwischen
• Vereinheitlichung / detaillierter Planung vs.
Gestaltungsfreiheit
• Globaler Konsistenzsicherung vs. Performance
(Antwortzeiten / Netzwerkbandbreite)
• Benefit durch die Toolunterstützung vs. Kosten /
Betriebsaufwand / Verlust von Freiheitsgraden
Teamkollaboration in Java-
Projekten
© Zühlke 2008
21.04.2008
Torben Knerr, Dr. Georg Molter
Folie 32
Vielen Dank für
Ihre Aufmerksamkeit!
Kontakt:
Torben Knerr Dr. Georg Molter
torben.knerr@zuehlke.com georg.molter@zuehlke.com
http://xing.to/tknerr http://xing.to/GeorgMolter
… oder besuchen Sie uns am Zühlke-Stand!

Kollaboration in Java Projekten - Anspruch und Realität

  • 1.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 1 Teamkollaboration in Java-Projekten Torben Knerr, Dr. Georg Molter
  • 2.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 2 Übersicht • Herausforderungen räumlich verteilter Projekte • Kollaborationsplattformen Level 1 Beispiel: Subversion + Trac + Mylyn • Kollaborationsplattformen Level 2 Beispiel: Polarion ALM • Kollaborationsplattformen Level 3 Beispiel: IBM Jazz • Was wirklich wichtig ist…
  • 3.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 3 Eigenheiten verteilter Projektdurchführung Probleme aller Projekte – plus durch räumliche Verteilung herbeigeführte Schwierigkeiten • Unzureichende Transparenz von Planung und Projektfortschritt • Gefahr unterschiedlicher Interpretation von Requirements • Gefahr von Kommunikationsfehlern Weitere Implikationen der verteilten Projektdurchführung • Einschränkung der Kommunikationsmittel (Telefon, Video, Chat, Filesharing, Application Sharing, ...) • Hohe Latenzen, geringe(re) Netzwerkbandbreite
  • 4.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 4 Erfolgsvoraussetzungen für verteilte Projekte Einheitliche Grundlage für Planung, Steuerung, Controlling und Entwickung Einheitliche Begriffswelt, Konzepte, Tools und Prozesse an allen Projektstandorten Toolunterstützung für kollaborative Entwicklung - Work Items - Requirements Arbeitspakete müssen eindeutig zu Requirements zuzuordnen sein, ansonsten geht Kontrollierbarkeit verloren Verständlichkeit für Entwickler, Tester als Voraussetzung für gemeinsames Verständnis
  • 5.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 5 Werkzeugunterstützung für Kollaboration Abdeckung der folgenden Disziplinen • Requirements Management und Change Request Management • Test Management • Issue Tracking • Konfigurations- und Buildmanagement • Dokumentenverwaltung • Projekt- und Ressourcenplanung, Reporting • Kommunikation Randbedingungen • Offline-Fähigkeit • Einsetzbarkeit in räumlich verteilten Umgebungen – VPN / Kein VPN
  • 6.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 6 Die Java-Perspektive Spezielle Situation im Java-Umfeld • Quasistandards und mächtige Tools – Enwicklungsumgebung – Buildautomatisierung (ant, maven, CruiseControl) – Testautomatisierung (*unit) – Sourcecode-Verwaltung • Sprachunterstützung für Kapselung und Separation of Concerns • Erfahrung mit Open Source-Projekten (generell kollaborativ entwickelt)
  • 7.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 7 • Level 3: Integrierte Plattform, Einbettung in IDE + web-basiert • Level 2: Integrierte Plattform, hauptsächlich web-basiert • Level 1: Mix von einzelnen (meist Open Source) Tools Aber: Gewünschter Grad der IDE-Integration ist rollenabhängig! Ebenen von Kollaborationsplattformen
  • 8.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 7 • Level 3: Integrierte Plattform, Einbettung in IDE + web-basiert • Level 2: Integrierte Plattform, hauptsächlich web-basiert • Level 1: Mix von einzelnen (meist Open Source) Tools Aber: Gewünschter Grad der IDE-Integration ist rollenabhängig! Ebenen von Kollaborationsplattformen Grad der Konzept- Integration GradderTool- Integration
  • 9.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 7 • Level 3: Integrierte Plattform, Einbettung in IDE + web-basiert • Level 2: Integrierte Plattform, hauptsächlich web-basiert • Level 1: Mix von einzelnen (meist Open Source) Tools Aber: Gewünschter Grad der IDE-Integration ist rollenabhängig! Ebenen von Kollaborationsplattformen Grad der Konzept- Integration GradderTool- Integration
  • 10.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 8 Kollaborationsplattformen Level 1 Mix einzelner (meist Open Source) Tools Pro • Häufig frei von Lizenzkosten • Viele Open Source Lösungen verfügbar • Breite Benutzerbasis Contra • Erhöhter Administrations- und Konfigurationsaufwand Beispiele • Subversion + Trac + Mylyn + … • CVS + BugZilla + TWiki + … Konzeptintegration Toolintegration L1
  • 11.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 9 Kollaborationsplattformen Level 1 Beispiel: Subversion + Trac + Mylyn
  • 12.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 9 Kollaborationsplattformen Level 1 Beispiel: Subversion + Trac + Mylyn Mylyn
  • 13.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 9 Kollaborationsplattformen Level 1 Beispiel: Subversion + Trac + Mylyn
  • 14.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 9 Kollaborationsplattformen Level 1 Beispiel: Subversion + Trac + Mylyn Implizite Ver- knüpfung über Check-In Kommentar
  • 15.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 10 Kollaborationsplattformen Level 1 Beispiel: Subversion + Trac + Mylyn Disziplinen • Konfigurationsmanagement, Task/Defect Tracking, Projektplanung, Kommunikation Charakteristika • Open Source, keine Lizenzkosten • Verknüpfung zwischen Tasks und Code-Änderungen über Check-In Kommentar • Projektplanung auf Ebene von Tasks und Meilensteinen • Beinhaltet ein Wiki • Integration in Eclipse über Mylyn + SubClipse RM / CRM Issue Tracking CM / Build Mgmt Doc. Mgmt Proj. Mgmt, Reporting Test Mgmt
  • 16.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 11 Kollaborationsplattformen Level 2 Integrierte Plattformen, hauptsächlich Web-basiert Pro • Durchgängige Integration der Konzepte • Einheitliche Benutzeroberfläche, Web-basiert • Weniger Konfigurations- und Administrationsaufwand Contra • Lizenzkosten • Nur teilweise Integration in IDE über Plugins Beispiele • Polarion ALM Enterprise (+ FastTrack) • CollabNet Enterprise Edition (+ CollabNet Desktop) Konzeptintegration Toolintegration L1 L2
  • 17.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 14 Kollaborationsplattformen Level 2 Beispiel: Polarion ALM Enterprise
  • 18.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 14 Kollaborationsplattformen Level 2 Beispiel: Polarion ALM Enterprise
  • 19.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 14 Kollaborationsplattformen Level 2 Beispiel: Polarion ALM Enterprise Work Item Ansicht Dashboard u.a. mit "Live Plan“ Portlet
  • 20.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 15 Kollaborationsplattformen Level 2 Beispiel: Polarion ALM Enterprise + FastTrack
  • 21.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 15 Kollaborationsplattformen Level 2 Beispiel: Polarion ALM Enterprise + FastTrack Work Item Queries und Links zu Polarion Web UI
  • 22.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 15 Kollaborationsplattformen Level 2 Beispiel: Polarion ALM Enterprise + FastTrack Work Item T5UW17: HelloWorld soll implementiert werden Work Item Queries und Links zu Polarion Web UI
  • 23.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 16 Kollaborationsplattformen Level 2 Beispiel: Polarion ALM Enterprise + FastTrack
  • 24.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 16 Kollaborationsplattformen Level 2 Beispiel: Polarion ALM Enterprise + FastTrack
  • 25.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 16 Kollaborationsplattformen Level 2 Beispiel: Polarion ALM Enterprise + FastTrack Explizites Hinzufügen von Work Items beim Commit
  • 26.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 17 Kollaborationsplattformen Level 2 Beispiel: Polarion ALM Enterprise + FastTrack Disziplinen • Alle Disziplinen werden abgedeckt Charakteristika • Projektplanung basierend auf Work Items • Ausgeprägte Integration mit MS Office • Subversion als zentrales Repository für alle Artefakte • Ausgeprägte Unterstützung für Requirements FastTrack • Eclipse Plugin zur Verwaltung von Work Items • Explizite Verknüpfung von Work Items zu Check-In RM / CRM Issue Tracking CM / Build Mgmt Doc. Mgmt Proj. Mgmt, Reporting Test Mgmt
  • 27.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 18 Kollaborationsplattformen Level 3 Integrierte Plattform, Einbettung in IDE Pro • Vollständige und disziplinenübergreifende Integration • IDE als zentrales Tool, alternativ Web UI • Hohe Usability durch „Rich Client“ Applikation Contra • Signifikante Lizenzkosten • Steigende Komplexität der IDE Beispiele • IBM Rational Jazz Platform • Microsoft Team Foundation Server (TFS) Konzeptintegration Toolintegration L1 L2 L3
  • 28.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 19 Kollaborationsplattformen Level 3 Beispiel: Microsoft Visual Studio Team System / Team Foundation Server
  • 29.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 20 Kollaborationsplattformen Level 3 Beispiel: Microsoft Visual Studio Team System / Team Foundation Server Disziplinen • Alle Disziplinen werden abgedeckt Charakteristika • Verwaltung von WorkItems, Tests, Builds / Releases mit SCM integriert • VisualStudio als gemeinsame Oberfläche • Datenbankgestützte Verwaltung von WorkItems etc. • Komfortable Reporting-Möglichkeiten RM / CRM Issue Tracking CM / Build Mgmt Doc. Mgmt Proj. Mgmt, Reporting Test Mgmt
  • 30.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 21 Kollaborationsplattformen Level 3 Beispiel: IBM Rational Jazz Platform
  • 31.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 21 Kollaborationsplattformen Level 3 Beispiel: IBM Rational Jazz Platform Beispiel-Code für die JAX soll erstellt werden
  • 32.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 22 Kollaborationsplattformen Level 3 Beispiel: IBM Rational Jazz Platform
  • 33.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 22 Kollaborationsplattformen Level 3 Beispiel: IBM Rational Jazz Platform SCM Konzepte: Streams und Repository Workspaces
  • 34.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 22 Kollaborationsplattformen Level 3 Beispiel: IBM Rational Jazz Platform SCM Konzepte: Streams und Repository Workspaces Explizite Zuordnung von Work Items zu Change-Sets
  • 35.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 22 Kollaborationsplattformen Level 3 Beispiel: IBM Rational Jazz Platform SCM Konzepte: Streams und Repository Workspaces Explizite Zuordnung von Work Items zu Change-Sets „Delivern“ des Beispiel-Code in den Stream
  • 36.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 23 Kollaborationsplattformen Level 3 Beispiel: IBM Rational Jazz Platform
  • 37.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 23 Kollaborationsplattformen Level 3 Beispiel: IBM Rational Jazz Platform Continuous Integration mit Build Server
  • 38.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 23 Kollaborationsplattformen Level 3 Beispiel: IBM Rational Jazz Platform Ooops… JUnit Test ist fehlgeschlagen Continuous Integration mit Build Server
  • 39.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 23 Kollaborationsplattformen Level 3 Beispiel: IBM Rational Jazz Platform Ooops… JUnit Test ist fehlgeschlagen Continuous Integration mit Build Server Erstelle „Defect“ für fehlgeschlagenen Build
  • 40.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 24 Kollaborationsplattformen Level 3 Beispiel: IBM Rational Jazz Platform „Defect“ wurde erstellt…
  • 41.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 25 Kollaborationsplattformen Level 3 Beispiel: IBM Rational Jazz Platform
  • 42.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 25 Kollaborationsplattformen Level 3 Beispiel: IBM Rational Jazz Platform Bug in JUnit Test wurde behoben
  • 43.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 25 Kollaborationsplattformen Level 3 Beispiel: IBM Rational Jazz Platform Bug in JUnit Test wurde behoben „Defect“ ist mit Change Set verknüpft
  • 44.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 25 Kollaborationsplattformen Level 3 Beispiel: IBM Rational Jazz Platform Bug in JUnit Test wurde behoben „Defect“ ist mit Change Set verknüpft „Delivern“ des Bugfix und Schließen des „Defect“
  • 45.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 26 Kollaborationsplattformen Level 3 Beispiel: IBM Rational Jazz Platform
  • 46.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 26 Kollaborationsplattformen Level 3 Beispiel: IBM Rational Jazz Platform Build war erfolgreich!
  • 47.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 26 Kollaborationsplattformen Level 3 Beispiel: IBM Rational Jazz Platform Build war erfolgreich! Link zu eben geschlossenem „Defect“
  • 48.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 27 Kollaborationsplattformen Level 3 Beispiel: IBM Rational Jazz Platform
  • 49.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 27 Kollaborationsplattformen Level 3 Beispiel: IBM Rational Jazz Platform Rück-Verlinkung auf Change-Sets, Builds und andere Artefakte
  • 50.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 28 Kollaborationsplattformen Level 3 Beispiel: IBM Rational Jazz Platform Disziplinen • Alle Disziplinen werden abgedeckt Charakteristika • Extrem hohe Integration über alle Disziplinen • SCM basierend auf Unified Change Management • Ausgeprägtes Build-Management • Prozess-Templates und „Process Awareness“ • Umfassendes Reporting mit Eclipse BIRT • Synchrone Kommunikation (Chat) • Teilfunktionalität über Web UI RM / CRM Issue Tracking CM / Build Mgmt Doc. Mgmt Proj. Mgmt, Reporting Test Mgmt
  • 51.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 30 What really matters… Enge Abstimmung von Tooling und Prozessen ( Lücken im Tooling können durch Prozesse kompensiert werden) Aber: Tools können keine Prozesse ersetzen! Tooling für Kollaboration • Erfordert ein Adressieren aller für die Entwicklung relevanter Disziplinen • Erfordert eine möglichst hohe Durchgängigkeit von Konzepten über die Disziplinen hinweg  Voraussetzung für gemeinsames Verständnis, durchgängige Planung und durchgängiges Reporting / Absprachen
  • 52.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 31 What really matters… Parameter für die Auswahl der Kollaborationsumgebung • Organisatorische Komplexität des Projektes • Zuordnung von Aufgaben / Rollen zu Standorten • Lokale / gemeinsame Ownership von Subsystemen oder Komponenten Ziel: sinnvolle Balance zwischen • Vereinheitlichung / detaillierter Planung vs. Gestaltungsfreiheit • Globaler Konsistenzsicherung vs. Performance (Antwortzeiten / Netzwerkbandbreite) • Benefit durch die Toolunterstützung vs. Kosten / Betriebsaufwand / Verlust von Freiheitsgraden
  • 53.
    Teamkollaboration in Java- Projekten ©Zühlke 2008 21.04.2008 Torben Knerr, Dr. Georg Molter Folie 32 Vielen Dank für Ihre Aufmerksamkeit! Kontakt: Torben Knerr Dr. Georg Molter torben.knerr@zuehlke.com georg.molter@zuehlke.com http://xing.to/tknerr http://xing.to/GeorgMolter … oder besuchen Sie uns am Zühlke-Stand!