Zum Inhalt springen
megapromotingLassen Sie uns sprechen

Expertise · Maßgeschneiderte Software

Ein System, das für die Arbeitsweise Ihrer Organisation gebaut ist, nicht für den allgemeinen Fall.

Wir bauen Systeme von Grund auf, wenn kein Produkt auf dem Markt passt: Plattformen mit mehreren Anwendungen und einer gemeinsamen Datenbank, Konnektoren zu Systemen ohne API, Pipelines, die Dokumente und Geldbewegungen lesen, und Programme, deren Ergebnis kein Bildschirm ist, sondern eine Fertigungsakte. Am Ende übergeben wir das Repository, das Inbetriebnahmedokument und die Zugänge.

Bereits gebautAm ales patru sisteme proprii din discipline diferite, tocmai ca să nu arate ca patru variante ale aceluiași site, și am rulat testele fiecăruia azi. Un monorepo cu 3 aplicații și 12 pachete, 486 de fișiere TypeScript și 68 de fișiere de test, 151 de comituri, arbore de lucru curat. Un sistem de interogare a două portaluri B2B fără API public: 38 de teste trecute în 0,52 s, pe răspunsuri reale salvate ca fixturi. O conductă care citește notificări bancare din e-mail și PDF și le scrie în Postgres cu deduplicare prin amprentă. Și un generator de documentație de inginerie, în Python, cu 44 de teste trecute în 0,50 s. Cifrele sunt din rulările mele de pe 6 septembrie 2026, nu din README-uri.

„Maßgeschneidert“ bedeutet, dass das System so geschrieben wird, wie Ihre Leute bereits arbeiten, nicht umgekehrt. Es hat einen Preis, den wir vorher ehrlich benennen: Jemand muss es warten, und dieser Jemand sind wir oder Ihr Team. Deshalb ist die erste Frage, die wir Ihnen stellen, nicht, was Sie bauen wollen, sondern ob es ein Produkt gibt, das bereits 80% der Arbeit erledigt. Wenn es eines gibt, sagen wir es, auch wenn das bedeutet, dass Sie den Auftrag nicht an uns geben. Was nach dieser Frage übrig bleibt — der Teil, der nicht gekauft wird — ist genau das, was wir gut bauen.

Die Bandbreite wird aus vier unterschiedlichen Systemen klarer als aus einer Liste von Technologien. Das erste ist eine Plattform für eine Kulturinstitution: ein Monorepo mit drei Anwendungen (öffentliche Website, Verwaltungsbereich, API) und zwölf gemeinsamen Paketen — Tickets, Handel, Inhalte, Benachrichtigungen, Rückerstattungen, Sicherheit. Das zweite fragt auf Abruf die B2B-Portale von Reiseveranstaltern ab, die keine API veröffentlichen: programmatische Authentifizierung, Rückkehr zum Login, wenn die Sitzung abläuft, und ein Parser, getestet an echten, in Dateien erfassten Antworten. Das dritte liest Bankbenachrichtigungen aus E-Mail und PDF-Auszügen und legt sie in Postgres ab. Das vierte hat überhaupt keinen Bildschirm: Es ist das Programm, das das Modell, die Stückliste und die Pläne einer Industriemaschine erzeugt.

Was ein solches System trägt, ist nicht der Stack, sondern die vor dem ersten Bildschirm geschriebenen Regeln. In der Plattform für die Einrichtung für Aufführungen legt der Implementierungsvertrag im Text Dinge fest, die sonst in jeder Sitzung neu verhandelt würden: Geld wird in ganzen kleinsten Einheiten gehalten, die Währung steht daneben; die Verfügbarkeit eines Platzes ergibt sich nur aus einer dauerhaften Reservierung in der Datenbank, niemals aus dem Cache; kritische Aufträge haben Idempotenzschlüssel; die P0- und P1-Pfade fallen geschlossen aus, nicht offen; Kartendaten werden niemals gespeichert. Diese Regeln werden am Anfang geschrieben, weil sie am Ende geschrieben eine Neuschreibung des Systems bedeuten würden.

