Wie Sie das Outsourcing von Softwareentwicklung erfolgreich managen

December 7, 2021

Wie Sie das Outsourcing von Softwareentwicklung erfolgreich managen

Das Outsourcing von Softwareentwicklung bietet einige Optionen: Freelancer, Nearshore/Offshore oder agile Softwareentwicklung in der DACH Region - das sind die jeweiligen Vorteile und Kosten!

Es herrscht Fachkräftemangel in der Softwareentwicklung. Alleine in Deutschland fehlen ca. 50.000 Programmierer. Das sind besonders in Hinblick auf die Digitalisierung und dessen Notwendigkeit für die Zukunftsfähigkeit vieler Unternehmen dramatische Zahlen.

Laut einer Studie von EY aus 2020 begreift die überwiegende Mehrheit von 77% der befragten mittelständischen Unternehmen Digitalisierung als Chance und hat digitale Technologien bereits in ihr Geschäftsmodell integriert. Zugleich klagen aber 15% der Mittelständler über fehlendes Personal, welches Digitalisierung im Unternehmen vorantreiben kann.

Der Personalmangel bedroht somit die Zukunftsfähigkeit des Mittelstands und kann zu erheblichen Wettbewerbsnachteilen bis hin zur Existenzbedrohung führen. Insbesondere kleineren mittelständischen Unternehmen fällt es schwer sich gegen die Großen am Arbeitsmarkt durchzusetzen. Daher ist die Zusammenarbeit mit einem zuverlässigen und kompetenten Software Entwicklungspartner, der gemeinsam mit dem Mittelständler die Digitalisierungs-Roadmap vorantreibt eine interessante Option.

Was bedeutet Outsourcing von Softwareentwicklung nun konkret? 

Outsourcing von Softwareentwicklung ist der Zukauf von externen Entwicklungskapazitäten, also die Auslagerung der Entwicklung und Wartung von Software. Die Fragestellung des Outsourcing von Softwareentwicklungs-Leistungen ist eine klassische Make or Buy Entscheidung. Bis in die jüngste Vergangenheit ist das Motiv für Outsourcing insbesondere durch den Aspekt der Kostensenkung und nicht-verfügbaren Ressourcen getragen worden. Der Aufbau einer nachhaltigen Partnerschaft im Kontext der Digitalisierung stand, wenn überhaupt, nur im Hintergrund. Je nach digitalen Reifegrad eines Unternehmens passen unterschiedliche Outsourcing-Modelle.

Welche Optionen gibt es zur Auslagerung der Softwareentwicklung? 

softwareentwicklungs-partner

1. Einsatz von Freelancern

Der Einsatz von Freelancern ist ein durchaus probates Mittel, wenn es darum geht kurzfristige Engpässe zu überbrücken. Auch für überschaubare, nicht zeitkritische Aufgaben eignet sich diese Option. Handelt es sich aber aber um größere, komplexe Softwareentwicklungs-Projekte, die den Einsatz eines gesamten Teams erfordern, sollte man von dieser Alternative absehen. 

2. Offshore & Nearshore

Darunter wird gängig das Auslagern von Softwareentwicklungs-Projekten auf einen anderen Kontinent (z.B.: Indien) im Falle von Offshore und an das angrenzende Osteuropa im Falle von Nearshore verstanden. Häufig wird dieses Modell dadurch ergänzt, dass ein Projektleiter eingesetzt wird, der die Koordination und Kommunikation zwischen dem Kunden und dem Entwicklungsteam vor Ort übernimmt. Dieser kann etwaige Defizite hinsichtlich Sprache, Kultur, Zeitdifferenz, etc. ausgleichen. An die Grenzen stößt dieses Vorgehen insbesondere dann, wenn die Entwicklung nach agilen Methoden oder Scrum als de facto Standard im Bereich agiler Softwareentwicklung durchgeführt werden soll. Denn laut Scrum ist keine Projektleitung oder “Übersetzungsfunktion” zwischen dem Product Owner des Kunden und dem Scrum Entwicklerteam vorgesehen. 

