kollaboration in java projekten - anspruch und realität

Post on 14-Dec-2014

122 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Dieser Vortrag von der JAX 2008 beleuchtet verschiedene Application Lifecycle Management (ALM) Werkzeuge um die Zusammenarbeit in Java Teams zu unterstützen. Die Tools werden nach verschieden Stufen klassifiziert: Von Level 1 (ein wilder Mix aus lose gekoppelten Open Source Lösungen) bis Level 3 (die voll integrierte ALM Plattform) ist alles möglich. Beispielhaft vorgestellt werden: Subversion + Trac + Mylyn, Polarion ALM + FastTrack, Microsoft TFS, Eclipse Jazz / Rational Team Concert

TRANSCRIPT

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

Gra

d de

r To

ol-

Inte

grat

ion

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

Gra

d de

r To

ol-

Inte

grat

ion

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

Tool

inte

grat

ion

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

Tool

inte

grat

ion

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

Tool

inte

grat

ion

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!

top related