Ruby on Rails-Outsourcing mit Erfolg: Die 5 besten Ratschläge unserer Kunden

Ich fahre häufig geschäftlich nach Berlin und finde mich meist in Gesprächen zu einem kontrovers diskutierten Thema wieder: Outsourcing. Wenn ich es bedenke, kann ich mich an keine Reise nach Berlin erinnern, bei der mir von Gründerinnen und Gründern keine skeptischen Fragen zum Thema Outsourcing von Softwareentwicklung gestellt wurden – oder schlimmer, Horrorgeschichten von den schlechten Erfahrungen ihrer Freunde und Kollegen zugetragen wurden.

Als jemand, der die Vorteile von smartem Outsourcing täglich bei unseren Kunden sieht, überrascht mich diese Skepsis, da ich weiß, wieviele deutsche Unternehmen erfolgreich mit Outsourcing arbeiten – anders als viele denken ist es nämlich  kein amerikanisches Phänomen, sondern wichtiger Bestandteil der Arbeit fast aller großen Vorzeigeunternehmen, aber auch von unzähligen kleinen und mittleren Unternehmen, gerade in Berlin.

Die Erfolgsgeschichten finden sich demzufolge in vielen Industrien und allen Arten von Unternehmen, von großen Konzernen (- das ein oder andere Logo hier und hier dürfte einem bekannt vorkommen) bis hin zu Startups, die so die erste Version ihrer Software erstellen oder nach erfolgreichem Wachstum schnell Entwicklerkapazität bei Outsourcing-Partnern aufbauen. Meist ist es gar nicht schwer, mit einer schnellen Google-Suche Informationen über die Outsourcing-Dienstleister von großen Firmen zu bekommen, aber gerade kleine Unternehmen halten sich oft mit Informationen zurück und befürchten eine negative Wahrnehmung im Markt. Aus diesem Grund sind Berichte von Startups über ihre Outsourcing-Ansätze in der Regel rar.

Bevor ich falsch verstanden werde: das Outsourcen von Softwareentwicklung ist kein Allheilmittel, sondern bringt nur dann echte Resultate, wenn sowohl das Unternehmen als auch der Outsourcing-Partner hinter dem Ansatz stehen und bereit sind, sich auf den Anderen und seine Bedürfnisse einzulassen. Und wie bei jedem Vorhaben gibt es auch beim Outsourcing bisweilen Probleme, die gemeistert werden müssen. Gleichwohl stellen wir fest, dass die Erfahrungen aus den bisherigen Projekten unserer Kunden gute Hinweise geben, um das eigene Projekt erfolgreich werden zu lassen. Vertalab arbeitet bereits seit 2012 als Ruby on Rails-Spezialist und Outsourcing-Dienstleister für Startups und kleine Unternehmen, sodass wir einige Erfahrung gesammelt haben.

Ich möchte daher fünf wichtige Tipps für Gründerinnen und Gründer sowie für CTOs teilen, die grundsätzlich daran interessiert sind, Outsourcing (oder wie unser bevorzugter Ansatz manchmal genannt wird: Outstaffing) für sich zu nutzen. Für Unternehmen, die noch an ihrem Geschäftsmodell arbeiten, sind eventuell nicht alle dieser Tipps zutreffend – als Orientierungshilfe, ob Outsourcing zu einem Unternehmen passt, haben wir eine Liste von häufigen Fragen und deren Antworten erstellt.

Erwartungen richtig managen

Am wichtigsten ist es, die Grenzen von Outsourcing zu kennen und zu setzen: ein Outsourcing aller Bereiche ist nicht möglich. Insbesondere das Outsourcing der CTO-Position ist mit großen Hürden verbunden und die meisten Investoren bevorzugen die Zusammenarbeit mit Unternehmen, die intern Technologiekompetenz aufbauen, selbst wenn das bedeutet, Outsourcing-Partner zu wechseln. Damit wird das Potential für Outsourcing bereits eingegrenzt und eine erfolgreiche Umsetzung bedingt fast immer das Vorhandensein eines Kernteams am eigenen Standort, z.B. ein CTO, der mit ein bis zwei Entwicklerinnen oder Entwicklern das Kernteam stellt. Damit bleibt aus Investorensicht die technologische Leitung und Kompetenz im Unternehmen, während es trotzdem genug Freiraum bietet, um große Bestandteile der Softwareentwicklung kostengünstig per Outsourcing erstellen zu lassen.

