BlitzWorks

Quellcode-Übergabe: Was Sie am Ende eines Softwareprojekts bekommen sollten

Simon Gloël, Geschäftsführer, BlitzWorks · · 5 Min. Lesezeit

Zu einer vollständigen Übergabe gehören der Quellcode mit seiner gesamten Änderungshistorie, eine Dokumentation, mit der ein fremder Entwickler die Anwendung versteht, alle Zugänge sowie eine Beschreibung, wie die Anwendung gebaut und in Betrieb genommen wird. Der Test ist einfach: Könnte ein anderer Dienstleister mit diesen Unterlagen morgen weitermachen?

Warum ist die Übergabe so wichtig?

Individuelle Software begleitet ein Unternehmen oft zehn Jahre oder länger. In dieser Zeit wechseln Mitarbeitende, Dienstleister geben ihr Geschäft auf oder die Zusammenarbeit passt nicht mehr. Wer dann feststellt, dass der Quellcode nur beim alten Anbieter liegt, hat ein Problem, das sich nur mit viel Geld lösen lässt.

Wir übernehmen immer wieder Anwendungen, deren ursprünglicher Entwickler nicht mehr erreichbar ist. Der Unterschied zwischen einer sauberen und einer schwierigen Übernahme liegt fast nie im Code selbst. Er liegt in dem, was um den Code herum fehlt.

Wem gehört der Quellcode eigentlich?

Das regelt der Vertrag, und zwar am besten, bevor das Projekt beginnt. Achten Sie darauf, dass Ihnen die Nutzungsrechte am Quellcode vollständig und zeitlich unbegrenzt eingeräumt werden, einschließlich des Rechts, ihn selbst oder durch Dritte zu ändern. Eine Formulierung wie "Der Kunde erhält die Software zur Nutzung" reicht dafür nicht.

Klären Sie außerdem, ob der Anbieter Teile aus eigenen Bibliotheken verwendet, die er Ihnen nur zur Nutzung überlässt. Das ist nicht grundsätzlich schlecht, aber Sie sollten es wissen, bevor Sie unterschreiben. Für rechtliche Details lohnt sich ein Blick durch einen Anwalt.

Was gehört zur Übergabe dazu?

Checkliste für die Übergabe
  • Quellcode in einem Versionsverwaltungssystem, mit vollständiger Historie
  • Technische Dokumentation: Aufbau, Datenmodell, Schnittstellen
  • Beschreibung, wie die Anwendung gebaut und installiert wird
  • Alle Zugänge: Server, Datenbanken, Domains, externe Dienste
  • Liste der verwendeten fremden Bibliotheken und ihrer Lizenzen
  • Aktueller Export der Datenbank und Beschreibung der Datensicherung
  • Übersicht offener Fehler und bekannter Einschränkungen

Der Quellcode mit Historie. Moderne Entwicklung arbeitet mit einer Versionsverwaltung, die jede Änderung mit Datum und Beschreibung speichert. Lassen Sie sich diese Historie übergeben, nicht nur einen Ordner mit dem letzten Stand. Die Historie zeigt, warum etwas so gebaut wurde, und das ist bei späteren Änderungen oft wertvoller als der Code selbst.

Die Dokumentation. Sie muss nicht hundert Seiten lang sein. Sie sollte aber erklären, aus welchen Teilen die Anwendung besteht, wie die Daten aufgebaut sind und welche anderen Systeme angebunden werden. Ein erfahrener Entwickler, der das Projekt nicht kennt, sollte sich damit in wenigen Tagen zurechtfinden.

Bauen und Inbetriebnahme. Aus dem Quellcode muss eine lauffähige Anwendung werden. Wie das geht, gehört aufgeschrieben, am besten so, dass es weitgehend automatisch abläuft. Fehlt diese Beschreibung, beginnt jeder neue Dienstleister mit Detektivarbeit.

Die Zugänge. Server, Datenbank, Domain, E-Mail-Versand, Zahlungsanbieter, Kartendienste. Alle Konten sollten auf Ihr Unternehmen laufen oder zumindest an Sie übertragbar sein. Ein Domainvertrag auf den Namen des Entwicklers ist ein häufiger und ärgerlicher Fund.

