Zum Hauptinhalt springen

Phi Engineering & Consulting

Fachbeitrag

Fremde Codebasis übernehmen: Tag eins liefert nichts

6. Mai 2026 · Software

Drei Soldaten stecken Kabel an einer tragbaren Telefonvermittlung
Symbolbild. United States Army Signal Corps, Public Domain, Quelle. Unverändert, nur verkleinert.

Wer Entwicklungskapazität einkauft, rechnet damit, dass am ersten Tag gearbeitet wird. Wird es auch. Nur nicht an der Aufgabenliste.

Eine fremde Codebasis übernehmen heißt zunächst: sie lokal zum Laufen bringen und herausfinden, wie sie in Betrieb geht. Dafür geht der erste Tag drauf.

Das ist kein verlorener Tag.

Code zu lesen und zu verstehen ist der Hauptteil der Arbeit an Bestandssoftware. In einer Feldstudie unter Berufsentwicklern entfielen im Mittel bis zu 58 Prozent der Arbeitszeit auf das Verstehen von Code.

Am ersten Tag fällt dieser Anteil nur besonders auf, weil noch nichts davon vorhanden ist.

Deshalb steht er im Angebot und wird abgerechnet wie jeder andere.

Was der Befund enthält

Was vorgefunden wurde, in welchem Zustand Build, Abhängigkeiten und Deployment sind, was zuerst zu tun ist und was das grob kostet.

Dazu die Stellen, an denen die Anwendung ohne Dokumentation auskommen muss, und die Abhängigkeiten, die seit Jahren keine Pflege mehr bekommen haben.

Der Befund entsteht im Lauf des ersten Tages und wird als kurzes Dokument übergeben; Umfang und Zeitpunkt der Übergabe regelt das individuelle Angebot.

Die Kostenschätzung darin ist eine Größenordnung für die Planung und bindet niemanden; verbindlich wird erst, was danach im Angebot steht.

Der Befund gehört dem Kunden.

Er ist auch dann etwas wert, wenn danach niemand weiterarbeitet, denn er ist die einzige Unterlage, mit der sich ein zweites Angebot vergleichen lässt.

Ein Anbieter, der ihn verschenkt, rechnet ihn woanders ein oder schreibt ihn oberflächlich.

Fünf Tage Mindestabruf, und die Rechnung dahinter

Mann an einem Schaltpult mit vielen Anzeigen in einer Kraftwerksleitwarte
Symbolbild. Queensland State Archives, Public Domain, Quelle. Unverändert, nur verkleinert.

Wer Bestandscode weiterentwickeln lässt, kauft die Arbeit in Blöcken ein.

Wiederaufnahme des Standes, Abstimmung und Übergabe kosten je Block rund einen halben Personentag.

Bei einem Block von fünf Tagen ist das ein Zehntel.

Bei zwei Tagen wäre es ein Viertel, und dann zahlt der Kunde überwiegend für das Anlaufen.

Der Mindestabruf schützt also das Budget des Kunden.

Das glaubt zunächst niemand, und deshalb steht die Rechnung daneben.

Die Sprache ist selten die Entscheidung

Altair 8800 Mikrocomputer neben einem Fernschreiber
Symbolbild. Tim Colegrove, CC BY-SA 4.0, Quelle. Unverändert, nur verkleinert.

Gearbeitet wird in .NET und Elixir, dazu SQL, Linux, Container und das Deployment in Cloud- und Kubernetes-Umgebungen.

In .NET heißt das C# mit ASP.NET Core, meist Web-Anwendungen und die Dienste dahinter. In Elixir heißt es das Framework Phoenix, meist Anwendungen mit dauerhaft offenen Verbindungen.

Wo die Wahl noch offen ist, hilft eine einzige Frage: Bleiben viele Verbindungen gleichzeitig offen?

Eine Anzeige, die sich von selbst aktualisiert, ein Ticker, viele Geräte, die dauernd melden.

Dafür ist die Laufzeitumgebung hinter Elixir gebaut, die BEAM. Sie hält je offener Verbindung einen eigenen leichtgewichtigen Prozess.

Im Phoenix-Test von 2015 blieben so zwei Millionen Verbindungen auf einer einzigen Maschine mit 40 Kernen und 128 GB Arbeitsspeicher offen; die Grenze war das ulimit des Betriebssystems.

Für denselben Fall stellen andere Umgebungen meist einen zusätzlichen Message-Broker oder eine separate Websocket-Schicht daneben.

Steht dagegen ohnehin eine Microsoft-Landschaft, hat .NET den kürzeren Weg.

Wichtiger als beides ist die unbequeme Frage: Wer fasst diesen Code in fünf Jahren an?

In der Stack-Overflow-Umfrage 2025 nennen 27,8 Prozent der Befragten C# und 2,7 Prozent Elixir. Der Kreis möglicher Nachfolger ist damit rund zehnmal kleiner.