Organisatorische Strukturen und Prozesse aufbauen

Abgesehen von der Wahl einer nur unzureichend aufgestellten Agentur (mehr dazu im nächsten Punkt), ist fehlende Organisation auf Kundenseite der häufigste Grund für gescheiterte Outsourcing-Initiativen. Für erfolgreiches Arbeiten braucht es Organisation und Prozesse in allen Aspekten der Softwareentwicklung, also konkret im Projektmanagement und der korrekten Anwendung von Projektmanagement-Tools, in der Aufgabenbeschreibung und Priorisierung sowie in der Dokumentation. Auch wenn sich dahinter allgemein anerkannte Grundsätze eines guten Projektmanagements verbergen, werden sie nicht von allen Unternehmen konsequent angewendet – ein weiterer Vorzug von Outsourcing besteht also im Etablieren von festen und auf Tauglichkeit geprüften Strukturen; ein Punkt, bei dem eine gute Outsourcing-Agentur mit Rat und Tat zur Seite steht.

Daneben braucht es die richtigen Prozesse innerhalb dieser Strukturen, damit alle Beteiligten produktiv und frei von Unterbrechungen arbeiten können. Entwickler beim Outsourcing-Partner benötigen ein klares Verständnis davon, wo und wie sie erstellten Code deployen, welche Test- und Akzeptanzkriterien zu erfüllen sind und wie alles in der Produktivumgebung zusammengeführt wird. Als Minimalanforderung empfehle ich einen festen Zeitpunkt für ein tägliches Standup, das über Messengerdienste wie Slack und ggf. Videoconferencing durchgeführt werden kann.

Den richtigen Partner wählen

Bei der Wahl des Outsourcing-Partners gilt es, verschiedene Aspekte zu berücksichtigen. Folgende Punkte können den Erfolg eines Projekts entscheidend beeinflussen:

Größe. Große Outsourcing-Unternehmen lehnen meist Projekte unterhalb einer bestimmten Budgetgröße kategorisch ab (z.B. unterhalb von EUR 1 Million), und werden keinen erstklassigen Service bei Kunden bieten, die aus ihrer Sicht zu klein sind. Umgekehrt ist es riskant, mit einem kleinen Team von Freelancern zu arbeiten, die angeben, als vollständige Outsourcing-Firma tätig zu sein. Der ideale Partner ist groß genug, um Entwickler bei sich verändernden Anforderungen austauschen zu können, aber immer noch klein genug, um auf Augenhöhe zu agieren – schließlich entsteht im Idealfall schnell eine langfristige Zusammenarbeit und kein reines Vertragsverhältnis.

Standort. Traditionell wird Softwareentwicklung nach Osteuropa und Indien outgesourct. Mit seiner größeren kulturellen Nähe zu Deutschland und Westeuropa allgemein bietet Osteuropa beste Voraussetzungen für produktives Arbeiten. Zusätzlich sprechen der geringe Zeitunterschied und die leichte Erreichbarkeit für Osteuropa (- häufige Besuche sind zwar nicht erforderlich, aber ein oder zwei Besuche über das Jahr verteilt tragen enorm zum Projekterfolg bei und festigen die Zusammenarbeit.) Ein Outsourcing-Partner sollte allerdings unbedingt in einem größeren Zentrum der Region angesiedelt sein, um Zugang zu Talenten in ausreichender Zahl sicherzustellen. Aus meiner Sicht ist die Ukraine das ideale Land für das Outsourcing von Softwareentwicklung, aber da ich an dieser Stelle nicht ganz unvoreingenommen bin, rate ich immer dazu, auch Länder wie Polen und Bulgarien in Betracht zu ziehen. Jedes Land hat dabei seine Vor- und Nachteile. Die Ukraine bietet beispielsweise einen vergleichsweise großen Talentpool von Softwareentwicklern (- die 25 größten IT-Unternehmen der Ukraine beschäftigen zusammen mehr als 32.000 Entwickler), aber hat einen Zeitunterschied von einer Stunde zu Deutschland.

