Es gibt eine verbreitete Art, eine Softwarefirma zu führen. Projekt gewinnen, dann die Umsetzung an den vergeben, der gerade am billigsten und frei ist: hier ein Backend-Dienstleister, dort eine freie Designerin, QA in einer Zeitzone, die sich zwei Stunden am Tag mit Ihrer überschneidet. In der Tabelle sieht das nach Hebel aus. Im Repository sieht es nach vier verschiedenen Meinungen darüber aus, wie man einen Fehler behandelt.
Alles, was wir übernehmen, wird von unserem eigenen Team entworfen, gebaut und ausgeliefert. Das ist eine Einschränkung und kein Slogan, und sie kostet uns Aufträge, die wir sonst annehmen könnten.
Was bei einer Übergabe wirklich verloren geht
Die höfliche Version lautet, dass unterwegs etwas verloren geht. Die ehrliche Version ist konkreter.
Verloren geht das, was niemand aufgeschrieben hat. Im dritten Gespräch erwähnt der Kunde nebenbei, dass das Tablet im Lager mit Handschuhen bedient wird. Daraus wird nie ein Ticket. Niemand hält es fest, weil es keine Anforderung war, sondern eine Tatsache über die Welt. Und wer die Touch-Flächen umsetzt, sitzt zwei Firmen von dem Raum entfernt, in dem der Satz gefallen ist. Also gehen die Buttons in einer Größe live, die auf dem Monitor einer Designerin wunderbar aussieht und an dem einzigen Ort, auf den es ankommt, unbrauchbar ist.
Multiplizieren Sie das mit jedem nicht festgehaltenen Detail eines Projekts. Das ist die Steuer darauf, und sie steht auf keiner Rechnung.
Wenn ein Team die Arbeit vom ersten Gespräch bis zum Launch trägt, hängt die Person, die es gehört hat, mit der Person zusammen, die es baut. Häufig sind es dieselben.
Tempo ist keine Frage der Teamgröße
Viele nehmen an, im eigenen Haus zu bauen sei langsamer, nach der Rechnung: weniger Hände, weniger Durchsatz. In der Praxis passiert das Gegenteil, und der Grund ist kein Geheimnis.
Softwareprojekte verlieren ihre Zeit nicht am Tippen. Sie verlieren sie am Warten. Warten auf eine Antwort. Warten auf eine Klärung. Warten, bis beim Dienstleister der andere Kunde aufgehört hat zu brennen. Warten, bis sich drei Anbieter einig sind, zu wessen Teil die Retry-Logik gehört. Jedes davon ist eine Warteschlange, und in Warteschlangen stirbt der Kalender.
Ein Team, das zusammensitzt, streicht die Warteschlangen. Die Entscheidung, die sonst ein zweitägiger E-Mail-Verlauf gewesen wäre, ist ein Zweiminutengespräch, und niemand muss am Montag neu eingewiesen werden, was am Freitag vereinbart wurde.
Es gehört Ihnen, und das muss uns überdauern
Das ist der Teil, der Kunden einholt, die den Weg über Subunternehmer gegangen sind, und er holt sie meist etwa sechs Monate nach dem Launch ein.
Etwas muss geändert werden. Der Freelancer, der diesen Teil geschrieben hat, ist nicht erreichbar. Die Agentur, die ihn koordiniert hat, hat ihre Belegschaft zweimal ausgetauscht. Die Codebasis besteht aus drei Dialekten ohne Übersetzer, und deshalb lautet das ehrliche Angebot für eine kleine Änderung: neu schreiben. Niemand kann gefahrlos anfassen, was er nicht lesen kann.
Wir bauen von Anfang bis Ende, damit das Ausgelieferte ein einziges System ist, in einer Handschrift geschrieben. Der Code gehört Ihnen, er ist dokumentiert, und die Leute, die ihn geschrieben haben, arbeiten immer noch hier.
Wo das die falsche Antwort ist
Wir tun nicht so, als hätte dieses Modell keinen Preis.
Wenn Sie nächsten Monat vierzig Entwickler auf einer Sache brauchen, sind wir die falsche Adresse und eine Firma, die Dienstleister vermittelt, die richtige. Wenn Ihr Projekt in Wahrheit drei zusammenhanglose Produkte in einem Mantel ist, kann es tatsächlich besser sein, es auf spezialisierte Anbieter aufzuteilen, als ein Team alles machen zu lassen. Aus beiden Gründen haben wir Aufträge abgelehnt, und wir würden es wieder tun.
Was wir nicht tun: das Projekt annehmen und es dann still an Subunternehmer weiterreichen. Das ist die Variante, die wie ein Ja aussieht und sich wie ein Nein verhält, und sie hat jeden Rettungsauftrag hervorgebracht, den wir je geerbt haben.
Auf diesem Weg haben wir mehr als 100 Projekte ausgeliefert, und im Venture-Arm betreiben wir eigene Produkte. Damit sind wir auch der Kunde, der Jahre nach dem Launch mit einer Codebasis leben muss. Das verändert, was man bereit ist auszuliefern.
Wenn Sie Software wollen, die von den Leuten gebaut wird, die auch dafür geradestehen, fangen Sie hier an.