Versionsmanagement ist angesagt!

Ralf Gronkowski ist Consultant bei Perforce Software

Noch nie wurden so viele elektronische Dokumente erstellt, modifiziert und zum Zwecke der Zusammenarbeit verteilt und wieder eingesammelt wie heute. Und dennoch werden die „Knowledge Worker“ mit vielen der drängendsten Probleme beim täglichen Arbeiten mit Dokumenten allein gelassen. Was fehlt, ist eine Versionierung, die diesen Namen verdient.

Unter den zahlreichen Phänomenen, die den Umgang mit Dokumenten erschweren, ist zuallererst einmal die Art und Weise zu nennen, wie ein einmal erstelltes Dokument in Umlauf gelangt. Spätestens wenn nicht nur interne, sondern auch externe Mitarbeiter involviert sind, dominiert hier immer noch E-Mail mit seiner Möglichkeit, Anhänge zu versenden. In der Regel ist das aus Sicht der Benutzer die einfachste und schnellste Lösung. Schließlich ist das E-Mail-Programm ohnehin geöffnet. Außerdem wird wohl kein anderes Desktop-Programm von so vielen Menschen beherrscht wie E-Mail.

E-Mail: Allzweckwaffe mit Kollateralschäden

Was dieses Verhalten „technisch“ bedeutet, dürfte zwar hinlänglich bekannt sein. Eine kurze Zusammenfassung der Folgen ist dennoch immer wieder interessant:

  1. Mit dem Erstellen eines Anhangs wird eine autonome editierbare Kopie des Dokuments erzeugt, und zwar im Posteingang des Empfängers und unter Umständen auch auf dessen Rechner.
  2. Ob der jeweilige Empfänger auf „An“, „CC“ oder „BCC“ der E-Mails steht, ist irrelevant.
  3. Der Zweck (z.B. Aufforderung zur Änderung oder Anpassung, nur zur Information oder zur Freigabe) der Erstellung der Kopie ergibt sich bestenfalls aus dem Inhalt der Nachricht.
  4. Wenn ein überarbeitetes Dokument an den Absender zurückkommt, ist der Bezug zum ursprünglichen Kopiervorgang nicht mehr erkennbar.
  5. Der Kopiervorgang kann durch die noch simplere Funktion des Weiterleitens beliebig vervielfacht werden.
  6. Kopien der Kopien sind als solche nicht erkennbar.
  7. Ein definierter Workflow in Bezug auf eventuelle Überarbeitungen des Dokuments ist nicht gegeben.

Das sind zunächst einmal relativ nüchterne Feststellungen und als solche relativ unspektakulär. Nicht mehr ganz so unspektakulär ist das häufig anzutreffende Ergebnis dieser Arbeitsweise. Nur wenige Phänomene im Arbeitsalltag werden nämlich als so frustrierend wahrgenommen wie Missverständnisse, Unsicherheiten und unnötiger Koordinierungsaufwand, die sich aus miteinander im Widerspruch stehenden Änderungen ergeben. Ablesbar ist diese Frustration an Aussagen der Betroffenen. Häufig fallen dabei Sätze wie „Jetzt habe ich Änderungen an einer veralteten Version des Dokuments vorgenommen.“ Oder: „Wir müssen die Teile der unterschiedlichen Dokumente zu einer neuen Version zusammenführen.“, „Ist das hier überhaupt die aktuelle Version des Dokuments?“, „Haben wir diese Änderung nicht schon in einer Vorgängerversion eingebaut?“ und natürlich „Ist die Änderung des Logos eigentlich in allen Versionen enthalten?“

Bild 1: Koordinierungsaufwand bei unterschiedlichen Dokumentversionen (Quelle: Harris Interactive im Auftrag von Perforce Software)

Wenn man diese typischen Sätze, die vermutlich schon jeder mehrfach gehört hat, etwas genauer betrachtet, stellt man fest, dass es dabei immer um „Versionen“ und die Probleme im Umgang mit ihnen geht. All diese Versionen rufen nach einem leistungsstarken Management.