Fremde Bibliotheken und Lizenzen. Fast jede Anwendung verwendet fremden Code, meist Open Source. Die meisten Lizenzen sind unproblematisch, einige verpflichten aber zu bestimmten Angaben oder schränken die Weitergabe ein. Eine Liste der verwendeten Bibliotheken schafft Klarheit.

Daten und Datensicherung. Wo liegen die Daten, wie werden sie gesichert, und wie stellt man eine Sicherung wieder her? Ein aktueller Export gehört zur Übergabe dazu, ebenso die Information, ob die Wiederherstellung schon einmal getestet wurde.

Wie prüfen Sie, ob die Übergabe vollständig ist?

Die zuverlässigste Prüfung ist ein Versuch. Bitten Sie einen zweiten Entwickler, intern oder extern, die Anwendung anhand der Unterlagen auf einem eigenen Rechner zu bauen und zu starten. Gelingt das ohne Rückfragen, ist die Übergabe in Ordnung. Jede Rückfrage zeigt eine Lücke in der Dokumentation.

Planen Sie diesen Schritt als Teil der Abnahme ein und nicht erst dann, wenn Sie den Dienstleister wechseln wollen. Dann ist die Zusammenarbeit oft schon angespannt, und fehlende Unterlagen sind schwerer zu bekommen.

Welche Lücken finden sich bei Übernahmen am häufigsten?

Wenn wir eine bestehende Anwendung übernehmen, fehlt selten der Code. Es fehlt fast immer das Wissen, das nur im Kopf des bisherigen Entwicklers lag.

Ein typischer Fall sind Einstellungen, die nirgends dokumentiert sind. Die Anwendung läuft auf dem alten Server, weil dort eine bestimmte Konfiguration hinterlegt ist, die niemand aufgeschrieben hat. Auf einem neuen Server startet sie nicht. Ein zweiter Fall sind Zugänge zu externen Diensten, etwa zum Versand von E-Mails oder zu einem Zahlungsanbieter, die auf private Konten laufen. Ein dritter sind nächtliche Aufgaben, etwa ein Datenabgleich, von denen erst jemand erfährt, wenn sie nicht mehr laufen.

Alle drei Lücken lassen sich mit wenig Aufwand vermeiden, solange die Zusammenarbeit noch besteht. Später kosten sie ein Vielfaches. Eine gute Gewohnheit ist deshalb, die Übergabeunterlagen bei jeder größeren Änderung zu aktualisieren und einmal im Jahr gemeinsam durchzusehen. Am Projektende allein ist es zu spät.

Fragen Sie Ihren Dienstleister ruhig direkt, ob diese Unterlagen existieren und wo sie liegen. Die Antwort sagt viel über die Zusammenarbeit. Ein Dienstleister, der gut dokumentiert, hat damit kein Problem, denn er profitiert selbst davon, wenn ein Kollege im Urlaub eine Störung beheben muss.

Wie wir das bei BlitzWorks machen

Bei uns gehören Ihnen Quellcode, Dokumentation und alle Zugänge vollständig. Sie können die Anwendung jederzeit selbst oder mit einem anderen Dienstleister weiterentwickeln. Die eingesetzte Technik wählen wir so, dass es genügend Entwickler am Markt dafür gibt, und begründen die Auswahl im Konzept.

Übernehmen wir eine bestehende Anwendung, sagen wir Ihnen nach einer Durchsicht von Code und Dokumentation, in welchem Zustand sie ist und was Wartung und Weiterentwicklung kosten. Betreiben wir eine Anwendung und Sie kündigen, übergeben wir Daten und Konfigurationen dokumentiert an Sie oder einen anderen Dienstleister. Mehr dazu auf der Seite Software- und Webentwicklung. Fragen zu einer konkreten Anwendung beantworten wir gern über die Kontaktseite.

Fragen zu diesem Thema? Antwort innerhalb eines Werktags.