Am Ende werden drei Dinge übergeben, nicht eines: das Repository mit seiner gesamten Historie, das Dokument, das beschreibt, wie es auf einem leeren Server in Betrieb genommen wird, und die Zugänge. Unter unserem Projektverzeichnis liegen 150 Git-Repositories, 103 README-Dateien und 19 Inbetriebnahme- oder Übergabedokumente — heute gezählt, nicht geschätzt. Die Eigentumsregel schreiben wir vor dem Start in den Vertrag und sie ist einfach: der speziell für Sie geschriebene Code gehört Ihnen, Drittbibliotheken bleiben unter ihrer Lizenz, und unsere wiederverwendbaren Komponenten und unsere Produkte werden lizenziert, nicht übertragen. Wenn sich ein Teil der Arbeit mit einem unserer Produkte besser lösen lässt, sagen wir Ihnen das genau so, damit Sie von Anfang an wissen, was Sie kaufen und was Sie erhalten.

Was dazugehört

Die Arbeit, nach Bestandteilen

Wir schreiben die Fachregeln vor dem ersten Bildschirm

Ein Implementierungsvertrag in Textform, der Vokabular und Invarianten festlegt: was ein reservierter Platz bedeutet, was eine eingezogene Zahlung bedeutet, was geschlossen ausfällt, wenn ein Dienst nicht antwortet. In der Plattform für die Einrichtung für Aufführungen sind die Regeln ausdrücklich — Geld in ganzen kleinsten Einheiten plus Währung, Verfügbarkeit nur aus dauerhaften Reservierungen in der Datenbank, Idempotenzschlüssel auf kritischen Aufträgen, Cache niemals als Quelle der Wahrheit für Bestand, Kartendaten niemals gespeichert. Das sind Regeln, die im Code überprüft werden, nicht Prinzipien.

Wir bauen den Kern auf Tests, die ohne das Live-System laufen

Die realen Antworten externer Systeme werden als Fixtures gespeichert und der Parser wird darauf getestet, nicht auf dem Portal, das genau an dem Tag ausfallen kann, an dem Sie arbeiten. Beim System zur Abfrage von Flugportal-Daten läuft die Suite in 0,52 Sekunden und besteht vollständig; die Tests, die tatsächlich die Portale ansprechen, sind separat markiert und werden ausdrücklich angefordert. Dieselbe Trennung gibt es in allen vier Systemen: Was sich auf dem Tisch prüfen lässt, wird auf dem Tisch geprüft.

Wir übergeben das Repository, die Inbetriebnahme und die Zugänge

Keine Zip-Datei. Das Repository mit der Commit-Historie, ein Dokument, das beschreibt, wie das System auf einer leeren Maschine hochgefahren wird — Datenbank, Umgebungsvariablen, Systemdienst, Webserver davor — und die Zugänge, die es zu Ihrem machen. Unter unserem Projektverzeichnis gibt es heute 150 Git-Repositories, 103 README-Dateien und 19 DEPLOY- oder HANDOVER-Dokumente; diese Form der Übergabe ist die Regel, nicht die Ausnahme.

Wenn das System der anderen Seite keine API hat, sagen wir Ihnen, welches Risiko Sie eingehen

Die B2B-Portale, die wir abfragen, veröffentlichen keine programmgesteuerte Schnittstelle, daher erfolgt die Authentifizierung wie bei einem Benutzer, mit Sitzungscookie und Verbindungsschlüssel, und wird bei Ablauf automatisch erneuert. Das Risiko steht im README des Projekts, nicht erst nachträglich entdeckt: Die programmgesteuerte Authentifizierung ist gegenüber den Nutzungsbedingungen des Portals ein Graubereich, und für ein hohes Produktionsvolumen ist die richtige Lösung, beim Betreiber seine offizielle API anzufragen. Ein Kunde hat das Recht, das vor der Unterzeichnung zu erfahren, nicht erst danach.