In der agilen Softwareentwicklung bilden der Product Owner und die Entwickler ein Team, das end-to-end für das Produkt verantwortlich ist. Der Product Owner definiert in Abstimmung mit den Stakeholdern das "Was" und dessen Prioritäten, das Scrum Entwickler Team das "Wie". Product Owner und Scrum Entwicklungsteam stehen im ständigen, oftmals täglichem Austausch. Wenn das Scrum Team cross funktional aufgestellt ist, sind sämtliche Kompetenzen wie Konzeption, Design, Frontend, Backend, Testing, DevOps, die für die Entwicklung des Produktes notwendig sind im Team selbst vorhanden. 

Scrum funktioniert nur durch ständige Kommunikation. Es ist nicht zweckmäßig, dass ein Entwickler als Sprachrohr mit dem Product Owner kommuniziert und der Rest des Entwicklerteams im Nachgang über die Inhalte und Ergebnisse informiert wird. Das ist auch relevant, wenn Teile des Entwicklerteams zum Beispiel Seniors sich in den Auftraggeberländern wie Deutschland, Österreich, oder die Schweiz aufhalten und der Rest des Teams remote arbeitet. Trotz Einsatz moderner Kommunikationstechnologien, wie Video Conferencing hat die persönliche Präsenz immer noch zahlreiche Vorteile. Nach Scrum sollen daher alle Teammitglieder co-located sitzen. 

Selbstverständlich kann es Szenarien geben, in denen der Einsatz von Offshore oder Nearshore eine valide Option darstellt, insbesondere wenn der Punkt Preis an erster Stelle steht. Man sollte sich allerdings bewusst sein, dass man dadurch gewisse Kompromisse und Einschränkungen im Hinblick auf die Forderungen des Scrum Frameworks eingeht. Diese können massive Defizite in Puncto Kosten, Komplexität, direkte Kommunikation, Agilität, etc. nach sich ziehen. Selbstredend ist, dass mit zunehmender geographischer Nähe (Offshore versus Nearshore) die potentiellen Nachteile abnehmen.

3. Onshore Softwareentwicklung in Österreich, Deutschland oder der Schweiz via Partner

Als weitere Variante steht der Einsatz eines langfristigen Digitalisierungspartners im Bereich agile Softwareentwicklung zur Verfügung, der das Unternehmen von der Idee zum fertigen Produkt inhaltlich wie technologisch begleitet und unterstützt. Hier kommen Dienstleister in Frage, die einen wesentlichen Baustein der Digitalisierungsstrategie des Mittelständler ausmachen können. Also jene Anbieter von Softwareentwicklungsleistungen die proaktiv und wesentlich mitgestalten und nicht "nur" als verlängerte Werkbank oder Ressourcen Pool fungieren. Die Auswahl des richtigen Partners macht sich an einer Vielzahl von Kriterien fest.

Ein paar entscheidende Fragen für die Auswahl des richtigen Softwareentwicklungs-Partners:

  • Ist der Dienstleister in der Lage, end-to-end zu unterstützen?
  • Was ist das Selbstverständnis des Dienstleisters? Proaktiver Partner oder klassischer Auftragnehmer?
  • Ist das Unternehmen in der Lage Best Practice in puncto agiler Softwareentwicklung einzubringen?
  • Entwickelt der Dienstleister tatsächlich nach agilen Methoden z.B.: Scrum inkl. der definierten Artefakte und Zeremonien?
  • Sind alle Entwickler Scrum zertifiziert?
  • Sind die Teammitglieder T-shaped und ist das Team cross-funktional?
  • Arbeitet das Team ausschließlich bzw. zu 100% für Sie?
  • Welche Technologien bzw. Frameworks werden unterstützt?
  • Werden in Sprints von vier Wochen oder kürzer voll funktionsfähige Software Inkremente geliefert (Stichwort: CD/CI)?
  • Steht eine vollautomatisierte Test- und Entwicklungsumgebung nach aktuellem Stand der Technik zur Verfügung?
  • Bietet der Dienstleister 24x7 Transparenz hinsichtlich Entwicklungsfortschritt, Velocity, etc. (Stichwort: Live Coding)?
  • Welche Garantien bzw. Möglichkeiten zum Vertragsausstieg bietet der Dienstleister?
  • Wie hoch ist die Wiederbeauftragungs- und Empfehlungsrate der Kunden des Dienstleisters?