Wer Elixir wählt, sollte den Wissenstransfer deshalb vorher regeln.

Wofür niemand geradesteht

Nicht enthalten sind Rufbereitschaft, zugesagte Reaktionszeiten, Anwenderunterstützung und die Betriebsverantwortung für die Anwendung.

Ebenso wenig eine Gewähr für Bestandscode, der vor dem ersten Tag entstanden ist.

Wer die zusagt, hat den Code nicht gesehen.

Und eine Bedingung, die nach Formalie klingt und keine ist: keine Eingliederung in fremde Teams.

Gearbeitet wird nach Aufgabe, ohne Weisung aus dem Kundenteam.

Grund dafür ist der eigene Status, und deshalb gilt die Bedingung für jeden Kunden gleich.

Die Frage, die vor der Beauftragung fällig ist

Nützlicher als die Frage „Können Sie das?“ ist die Frage „Was brauchen Sie am ersten Tag von uns?“.

Die Antwort ist kurz: Zugang zur Codebasis, zur Versionsverwaltung und zu einer Umgebung, in der sich die Anwendung starten lässt.

Eine startfähige Umgebung heißt dabei: erreichbare Datenbank, gesetzte Konfiguration und Zugangsdaten für die Dienste, an denen die Anwendung hängt.

Fehlt das dritte, ist der erste Tag der Tag, an dem es beschafft wird.

Zugangsdaten fehlen häufiger als der Zugang zum Quelltext, und sie sind der einzige Teil, den ein Kunde vorher wirklich beeinflussen kann.

Angebot
Arbeit in einer bestehenden Anwendung
Satz
90 € netto je Stunde, 720 € je Personentag
Mindestabruf
5 Personentage, also rund 3.600 € netto
Umgebungen
.NET mit C# und ASP.NET Core, Elixir mit Phoenix
Kontakt
phi ec
info@phiec.de

Quellen

Quellen zuletzt geprüft am 25. August 2026.

  • Measuring Program Comprehension: A Large-Scale Field Study with Professionals, IEEE Transactions on Software Engineering, Vol. 44, 2018. Das ist die Überschrift dieses Beitrags in Zahlen: „a field study of program comprehension in practice with a total of 7 real projects, 79 professional developers, and amounting to 3,244 working hours“, Ergebnis „on average, developers spend up to ∼58% of their time on program comprehension“. Abgerufen wurde die frei zugängliche Autorenfassung als PDF; die Zeitschriftenfassung liegt hinter einer Schranke. ieeexplore.ieee.org, Measuring Program Comprehension
  • Phoenix Framework: The Road to 2 Million Websocket Connections in Phoenix, 3. November 2015. Daraus die eine Frage zur Sprachwahl, ob viele Verbindungen gleichzeitig offen bleiben: erreicht wurden „2 million clients, limited by ulimit“ auf einer Maschine mit 40 Kernen und 128 GB Arbeitsspeicher. Anbieter- beziehungsweise Projektangabe, aus dem Jahr 2015. phoenixframework.org, 2 Million Websocket Connections
  • Stack Overflow: 2025 Developer Survey, Abschnitt Technology. Daraus die unbequeme Frage, wer den Code in fünf Jahren anfasst: C# nennen 27,8 Prozent der Befragten, Elixir 2,7 Prozent. Das sagt nichts über die Güte einer Umgebung; es beschreibt den Umkreis, in dem sich jemand findet. survey.stackoverflow.co, 2025 Technology
  • Viertes Buch Sozialgesetzbuch: § 7 Beschäftigung, herausgegeben vom Bundesministerium der Justiz. Daraus die Bedingung, keine Eingliederung in fremde Teams: „Anhaltspunkte für eine Beschäftigung sind eine Tätigkeit nach Weisungen und eine Eingliederung in die Arbeitsorganisation des Weisungsgebers.“ Das ist der Grund, warum die Bedingung für jeden Kunden gleich gilt. gesetze-im-internet.de, § 7 SGB IV
  • Eigene Zeiterfassung über abgerechnete Blöcke seit 2023, Median je Block, Projekte mit fremder Bestandscodebasis. Daraus der halbe Personentag je Block für Wiederaufnahme, Abstimmung und Übergabe.

Auf eigener Erfahrung beruhen der Befund als Ergebnis des ersten Tages, seine Form und sein Zeitpunkt sowie die Beobachtung, dass häufiger die lauffähige Umgebung fehlt als der Zugang zum Quelltext.

Die Angaben zur eigenen Erfahrung und der Mindestabruf sind eigene Angaben, keine Marktzahlen. Konditionen nennt das individuelle Angebot.

Kundennamen und Arbeitgeber werden dazu nicht genannt.