Die Dokumente werden nur einmal übernommen, auch wenn wir sie zehnmal lesen

Jede aus einer Bankbenachrichtigung oder aus einem PDF-Auszug extrahierte Transaktion erhält eine externe Kennung, berechnet als SHA-256-Fingerabdruck über ihre Felder, und das Einfügen in Postgres erfolgt mit `ON CONFLICT (external_id) DO NOTHING`. Die praktische Folge: Das Postfach kann beliebig oft erneut gelesen werden, und der Saldo verdoppelt sich nicht. Ohne diese Regel endet jede Ingest-Pipeline damit, Duplikate zu erzeugen, also ein Buchhaltungsproblem.

Die Klassifizierung mit dem Modell erfolgt über Werkzeuge, nicht über freien Text

Das Modell schreibt keinen Satz, den wir dann erraten: Es erhält sieben Werkzeuge — Zahlung vom Kunden, Gehalt, Steuer, Zahlung an den Gläubiger, Betriebsaufwand, unbekannt — und muss eines mit einem Vertrauensscore zwischen 0 und 1 auswählen. Für die ungefähre Übereinstimmung von Gegenparteinamen gibt es einen separaten Fallback auf Basis von Vektorähnlichkeit. „Unbekannt“ ist eine legitime Ausgabe mit Begründung, kein versteckter Fehler.

Manchmal ist das Ergebnis kein Bildschirm, sondern ein Ordner

Ein eigenes System in Python erzeugt das dreidimensionale Modell einer Industriemaschine, die Stückliste mit Freigabestatus je Position, den Prüfplan, das Kabelschema und die PDF-Zeichnungen — mit einem einzigen Befehl, damit nichts im Paket hinter dem Modell zurückbleiben kann. Es hat 44 Tests, die in einer halben Sekunde bestehen und technische Regeln prüfen, nicht nur Code: dass der aktive Bereich genau ein Kubikmeter ist, dass keine Position in der Stückliste ohne Prüfzeile bleibt, dass die Maschine im Stillstand niemals extrudiert.

Kontinuierliches Messen ist eine andere Disziplin als Abfragen auf Abruf

Ein eigenes System erfasst gleichzeitig mehrere Radiosender mit `ffmpeg`, transkribiert lokal mit einem Open-Source-Modell, sucht dann nach Werbespots mit einem transparenten Score auf Signalgruppen in Rumänisch und Russisch, mit konfigurierbarer Schwelle, und gruppiert dieselbe auf verschiedenen Sendern ausgestrahlte Werbung per Audio-Fingerprint vom Typ chromaprint — weil die Transkriptionen auseinanderlaufen, der Ton aber identisch ist. Es hat 81 Tests, die in 1,14 Sekunden bestehen. Ein System, das unbeaufsichtigt läuft, braucht Abdeckungszähler, Wiederholungen mit Task-Leasing und einen Selbsttest, sonst schweigt es, wenn es kaputtgeht.

Wir sagen auch, was wir nicht bauen

Wir bauen nicht von Grund auf etwas, das sich mit einem bestehenden Produkt lösen lässt, unserem oder dem eines anderen, nur weil der Aufwand größer wäre. Wir übernehmen keine Systeme, die wir nicht lokal mit Testdaten bis zum Ende der ersten Phase laufen lassen können. Und wir starten kein System, das von einem externen Anbieter abhängt, bevor wir prüfen, welche öffentliche Schnittstelle dieser Anbieter hat — diese Prüfung kommt zuerst, nicht zuletzt.

Wie es aussieht

Der Weg, Schritt für Schritt.

01

Wir grenzen den Bereich ab und schreiben die Regeln