Alle Fragen beantwortet? Dann wissen Sie jetzt auf welche Faktoren Sie bei der Auswahl eines agilen Softwareentwicklers, der als ihr langfristiger Digitalisierungspartner dient, achten sollten. 

Welche Vorteile entstehen durch das Outsourcing von Softwareentwicklung? 

Die genannten Vorteile, die durch das Outsourcing von Softwareentwicklung entstehen, beziehen sich vor allem auf die Zusammenarbeit mit einem langfristigem Entwicklungspartner auf Augenhöhe. 

  • Überbrückung von mangelndem internen Know-how oder verfügbaren Ressourcen
  • Verfügbarkeit von internen Ressourcen für andere Schwerpunkte 
  • Effizienzgewinn in der IT-Infrastruktur, besonders im Bereich Continuous Integration (CI) und  Continuous Delivery (CD) in der anfänglichen Umsetzung 
  • Entlastung der Recruiting Abteilung und in der Mitarbeiterweiterbildung und -Bindung 
  • Expertise in digitaler Produktentwicklung & Weiterentwicklung der internen Kompetenzen durch Best Practice 
  • State of the Art Know-how von außen treibt Innovation

Sie wollen von diesen Vorteilen profitieren und Ihre Ziele erreichen?

Mehr Informationen zu unseren Scrum Teams as a Service.

Jetzt herunterladen

Wie sieht es mit den Kosten für das Outsourcing von Softwareentwicklung aus? 

Selbstverständlich bestehen nach wie vor Kostenunterschiede, je nachdem welche der obigen Varianten gewählt wird, zumindest dann, wenn es um die Frage des Stunden bzw. Tagessatzes geht. Die Kostenbetrachtung nach TCO (Total Cost of Ownership) bzw. Projektpreis ist hier nochmal ein andere Geschichte. Wenn indische Ressourcen zum Einsatz kommen sollen, dann sind gute Programmierer aktuell zu einem Stundensatz von € 20,- bis € 30 zu haben.

Im Bereich Nearshore aus dem angrenzenden Osteuropa sind die Stundensätze mittlerweile bei ca. € 40 bis € 65 gelandet und haben sich somit in den letzten Jahren durchaus entwickelt, wenngleich die Kosten immer noch niedriger als im deutschsprachigen Raum sind. Für die Preise von Programmierleistungen in und aus dem deutschsprachigen Raum (Dienstort der Entwickler ist ebendort) sind die Stundensätze auf den Freelancer Börsen eine durchaus brauchbare Referenzgröße. In Deutschland und Österreich liegen diese derzeit im Schnitt bei € 85 (abhängig von Bundesland, Programmiersprache), in der Schweiz bei über € 100. Im Falle, dass es sich um einen Dienstleister handelt, der nach Lean Prinzipien agiert und geringe Overheadkosten hat, liegen die Stundensätze bei max. 10% bis 15% über jenen von Freelancern.

Bezieht man bei der Bewertung von Offshore und Nearshore etwaige Zusatzkosten, die durch zusätzlich Rollen entstehen und den damit verbundenen internen Mehraufwand mit ein, relativieren sich die Kostenunterschiede von Offshore / Nearshore versus lokalem Entwicklungspartner im Kontext einer Gesamtkostenbetrachtung.

Wir bei Objectbay verstehen uns als Ihr Digitalisierungs-Partner im Kontext Individual Software und sind im deutschsprachigen Raum marktführend in der Anwendung von agilen Softwareentwicklungsmethoden. Von der Idee zum fertigen Produkt, wir liefern end2end und unterstützen unsere Kunden

  • bei der Modernisierung oder Erweiterungen bestehender digitaler Lösungen
  • beim Ablösen veralteter Individual Software durch neue Frameworks
  • bei der Entwicklung völlig neuer digitaler Produkte, Services und Anwendungen

 

Der Erfolg Ihrer Investition, hängt maßgeblich von der Wahl Ihres Dienstleistungspartners ab.

10 Dinge, die Sie bei der Auswahl Ihres Softwareentwicklung Partners  unbedingt beachten müssen.

Jetzt herunterladen

Newsletter

Weitere interessante Artikel