Dokumentenmanagement und Programmierung

Angesichts der Fülle des Angebots an Dokumentenmanagement-Lösungen scheint diese Feststellung auf den ersten Blick verwunderlich. Ein kurzer Ausflug in die Besonderheiten der Softwareentwicklung oder Programmierung hilft jedoch, einen anderen Blickwinkel einzunehmen. Was Programmierer tagtäglich und in der Hauptsache tun, ist, eine oder mehrere Programmcode-Dateien zu ändern. Einfacher ausgedrückt: ein Dokument zu überarbeiten. Dabei ist die Änderungshäufigkeit höher als bei normalen Geschäftsdokumenten. Zudem findet ein Mehr an Zusammenarbeit am gleichen Dokument ganz selbstverständlich statt. Schließlich besteht ein wesentliches Mittel zur schnelleren Entwicklung einer Software darin, die Zahl der beteiligten Programmierer zu erhöhen. Das allein garantiert zwar auch nicht immer den Erfolg. Aber heutige Softwareprojekte sind in den seltensten Fällen noch das Werk kreativer Einzelkämpfer.

Die daraus erwachsenden Anforderungen an die Zusammenarbeit („Collaboration“) der Entwickler sind technisch höchst anspruchsvoll, wenn sie von Softwarelösungen abgebildet werden sollen. Im Bereich der Softwareprogrammierung ist dieses Problem im Kern gelöst. Versionsmanagement leistet genau das und unterscheidet sich gleichzeitig von den Angeboten der Dokumentenmanagementhersteller.

Was Versionsmanagement leistet

Zu den Kernfunktionen eines leistungsstarken Versionsmanagements zählen:

  1. Eine Datei kann von mehreren Benutzern zu ein und derselben Zeit bearbeitet werden.
  2. Mögliche Konflikte werden erkannt, deren Auflösung wird unterstützt, unter Umständen sogar automatisch erledigt.
  3. Zueinander im Widerspruch stehende Änderungen lassen sich zusammenführen. In der Softwareentwicklung spricht man hier von „Merging“.
  4. Die Änderungshistorie wird lückenlos dokumentiert und ist jederzeit für die Nutzer nachvollziehbar.
  5. Änderungen sind logisch zusammenhängende Gruppen von Detailänderungen.
  6. Ausgewählte Änderungen können in Kopien vorheriger Versionen nachgeführt werden.
  7. Änderungen lassen sich selbstverständlich auch rückgängig machen.

Für all diese Funktionen ließen sich hier sicher detaillierte Anwendungsfälle beschreiben, welche diese sinnvoll belegen. Das würde aber vermutlich den Rahmen dieses Artikels sprengen. Ein interessantes Beispiel sind aber all jene Fälle, bei denen ein Dokument aus Gründen einer effizienten Wiederverwendung in einem anderen Kontext kopiert wird. Diese Kopie erhält dort eigenständige Überarbeitungen. Nach einer bestimmten Zeit stellt sich dann allerdings heraus, dass im ursprünglichen Dokument ein Teil veraltet oder nicht mehr angemessen ist, wie beispielsweise eine Klausel in einem Vertrag, die aufgrund veränderter Rechtsprechung nicht mehr aktuell ist. In diesem Fall wäre es wünschenswert, wenn festgestellt werden könnte, welche weiteren Dokumente diese veraltete Textstelle aufweisen, um deren Überarbeitung zu ermöglichen.

Nicht alle diese Anwendungsfälle sind tägliche Praxis des Umgangs mit „normalen“ Dokumenten, doch im Falle ihres Eintritts verbreiten sie ihren Schrecken. In der Softwareentwicklung sind sie Tagesgeschäft, und Programmierer kennen sie. Natürlich gibt es aber noch weitere Unterschiede zwischen Versionsmanagement klassischer Art für Programmierer und dem Dokumentenmanagement.

Unterschiedliche Dokument-Typen: Problem gelöst