Eine Phase des Lesens von Systemen und des Gesprächs mit den Menschen, die die Arbeit heute machen, abgeschlossen mit einem kurzen Dokument mit dem Vokabular, den Invarianten und dem, was geschlossen untergeht. Wir liefern dieses Dokument auch dann, wenn es nicht zum Bau kommt — es ist auch ohne uns nützlich. Darin enthalten ist auch die Liste der externen Systeme, von denen die Arbeit abhängt, sowie die Prüfung, welche öffentliche Schnittstelle jedes einzelne hat, weil von dort die Überraschungen kommen.

02

Wir bauen den Kern, mit seinen Tests, vor den Bildschirmen

Die Regeln des Fachgebiets, die Datenmodelle, die Parser, die Berechnungen — plus die Tests, die ohne die lebenden Systeme laufen, auf aus echten Antworten erfassten Fixtures. Wir liefern die Suite und ihr Ergebnis, mit dem Ausführungskommando, damit Sie sie selbst ausführen können. Ein Kern, der ohne Produktionsumgebung nicht getestet werden kann, ist ein Kern, den wir später nicht schnell reparieren können.

03

Wir setzen die Oberfläche und die Integrationen über den Kern

Das Administrations-Cabinet, die öffentlichen Bildschirme, die Eintrittspunkte für andere Systeme. Hier werden die externen Anbieter angebunden, jeder mit einem eigenen Adapter und einer Simulationsvariante, damit das System vollständig ohne reale Konten laufen kann. Wir liefern auch die lokale Ausführungsmethode mit Datenbank und Diensten, die aus Containern hochgefahren werden.

04

Wir nehmen es in Betrieb und übergeben es

Installation auf der vereinbarten Infrastruktur, Systemdienst, Webserver davor, Logs und deren Rotation, Selbsttest. Danach die Übergabe: Repository, schriftliches Inbetriebnahmedokument für eine leere Maschine, Zugänge und ein Überblick über das, was noch zu tun bleibt. Was nicht rechtzeitig in die Arbeit aufgenommen wurde, wird als Liste geschrieben und nicht unausgesprochen gelassen.

IntrareVerificareDeciziePublicareNimic nu trece mai departe neverificat.ORDINEA E ARGUMENTUL
Trei pași și ordinea lor, care e jumătate din lucrare. Întâi regulile domeniului scrise în text — ce înseamnă un loc rezervat, cum se țin banii, ce cade închis când un serviciu tace. Apoi nucleul cu testele lui, care rulează pe răspunsuri reale salvate ca fixturi, fără sistemele vii. La final punerea în funcțiune și predarea: depozit, documentul pentru o mașină goală, accese. Săgeata înapoi de la pasul trei la pasul unu e reală: ce se descoperă la punerea în funcțiune schimbă regulile, nu se ascunde sub ele.

Die Daten

Was wir anfassen, wo die Daten liegen und wie lange sie bleiben

Die Fragen, die jede Person mit einem Datenschutzbeauftragten stellt — hier gestellt, bevor er sie stellt.

