Melden Sie sich hier an, um auf Kommentare und die Whitepaper-Datenbank zugreifen zu können.

Kein Log-In? Dann jetzt kostenlos registrieren.

Falls Sie Ihr Passwort vergessen haben, können Sie es hier per E-Mail anfordern.

Der Zugang zur Reseller Only!-Community ist registrierten Fachhändlern, Systemhäusern und Dienstleistern vorbehalten.

Registrieren Sie sich hier, um Zugang zu diesem Bereich zu beantragen. Die Freigabe Ihres Zugangs erfolgt nach Prüfung Ihrer Anmeldung durch die Redaktion.

13.07.2006

Entwicklerteams brauchen Koordination

Gerhard Versteegen, Susanne Mühlbauer, Andreas Kress 
Besonders in Outsourcing- und Offshoring-Projekten gilt es, großräumig verteilte Programmierer aufeinander abzustimmen. Dafür haben sich am Markt vier Produkte etabliert.
In der verteilten Softwareentwicklung wird der zentrale Zugriff auf alle relevanten Informationen durch Collaboration-Tools unterstützt.
In der verteilten Softwareentwicklung wird der zentrale Zugriff auf alle relevanten Informationen durch Collaboration-Tools unterstützt.

Das Thema Collaboration wird immer dann interessant, wenn mehrere Personen an einem Projekt arbeiten, so dass Arbeitsergebnisse und Aufgaben untereinander abgestimmt, verteilt und verfolgt werden müssen. Dabei ist es unerheblich, ob sich die Personen am selben Standort befinden oder räumlich getrennt voneinander sind. Sicher liegt der Bedarf einer Collaboration-Software bei einer verteilten Entwicklungsmannschaft über verschiedene Kontinente hinweg besonders nahe, aber bereits eine Distanz von einem Stockwerk kann zu Informationsverlusten führen, die durch eine entsprechende Software verringert werden können.

Was vier Collaboration-Produkten können

Kriterium Collabnet Team Edition Codebeamer Polarion for Subversion Sourceforge Enterprise Edition

Integration/ Subversion, CVS, IBM Rational Eclipse, WSAD, Lotus Notes, Sub- Subversion-basierend, RIF, offene MS Project, MS Office, CVS, Schnittstellen Clearcase, IDE-Integrationen, version, CVS, CM Synergy, PVCS, API, XML, MS Word, MS Excel, Subversion, Perforce, WSAD-IDE und Mercury Test Director, Cruise VSS, WebDAV, MS Office, MS Project, CVS, MID Innovator weitere, Soap und Web-Services Control Star Office, Wiki, Freemind

Zentrales Repository Virtuelles zentrales Repository Virtuelles zentrales Repository Subversion als zentrales Repository Zentrales Repository

Assoziationen/ Über alle Objekte Über alle Objekte Über alle Objekte, Visualisierung Über alle Objekte Verlinkung über Traceability-Matrix

Project-Management- Konfigurierbare Tracker etwa für Konfigurierbare Tracker etwa für Konfigurierbare Tracker für Work Konfigurierbare Issue- und Change- Tools (Tracker) Defects, Requirements, Tasks Projects, Tasks, Change Requests; Items wie Change Requests, Tracker integriert mit SCM-Tools; Tracker-basierender Tasks, Requirements Tracker-Workflow konfigurierbarer Workflow

Wiki Geplant Vorhanden Geplant Vorhanden

Prozessmodell Kundenspezifischer Workflow, Agile, Kundenspezifischer Workflow Kundenspezifischer Workflow, Konfigurierbare Workflows, Sourceforge Iterative/Spiral, Wasserfall, RUP, (Tracker-basierend), CMMI-Reports CMMI, Spice, ISO Collaborative Development Process CMMI

Skalierbarkeit Sechsstellige User-Zahlen Größer 3500 Mehrere hundert, abhängig Fünfstellige User-Zahlen von der Server-Leistung

Sicherheit und Feingranulares, konfigurierbares, Rechte- und rollenbasierend, Globales und projektspezifisches Globale und projektspezifische Zugangskontrolle rollenbasierendes Rechtekonzept; feingranular auf Artefakt-Ebene; Rollen- und Rechtekonzept; LDAP, Rollen und Rechtevergabe; keine LDAP-Anbindung LDAP, Siteminder (SSO) Active-Directory-Anbindung, SSO LDAP, SSO