Kritiker werden nun einwenden: Während Versionsmanagement mit vielen kleinen Änderungen und sehr dynamischen Strukturen der Zusammenarbeit klarkommen muss, sind doch die verwalteten Dokument-Typen eher simpel und die Größe der Dokumente liegt in einem überschaubaren Rahmen. Gleichzeitig verwalten viele Versionsmanagement-Systeme lediglich einfache Textdokumente mit Quellcode in effizienter Art und Weise. Und erlauben ausschließlich für diese das maschinelle Zusammenführen von Änderungen.

Allerdings hat sich in diesem Bereich in den vergangenen Jahren durchaus viel getan. In den Entwicklungsabteilungen setzt sich immer mehr die Erkenntnis durch, dass nicht nur Quellcode versionierungswürdig ist. Denn technische Dokumentationen, Modell-Dateien, Hardware-Images und Bilder sind heute häufig Bestandteil eines Entwicklungs-Projektes. Somit ist es sinnvoll, diese im gleichen Kontext wie den Quellcode zu versionieren. Moderne Versionsmanagement-Systeme sind dazu zunehmend in der Lage, indem sie auch sehr große Dateien performant und effizient speichern und verwalten. Gleichzeitig ermöglichen moderne XML-basierte Dateiformate einfachere Vorschau- und Überarbeitungsfunktionen.

Von Versionierung zu Dokumentenmanagement

Der Schwerpunkt des Versionierungsmanagements liegt in der Unterstützung der Zusammenarbeit, während das Dokumentenmanagement vor allem den Lebenszyklus des Dokuments im Blick hat. Es gibt prinzipiell zwei Möglichkeiten, beide Welten miteinander zu verbinden: über einen Workflow oder die Integration einer Versionierungs-Engine mit einem Dokumentenmanagementsystem. Ein Beispiel für beide Möglichkeiten liefert der Versionierungs-Spezialist Perforce Software. Mit seiner Lösung „Commons“ hat der Anbieter einen komplett neuen Web-basierten Client vorgestellt, der die Komplexität seines Versionierungs-Werkzeuges für Entwickler radikal auf die wesentlichen Aspekte reduziert und gleichzeitig einen einfach gehaltenen Workflow implementiert. Dieser unterstützt Diskussionen sowie Benachrichtigungen und verwaltet Dokumente in übersichtlichen Bereichen. Ebenso erlaubt dieser Client den Benutzern, weiterhin mit E-Mail-Anhängen sowie lokal gespeicherten Dateien zu arbeiten. Einfachheit und Bedienkomfort für den Anwender lautet dabei die Priorität, so dass auch die weniger technisch versierten Nutzer intuitiv mit der Lösung umgehen können.

Darüber hinaus bietet Perforce die Möglichkeit, fortgeschrittene Versionierungs-Funktionalitäten durch die Integration einer Versionierungs-Engine in bestehende Dokumentenmanagement-Systeme zur Verfügung zu stellen. Geeignete Schnittstellen gibt es bereits heute.

Fazit

Versionierung, wie sie bislang nur im Bereich der Softwareentwicklung bekannt war, wird in die Welt des Dokumentenmanagements Einzug halten. Denn der Bedarf an solchen Lösungen besteht und ist insbesondere an der schon fast selbstverständlichen Nutzung von Internetdiensten zum Dateiaustausch abzulesen, die ursprünglich für Privatanwender konzipiert wurden, aber auch heute schon in den Unternehmen Alltag sind. Jedoch können nur Versionierungslösungen hinter der Unternehmens-Firewall für die gebotene Sicherheit und den gesetzlich vorgeschriebenen Datenschutz sorgen.

www.perforce.com

Ralf Gronkowski ist Consultant bei Perforce Software. Das Unternehmen mit Hauptsitz in Alameda im US-Bundesstaat Kalifornien und Niederlassungen in Großbritannien, Kanada und Australien unterstützt Teams beim gemeinsamen Arbeiten an wichtigen digitalen Assets einschließlich Softwarecode, Dokumenten, Multimedia-Inhalten, Tabellen, Bildern etc. Seine Lösungen sind darauf ausgelegt, große und verteilte Inhalte zu managen.