Wo es läuft und wer den Schlüssel hält
Das System läuft auf der Infrastruktur, die zu Beginn schriftlich vereinbart wurde: Ihr Server, ein von uns verwalteter Server oder ein gemeinsam gewählter Hosting-Anbieter. Die vier oben genannten Systeme laufen unterschiedlich — eines als Systemdienst hinter einem Webserver, eines aus Containern, eines als geplantes Programm auf einer lokalen Maschine, eines nur auf Kommando auf der Arbeitsstation. Die Wahl ergibt sich aus den Datenbeschränkungen, nicht aus Gewohnheit.
Die Zugangsdaten liegen nicht im Code und, wo es möglich ist, auch nicht auf der Festplatte
Passwörter und Schlüssel werden aus Umgebungsvariablen gelesen, und die Datei, die sie enthält, ist auf den aktuellen Benutzer beschränkt. In einem Konnektor zu einem externen System wird das Sitzungstoken nur im Speicher gehalten und bei Ablauf oder bei der ersten Ablehnung neu erstellt — Passwort und Token werden in keine Datei geschrieben. Die Regel wird bei der Revision geprüft: Ein im Repository gelandeter Schlüssel ist ein Vorfall, kein Versehen.
Die aus Dokumenten eingehenden Daten
Wenn das System E-Mails oder PDFs liest, berührt es reale Geschäftsdaten: Beträge, Kalenderdaten, Bezeichnungen von Gegenparteien, Kontonummern. Sie werden in der Datenbank des Begünstigten gespeichert, mit einer eigenen, nicht wiederholbaren Identifizierung pro Datensatz, und sie lassen sich aus der Quelle rekonstruieren. Was an ein externes Modell geht, falls eines verwendet wird, ist die Beschreibung der Transaktion — nicht das gesamte Dokument und nicht den Anhang.
Was wird aufbewahrt und wie lange
Die Aufbewahrungsfrist wird nach Datentyp festgelegt, nicht global, und vor der Inbetriebnahme festgelegt: Geschäftsaufzeichnungen nach den gesetzlichen Pflichten des Auftraggebers, technische Protokolle für ein kurzes Zeitfenster, Zwischendateien — Audioaufnahmen, heruntergeladene Anhänge — mit automatischer Bereinigung. Ein System ohne Löschpolitik wird in sechs Monaten zu einem größeren Risiko als das Problem, das es löst.
Was bleibt bei uns nach der Übergabe
Nach der Übergabe besteht unser Zugriff auf Ihre Systeme nur, wenn es einen Wartungsvertrag gibt, der ihn verlangt, und er wird zurückgezogen, wenn dieser endet. Arbeitskopien auf unseren Arbeitsstationen werden auf Anfrage gelöscht. Was wir in jedem Fall behalten, sind die generischen Komponenten, die wir geschrieben haben und die keine Ihrer Daten enthalten — und auch diese deklarieren wir von Anfang an, damit es am Ende keine Überraschung gibt.

Ein Fall

Ein Abfragesystem für zwei Portale ohne jede API

Die Ausgangslage

Eine Reiseagentur benötigte auf Anfrage die Verfügbarkeit von Plätzen und die Tarife für Charterflüge in den B2B-Portalen zweier Reiseveranstalter. Die Portale sind für menschliche Augen gedacht: Sie loggen sich ein, suchen, lesen eine Tabelle. Es gibt keine veröffentlichte programmgesteuerte Schnittstelle, und die Information wurde manuell, mehrmals am Tag, von einem Menschen nachgelesen.

Was wir gebaut haben

Wir haben einen Client geschrieben, der sich programmgesteuert authentifiziert und seine Sitzung selbst erneuert, wenn sie abläuft, einen Parser, der die Antworten in Objekte umwandelt, und eine Schicht von Bezeichnern für Flughäfen, bei der der Code aus Stadt und Port besteht und einige Aufrufe die beiden Teile getrennt anfordern. Darüber: ein Kommandozeilenbefehl, der eine vollständige Route mit Verfügbarkeit und Preis zurückgibt, ein Batch-Anfragemodus mit Pausen dazwischen, damit das Konto nicht blockiert wird, und zwei JSON-Einstiegspunkte für den Fall, dass eine andere Plattform das Ergebnis nutzen will. Der Parser wird anhand realer Antworten getestet, die als Fixtures im Repository gespeichert sind, und die Tests, die die Portale tatsächlich berühren, sind separat markiert und laufen nicht standardmäßig.

Was dabei herauskam

Die Suite läuft vollständig durch: 38 Prüfungen in 0,52 Sekunden, ohne die Portale zu berühren. Eine Anfrage liefert in einer einzigen Antwort die Verfügbarkeit in den vier Zuständen, die das Portal verwendet, sowie den Tarif mit Klasse und Gepäck, in der gewünschten Währung. Das Ergebnis kann über die Kommandozeile, als JSON oder über die beiden HTTP-Einstiegspunkte verwendet werden.