Vertriebsmodell Home Office Vertriebsniederlassung Vertriebsniederlassung Vertriebspartner in Deutschland

Preismodell Service Lizenzvertrieb Lizenzvertrieb Miete oder Lizenzvertrieb

Hier lesen Sie …

Gestiegene Erwartungen

Die Anforderungen an solche Tools beschränken sich jedoch nicht mehr nur auf die leichtere Zusammenarbeit innerhalb der Entwicklung. Erwartet werden Tools, die sehr unterschiedliche Anforderungen an Programmierer unterstützen. Diese müssen neue Funktionen und Kun- denwünsche umsetzen, Fehler in der Software beseitigen, Änderungen einarbeiten, Zeitpläne einhalten und ihre Produkte sauber dokumentieren. Letztlich müssen nicht nur die Projektleiter, sondern alle Projektbeteiligten zu jeder Zeit einen Überblick über den Status des Vorhabens beziehungsweise der eigenen Aufgaben haben. Collaboration-Software soll dies gewährleisten und darüber hinaus sicherstellen, dass alle Änderungen an einem Softwareprojekt und dessen Entstehungsprozess auch für Dritte nachvollziehbar bleiben.

Grundvoraussetzungen

Bei der Einführung einer Collaboration-Software muss eine unternehmensweite, also auch standortübergreifende Reorganisation der Softwareentwicklungsprozesse vorgenommen werden. Dabei wird schnell klar, dass alle Beteiligten offen für Veränderungen sein müssen. Probleme treten vor allem dann auf, wenn die Betroffenen durch das Werkzeug zusätzliche Arbeit haben und sie beispielsweise ihre Arbeitsergebnisse täglich manuell in das Collaboration-Tool überführen müssen. Ein wichtiger Aspekt ist also, die Collaboration-Werkzeuge möglichst gut in die bestehenden Softwareentwicklungsprozesse zu integrieren. Dafür gibt es zwei Ansätze: die Migration aller existierenden Tools in die neue Umgebung oder die Anbindung der existierenden Komponenten über das Collaboration-Programm.

Unabhängig vom gewählten Ansatz sollten die Werkzeuge einen zentralen Zugriff auf alle relevanten Informationen bie- ten, eine strukturierte Ablage der Daten gewährleisten und ein schnelles Auffinden der gesuchten Informationen ermöglichen. Diese Funktionalität wird in der Regel durch ein zentrales Repository gewährleistet, in dem die unterschiedlichen Objekte über deren URL oder eine eindeutige ID miteinander in Verbindung gesetzt werden. So lassen sich über einen Change Request die umzusetzenden Anforderungen, die dazu in einem Forum geführten Diskussionen, die daraus abgeleiteten Aufgaben und sogar die Änderungen im Sourcecode nachvollziehen.

Integration in Abläufe

Wichtig ist auch, dass das Col- laboration-Werkzeug die un- ternehmensinternen Entwicklungsprozesse abbilden kann. Die meisten Produkte bieten hierfür Prozess-Templates, die sich kunden- oder auch pro- jektspezifisch anpassen las- sen. Zusätzlich sollten die Tools eine Unterstützung von Standards wie CMMI oder Spice bieten.

Projekt-Management inklusive

Neben der Abbildung der Entwicklungsprozesse muss das Thema Projekt-Management und Projekt-Controlling einen hohen Stellenwert innerhalb eines Collaboration-Werkzeugs einnehmen. Hierzu gibt es so genannte Projekt-Tracker, welche die Fortschritte bei der Abar- beitung von Aufgaben überwachen. Ein weiteres wichtiges Kriterium ist, dass ein Werkzeug über eine Zeit- beziehungsweise Aufwandserfassung verfügen sollte.

Nachdem aber nicht jede Information für alle Projektmitarbeiter relevant ist und manche Daten auch nur für einige ausgewählte Mitarbeiter sichtbar sein dürfen, ist ferner ein fein granulares Rollen- und Rechtekonzept als absolutes Muss zu betrachten - ebenso wie ein hohes Maß an Sicherheitsmechanismen, die unbefugte Zugriffe verhindern. Dies ist besonders dann von Bedeutung, wenn das Produkt nicht nur hinter, sondern auch vor einer Firewall zum Einsatz kommen soll, wie es bei firmenübergreifenden Projekten der Fall ist.