Erfahrung und Anpassungsfähigkeit. Grundsätzlich ist es ratsam, nur mit Unternehmen zusammenzuarbeiten, die bereits nachweislich Erfahrung in der Arbeit an Softwareprojekten haben. Programmiererfahrung für sich ist wichtig, aber nicht alleine ausreichend um sich an alle Geschäftsprozesse des Auftraggebers anpassen zu können. Ein Unternehmen, das bereits ein erfolgreicher Partner für andere Kunden war, ist es mit einer hohen Wahrscheinlichkeit auch für das eigene Unternehmen.

Hingabe. Es ist wichtig sicherzustellen, dass Entwickler in einem Projekt keine weiteren Verpflichtungen gegenüber anderen Kunden haben. Der Fokus auf ein einziges Projekt vermeidet Ablenkungen und Verzögerungen.

Reporting. Last but not least zeigt sich die Qualität eines Outsourcing-Partners in der Fähigkeit, vollständige und klar verständliche Berichte über die geleisteten Arbeiten jedes einzelnen Teammitglieds liefern zu können. Nur aus Transparenz heraus kann Vertrauen entstehen, schließlich sollen die eingesetzten Mittel verantwortungsvoll verwendet werden. Ein guter Outsourcing-Partner wird gerne Beispiele für das Reporting liefern.

Paketpreise vermeiden

Auch wenn ein Paketpreis bei der Entwicklung eines „minimum viable product“ oder von Produkten mit einem klar abgegrenzten Funktionsumfang für beide Seiten geeignet sein kann, raten wir Startups ab einer gewissen Größe doch davon ab. Warum? Die Notwendigkeit für die Erstellung und Freigabe von Kosten- und Zeitschätzungen frisst praktisch alle Vorteile des Outsourcings auf und kann dazu führen, dass das gesamte Projekt scheitert: Gründer und Produktmanager verlangen Schätzungen für jeden Schritt, Agenturen verlieren Zeit durch das Hin und Her der Kommunikation und Änderungen an den Anforderungen, nachdem eine Schätzung erstellt und freigegeben wurde, führen zu Missstimmung zwischen den Partnern und – wenn sie sich oft genug wiederholen – zum Verlust von Vertrauen und Interesse am Gelingen des Projekts auf beiden Seiten.

Aus diesem Grund raten wir zum „dedicated team“-Modell, also dem Delegieren und Vertrauen darauf, dass die externen Entwickler ihre Aufgaben so effizient wie nur möglich erledigen. So werden externe Entwickler praktisch zu vollwertigen Teammitgliedern. Bei Unzufriedenheit mit den gezeigten Leistungen wird ein guter Outsourcing-Partner stets schnell auf Kritik reagieren, Rechnungen nachträglich reduzieren und wenn erforderlich auch Entwickler austauschen. Für uns ist dies ein elementarer Bestandteil unseres Wertversprechens: falls wir mit unserer Dienstleistung keinen Wert erbracht haben, verlangen wir von unseren Kunden keine Bezahlung.

Langsam beginnen, kontinuierlich steigern.

Der letzte Tipp ist der vielleicht wichtigste: Sobald die richtige Agentur mit ziemlicher Sicherheit gefunden ist, empfehle ich den Start mit einem kleinen Experiment. Nach dem Interview eines oder mehrerer Entwickler lässt sich schnell sagen, ob beide Seiten zusammenpassen. Als nächsten Schritt sollte die Agentur eine Vertraulichkeitsvereinbarung unterzeichnen und eine Testaufgabe übernehmen. Mit Vertalab bieten wir in der Regel eine einmonatige Testphase mit einem 50%igen Rabatt gegenüber dem normalen Stundensatz an, während der unsere Entwickler eine echte, aber nicht kritische Aufgabe übernehmen, die ein Startup ansonsten einer internen Entwicklerin übergeben hätte. So lässt sich mit geringem finanziellen Risiko ohne Einschränkungen feststellen, ob alles auf ein gutes Gelingen des gesamten Outsourcings hinweist.

Erfolgreiche Outsourcing-Projekte erfordern Geduld, Disziplin und Kommunikationsfähigkeiten – belohnen aber auch durch signifikante Vorteile im Hinblick auf Kosten, Effizienz und Flexibilität. Gerne stehe ich für Fragen zum richtigen Einsatz von Outsourcing persönlich zur Verfügung. Eine Email auf englisch oder deutsch an mike@vertalab.com genügt für eine vollständig unverbindliche Beratung – ich freue mich auf den Kontakt.