Was der Fall nicht sagt

Die programmgesteuerte Authentifizierung bleibt in Bezug auf die Nutzungsbedingungen der Portale ein Graubereich, und das ist in der README des Projekts beschrieben, nicht erst nach der Lieferung entdeckt. Für ein intensives Produktionsvolumen ist unsere Empfehlung ausdrücklich: die offizielle API bei den Betreibern anfordern. Das System stellt punktuelle Anfragen und legt dazwischen Pausen ein, gerade damit es nicht zu einem Werkzeug für Massenauslesung wird.

Fragen

Was uns die Leute fragen, bevor sie anrufen

Warum steht auf dieser Seite kein Preis?

Weil wir ihn nicht ehrlich schreiben könnten. Der Aufwand eines maßgeschneiderten Systems ergibt sich aus drei Dingen, die wir vor dem Hinsehen nicht wissen: wie viele externe Systeme erreicht werden müssen und ob eines davon eine API hat, wie viele Geschäftsregeln bereits irgendwo geschrieben sind und wie viele von Menschen ermittelt werden müssen, und wer das System nach der Lieferung am Laufen hält. Eine Zahl vor der Sichtung des Systems ist ein Kostenvoranschlag mit Wahrsagerei. Was wir schnell machen können, ist die erste Etappe — lesen, abgrenzen, die Regeln schreiben —, die korrekt geschätzt wird und nützlich bleibt, auch wenn Sie dort aufhören.

Wem gehört der Code am Ende?

Der speziell für Sie geschriebene Code gehört Ihnen, einschließlich Repository und Historie. Drittbibliotheken bleiben unter ihren jeweiligen Lizenzen — wir können sie Ihnen nicht übertragen, weil sie uns nicht gehören. Unsere wiederverwendbaren Komponenten und unsere bestehenden Produkte werden zur Nutzung lizenziert, nicht übertragen; wenn sich Ihre Arbeit auf eines davon stützt, sagen wir Ihnen das im schriftlichen Angebot vor dem Start, nicht in der letzten Besprechung.

Was passiert, wenn wir mit jemand anderem weitermachen wollen?

Die Übergabe muss das ohne uns möglich machen, sonst war es keine Übergabe. Deshalb wird das Inbetriebnahmedokument für eine leere Maschine geschrieben und setzt nichts aus unserem Kopf voraus, und die Tests bleiben im Repository, damit das nächste Team weiß, was kaputtgeht, wenn es etwas ändert. Was wir nicht versprechen können, ist, dass ein komplexes System ohne Aufwand übernommen wird — wir können nur versprechen, dass ihm nichts fehlt, was für die Übernahme nötig ist.

Kann ich ein von Ihnen gebautes System sehen, um die Qualität zu beurteilen?

Teilweise, und es ist richtig zu sagen, wo das endet. Für Kunden gebaute Systeme gehören nicht uns, damit wir sie vorzeigen können, und interne Systeme enthalten reale Geschäftsdaten. Was wir vor Ihnen auf dem Bildschirm machen können, ist etwas anderes: Wir öffnen das Repository, zeigen Ihnen die in Textform geschriebenen Regeln des Fachgebiets, führen die Testsuiten aus — 38 in einer halben Sekunde auf einem, 81 in etwas mehr als einer Sekunde auf einem anderen, 44 auf dem dritten — und lesen gemeinsam den Code, der die Aussage trägt, die Sie in Zweifel ziehen. Diese Seite ist ihrerseits ein eigenes System, das von außen inspiziert werden kann.

Unser Altsystem hat keine API. Kann man etwas tun?