Für die Akzeptanz einer Collaboration-Lösung ist außerdem die Performanz ein wichtiges Kriterium. Ebenso die Skalierbarkeit, denn Projekte mit mehreren hundert Beteiligten sind keine Seltenheit mehr. Auch sollte ein sukzessives Ausrollen der Software von wenigen Anwendern bis hin zu einem unternehmensweiten Einsatz leicht zu bewerkstelligen sein.

Schließlich stellt sich die Frage nach den Kosten. Von Herstellerseite werden zwei verschiedene Vertriebsmodelle angeboten: Installation der Software hinter der Firewall auf der unternehmenseigenen Hardware oder die Bereitstellung des Produkts als "Software as a Service" (SAAS), wobei das Hosting und die Wartung vom Hersteller übernommen werden. Die Abrechnung erfolgt dann pro User und Monat.

Bei der Hosting-Variante entfallen die Kosten für die Administration der Infrastruktur, da für die Aktualisierung, Skalierung und Verfügbarkeit der Anwendung der Anbieter zuständig ist. Dieses Modell wird derzeit allerdings noch zögerlich angenommen, da viele Firmen den Schritt scheuen, ihre Daten auf einem unternehmensfremden Server abzulegen.

Anbieter und Produkte

Zurzeit haben sich vier Anbieter von Collaboration-Produkten im Bereich Softwareentwicklung auf dem Markt herauskristallisiert:

• Collabnet mit "Collabnet Team Edition",

• Intland mit "Codebeamer",

• Polarion mit "Polarion for Subversion" und "Polarion for SAP Netweaver" und

• VA Software mit "Sourceforge Enterprise Edition".

Wie schon erwähnt, gehen die Hersteller unterschiedliche Wege bei der Kundenimplementierung ihrer Software: Integration der bestehenden Infrastruktur oder Migration der vorhandenen Werkzeuge. Das Ziel ist jedoch immer, eine einheitliche Zugriffsoberfläche für alle Projektbeteiligten zu schaffen. Den integrativen Ansatz verfolgen sowohl Intland mit Codebeamer als auch VA Software mit der Sourceforge Enterprise Edition. Sourceforge ermöglicht das "Knowledge Threading" zwischen bestehenden Tools, indem diese über ein Soap-API angebunden werden. Codebeamer bietet eine Kopplung für alle gängigen Change- und Konfigurations-Management-Systeme und ist durch seine offene Programmierschnittstelle bezüglich der Integration anderer im Unternehmen genutzter Anwendungen erweiterbar.

Migration bestehender Tools

Polarion for Subversion und Polarion for Netweaver sowie die Collabnet Enterprise Edition gehen den anderen Weg und migrieren die im Unternehmen vorhandenen Werkzeuge in die jeweilige Lösung. Polarion verwendet hierzu Subversion beziehungsweise Netweaver als alleiniges Repository, in dem alle Daten zentral abgelegt und verwaltet werden. Collabnet bietet neben der Migration von Anwendungen wie Subversion oder CVS zusätzlich die Möglichkeit, Anwendungen über Konnektoren anzubinden.

Prognose

Collaboration in der Softwareentwicklung steckt noch in den Kinderschuhen. In den meisten Unternehmen muss hier von den Tools-Anbietern noch viel Überzeugungsarbeit geleistet werden. Der amerikanische und asiatische Markt sind in dieser Hinsicht dagegen bereits weiter. Aufgrund der Tendenz zu Offshore- und Outsourcing-Projekten wächst allerdings der Bedarf an professioneller Collaboration-Unterstützung. Zusätzlich müssen die Unternehmen ihre Time-to-Market-Zyklen verkürzen und gleichzeitig die Qualität ihrer Software erhöhen.

Collaboration-Software kann aufgrund der Präsenz der Informationen die Wiederverwendbarkeit von Lösungen erhöhen und damit eine Produktivitäts- und Qualitätssteigerung unterstützen.

Ein nicht zu vernachlässigender Aspekt ist auch, dass neue Mitarbeiter schneller eingearbeitet sind und Projekte generell zügiger aufgesetzt werden können, indem man einheitliche und standardisierte Projekt-Templates beziehungsweise Modelle über den gesamten Entwicklungsprozess verwendet. Wenn sich diese Sicht in den Unternehmensführungen etablieren kann, dann hat der Collaboration-Markt eine große Zukunft - insbesondere da, wo Informationen einerseits sehr verteilt vorliegen und andererseits ein hoher Kommunikationsbedarf vorliegt. (ue/ws)