Normalerweise ja, aber mit offengelegtem Risiko. Die Reihenfolge ist: Zuerst fragen wir, ob der Anbieter eine offizielle API hat, die er einfach nur nicht öffentlich dokumentiert hat — das passiert oft. Wenn nicht, kann über programmatische Authentifizierung gearbeitet werden, genau wie ein Benutzer, mit automatisch erneuerter Sitzung; so haben wir ein System gebaut, das zwei B2B-Portale abfragt. Dann schreiben wir Ihnen klar, dass es sich im Verhältnis zu den Nutzungsbedingungen des Anbieters um eine Grauzone handelt und dass bei großem Volumen die nachhaltige Lösung darin besteht, die offizielle API anzufordern. Die Entscheidung bleibt bei Ihnen, aber informiert.

Verwenden Sie künstliche Intelligenz, um den Code zu schreiben?

Ja, und das verbergen wir nicht. Entscheidend sind die Regeln, unter denen es geschieht: Jedes Arbeitspaket wird mit laufenden Tests, Typprüfung und einer Differenzprüfung vor dem Commit abgeschlossen, und die Grenzen sind im Repository festgehalten — keine Veröffentlichungen in die Produktion aus der Arbeit heraus, keine Änderungen in externen Konten, Adapter für Anbieter nur mit Simulationsvariante. Schnell geschriebener und unbewiesener Code ist teurer als langsam geschriebener. Wofür das steht, ist Geschwindigkeit auf der langweiligen Seite, nicht das Fehlen von Prüfung.

Was tun Sie, wenn sich mitten im Prozess herausstellt, dass die ursprüngliche Idee falsch war?

Wir sagen es. In einem eigenen Engineering-Projekt kamen wir nach der Bewertung zu einer zweiten, völlig anderen Architektur für dasselbe Problem und haben sie als dokumentierte Alternative geschrieben, mit den Gates, die vor jeder Bestellung zu passieren sind, statt auf der ersten zu bleiben, nur weil sie bereits begonnen war. Die Kosten einer Richtungsänderung in der Mitte sind geringer als die eines in der falschen Form gelieferten Systems, und die Differenz zahlt in beiden Fällen der Auftraggeber.

Wie groß kann die Arbeit sein?

An einem Ende ein System mit drei Anwendungen und zwölf gemeinsamen Paketen in einem einzigen Repository, 486 TypeScript-Dateien, 68 Testdateien und 151 Commits, mit relationaler Datenbank, separater flüchtiger Koordination von der Quelle der Wahrheit und gemeinsamen Verträgen zwischen Anwendungen. Am anderen Ende ein System mit einem einzigen Prozess und zwanzig Einstiegspunkten, genau so viel wie nötig. Umfang ist kein Versprechen über jede Größe — es ist die Feststellung, dass wir an beiden Enden gearbeitet haben.

Machen Sie auch Wartung nach der Lieferung?

Ja, aber als separate Vereinbarung, nicht als unausgesprochene Annahme. Ein maßgeschneidertes System braucht Sicherheitsaktualisierungen, die Verfolgung von Änderungen bei externen Anbietern und jemanden, der in die Protokolle schaut. Wenn Sie das lieber mit Ihrem Team machen, ist die Übergabe so aufgebaut, dass es möglich ist. Wenn Sie es lieber von uns machen lassen, wird festgelegt, was es abdeckt und was nicht — einschließlich dessen, was „dringend“ bedeutet, denn ohne Definition bedeutet dieses Wort nichts.

Worauf die obigen Aussagen beruhen (15 Quellen)

15 davon sind Code und Dateien aus unseren Repositories. Wir veröffentlichen weder ihren Namen noch die Zeile: zusammen, auf einer einzigen Seite, würden sie zu genau beschreiben, wie Systeme gebaut sind, die nicht nur uns gehören. Wir gehen sie mit Ihnen durch, im Repository, auf Anfrage — die Überprüfung bleibt möglich, sie findet nur in einem Gespräch statt.

Was sollte bei Ihnen besser laufen?

Erzählen Sie uns von Ihrem Prozess. Gemeinsam legen wir fest, was sich zu bauen lohnt, was wir anbinden können und wie wir das Ergebnis prüfen.

Lassen Sie uns sprechen