Softwareentwicklung als IT-Service
Tipps für erfolgreiches Offshoring
Datum:15.05.2013
Autor(en):Bernhard Steppan
In der Softwareentwicklung gilt Offshoring als kosteneffizient und flexibel. Lesen
Sie, wann sich Offshoring lohnt und was es bei dieser Form des Outsourcing zu beachten
gibt.
Foto: violetkaipa, Shutterstock.com
Ein Outsourcing1 der Softwareentwicklung kann für mehr Kostentransparenz und Flexibilität sorgen. Im Offshoring2, einem Spezialfall des Outsourcing, versprechen sich Unternehmen neben diesen Vorteilen zusätzlich auch starke Kosteneinsparungen. Betriebe, die also überlegen, ihre Softwareentwicklung ins Ausland zu verlagern, sollten zunächst den Hauptvorteil des Offshoring im Vergleich zum Outsourcing verifizieren: die Kosteneinsparungen.
Grobkalkulation der Kosten vornehmen
Über Kosteneinsparungen lässt sich nur diskutieren, wenn man weiß, von welchem Volumen bei der Softwareentwicklung auszugehen ist. Dazu sind zunächst folgende Fragen zu beantworten:
Welche Teile der Softwareentwicklung3 können überhaupt ausgelagert werden?
Welche Teile der Softwareentwicklung behält ein Unternehmen aus strategischen und sicherheitsbedingten Überlegungen im Haus?
Erst wenn diese Fragen geklärt sind, kann im Dialog mit einem Offshoring-Experten sondiert werden, ob sich Offshoring lohnt. Dabei ist unbedingt darauf zu achten, dass auch versteckte Kosten berücksichtigt werden. Solche Kosten sind zum Beispiel die Abfindung interner Mitarbeiter, Offshore-Beratungsleistung, Reisen zum Entwicklungsteam, Wartungskosten, Entwicklertests und nicht zuletzt die Programmdokumentation (Konzept und Sourcecode). Gerade die Beurteilung und Preisfindung für eine gute Dokumentation ist alles andere als trivial. Was hilft eine kostengünstige Entwicklung, wenn die Wartungskosten nach kurzer Zeit explodieren, weil niemand mehr den Programmaufbau nachvollziehen kann?
Bei der Kostenkalkulation ist ferner zu beachten, dass der deutsche Markt auf den Preisdruck durch Offshoring reagiert hat. So arbeiten einige hiesige Software- und Beratungshäuser zum Beispiel mit einer "verlängerten Werkbank" im näheren Ausland. Sie lagern also selbst Teile der Entwicklung4 aus, bieten Kunden damit günstigere Preise und nehmen ihren Kunden den kritischen Prozess der Auslagerung ab. Andere Softwarehäuser haben sich wiederum darauf spezialisiert, einfache, wiederkehrende Probleme kostengünstiger mit der Hilfe von Softwaregeneratoren zu lösen. Alles in allem bedeutet das, dass viele Programmierarbeiten auch hierzulande nicht unbedingt extrem teuer sein müssen. Zu bedenken ist außerdem, dass der Kommunikation eine Schlüsselrolle zufällt. Hier haben deutsche Anbieter, die mit Offshore-Partnern arbeiten, einen Vorteil, weil die so kritische Kommunikation vorwiegend in deutscher Sprache abläuft.
Risiken im Offshoring
[Hinweis auf Bildergalerie: ] gal1
Ist die Entscheidung für das Offshoring der Softwareentwicklung gefallen, stellt sich unmittelbar die Frage nach dem Auslagerungsprozess sowie dessen Steuerung. Zu bedenken ist, dass Offshoring natürlich sozialen Sprengstoff birgt, weil es zum Abbau von Arbeitsplätzen führt. Deshalb ist unbedingt die Beratung eines Rechtsspezialisten5 erforderlich, der klären muss, ob und inwieweit betriebsbedingte Kündigungen überhaupt zulässig sind. Ist ein Betriebsrat vorhanden, muss dieser selbstverständlich informiert werden.
Im Zuge des Auslagerungsprozesses muss auch unter Berücksichtigung der Aspekte Betriebsteilstilllegung, Kündigungsschutz6 und Sozialauswahl entschieden werden, welche Mitarbeiter das Unternehmen verlassen sollen und wer im Betreib verbleibt, um das Offshoring zu steuern. Es ist aber davon auszugehen, dass verbliebene Mitarbeiten nicht besonders motiviert sind, die Maßnahmen pro Offshoring mitzutragen. Aber gerade nach dieser Entscheidung werden verlässliche Spezialisten benötigt, die die Schnittstelle zum Offshoring-Dienstleister bilden. Alle Personalentscheidungen haben deshalb einen starken Einfluss auf die Rentabilität des Offshorings.
Internes Entwicklungsteam aufbauen
Parallel zu den genannten Personalfragen sind folgende zwei Stränge zu verfolgen:
-
Der Aufbau eines Entwicklerteams aus Mitarbeitern als Schnittstelle zum Offshoring-Partner und
-
die Auswahl des Partners selbst.
Das Entwicklerteam muss über ausreichend Know-how in der Softwareentwicklung, besonders über Vorgehensmodelle und über die Analyse sowie Aufbereitung von Anforderungen verfügen. Zudem sind sehr gute Sprachkenntnisse sowohl in Deutsch (Kommunikation mit der Fachabteilung) als auch in Englisch (Kommunikation mit dem Offshore-Partner) unabdingbar. Wünschenswert ist zudem Praxiserfahrung in interkultureller Zusammenarbeit und eine Bereitschaft zu regelmäßigen Reisen zum Standort des Offshoring-Anbieters7.
Praxiserfahrung in interkultureller Zusammenarbeit ist ein im Offshoring häufig unterschätzter, aber wesentlicher Punkt. Fehler, die hier gemacht werden, sind nur schwer zu revidieren und haben nachhaltig negativen Einfluss auf die Arbeitsatmosphäre. Ein Entwicklungsteam in Indien reagiert vollkommen anders als eines in der Slowakei. Ein Beispiel: In traditionell geprägten asiatischen Kulturen ist es nicht üblich, über Hierarchiestufen hinweg Entwicklungsfehler zu diskutieren. In allen Fällen gilt: Es ist wichtig, das Entwicklungsteam persönlich kennenzulernen und über die Sitten und Gebräuche der anderen Kultur Bescheid zu wissen. Diese Faktoren wirken sich positiv auf die Zusammenarbeit und Ergebnisse aus. Die Kooperation ausschließlich auf Dokumente zur Anforderungsspezifikation sowie Telefonkonferenzen8 mit schwer verständlichem Englisch zu reduzieren, ist riskant und eher nachteilig.
Auswahl des Offshore-Unternehmens
Der nächste Schritt vor der eigentlichen Auslagerung ist die Auswahl eines geeigneten Offshore-Unternehmens. Geeignet heißt, ob der Offshoring-Partner zu den Vorstellungen über die Unternehmenskultur, über die Softwarearchitektur und über den Entwicklungsprozess passt. Folgende Fragen muss das Auswahlverfahren lösen:
-
Besitzt das Offshore-Unternehmen das technische Know-how, um bestehende Entwicklungsprojekte weiterzuführen und neue in die Anwendungslandschaft zu integrieren?
-
Wie sieht es mit dem Ressourcen-Management des Anbieters aus?
-
Wie rasch ist die Firma in der Lage, auf neue Projekte durch ein größeres Team mit qualifiziertem Personal zu reagieren?
-
Welches Wissen hat die Firma zum Beispiel in leichtgewichtiger, agiler Softwareentwicklung?
-
Welche Modelle der Auftragsbearbeitung sind möglich: Festpreis oder nur nach Aufwand?
-
Welche Referenzen können für alle Qualifikationen genannt werden?
Nicht zuletzt ist unter den bisher genannten Kriterien für die Qualifikation des Offshore-Unternehmens auch das Preis-Leistungs-Verhältnis im Vergleich zu Konkurrenten unter die Lupe zu nehmen. Auf werbewirksame Zertifizierungen wie CMMI9 allein sollte man sich nicht verlassen. Das direkte Gespräch mit dem Anbieter, aber auch der Kontakt zu jemandem, der Erfahrung mit dem Provider hat und ungeschminkt über seine Projekterfahrungen berichten kann, ist weit wertvoller.
Ist die Auswahl getroffen, gilt es, einen Rahmenvertrag10 zu formulieren und zu schließen. Er muss die allgemeingültigen Vertragsbestandteile enthalten, die allen Entwicklungsprojekten gemeinsam sind. Der Vorteil: Diese Vertragsbestandteile müssen dann nicht in jedem Projektvertrag eigens wieder aufgenommen werden, sondern lassen sich einfach referenzieren. Zu den Vertragsklauseln sollte zum Beispiel folgendes gehören:
-
Regeln für die Codequalität,
-
Gewährleistung,
-
Konformität zur Standardarchitektur,
-
Abstimmung bei der Auswahl von Programmierbibliotheken,
-
Kontinuität des Personals,
-
das jedem Projekt zugrunde liegende Preismodell und
-
ein Passus zum Schutz geistigen Eigentums.
Zu beachten ist weiterhin, dass der Vertrag auch internationalisiert11 werden muss. Das bedeutet nicht nur eine Übersetzung in die jeweilige Landessprache, sondern auch, dass das Offshoring-Unternehmen akzeptieren muss, wenn der Vertrag nach deutschem Recht abgefasst ist. Alternativ kann man auch unterschiedliche Verträge aufsetzen, die dem jeweiligen Landesrecht unterworfen sind.
Vorgehensmodell festlegen
Traditionell wird offshore eher konservativ, dokumentengetrieben auf Basis von Lasten- und Pflichtenheften12 gearbeitet. In diesem Fall ist die Preisfindung für ein Projekt mit einem Festpreisangebot vergleichsweise leicht. Komplizierter wird es, wenn agil entwickelt werden soll. Es besteht kein Zweifel, dass dies möglich ist. Allerdings stellt sich die Frage, wer den Preis für Missverständnisse zahlen soll. Daher möchten Offshore-Dienstleister das geschäftliche Risiko bei dieser Entwicklungsmethode in der Regel durch einen Projektvertrag auf Basis von Time & Material (T&M) absichern. In diesem Fall ist ein erfahrenes, internes Projekt-Management13 gefragt, das sowohl die Kosten und die Qualität als auch den Zeitplan im Griff hat und rechtzeitig gegensteuert, wenn das Projekt mit dem T&A-Verfahren aus dem Ruder läuft.
Geistiges Eigentum schützen
Die Diskussion über Vertragsklauseln zum Schutz des geistigen Eigentums im Offshoring wirkt akademisch. Sie sollten auf jeden Fall von einem IT-Juristen mit Kenntnissen im internationalen Recht verfasst werden, sind aber keine Gewähr. Geistiges Eigentum lässt sich in der Softwareentwicklung durch Vertragsklauseln nicht ohne Weiteres wirksam schützen. Jedes kompetente Entwicklungsteam ist mit der Software14 in kürzester Zeit so gut vertraut, dass es in der Lage ist, sie in einer anderen Softwarelösung zu adaptieren. Der Ursprung der Software kann dann nicht mehr eindeutig nachgewiesen werden. Der Schutz ist selbst dann nicht zuverlässig gewährleistet, wenn dem Offshore-Unternehmen Teile der Anwendung nur als Binärcode zur Verfügung gestellt werden. Beispielsweise kann bei Programmiersprachen15 wie Java16 normalerweise der Binärcode leicht wieder entschlüsselt werden, so dass ein Sourcecode vorliegt. Auch die Einführung von Werkzeugen zur Verschlüsselung17 des Codes - sogenannte Obfuscators18 - ist nicht der Weisheit letzter Schluss, weil sie unter Umständen die Entwicklung behindern.
Anwendungsarchitektur definieren
Die bessere Strategie zum Schutz geistigen Eigentums ist es, die Kernkompetenzen des eigenen Unternehmens bei der Entwicklung nicht offenzulegen, sondern im Offshore möglichst nur die Teile zu entwickeln, die technischer Natur sind. Im Prinzip reden wir wieder über die gute Praxis, Geschäftslogik und technische Implementierung nach einem Designmuster zu trennen. Je sauberer die Anwendungsarchitektur nach diesem Muster aufgebaut ist, desto leichter ist eine Trennung von unternehmenskritischen und unkritischen Teilen möglich. Wird zudem nach einem Komponentenmodell wie zum Beispiel OSGi19 oder auf Basis von Standard-Frameworks20 wie JavaServer Faces21 gearbeitet, lassen sich Komponenten vergleichsweise leicht integrieren und testen. Im Prinzip ist das Verfahren ein alter Hut und auch in anderen Industriezweigen erprobt, beispielsweise der Automobilindustrie. Dort müssen Zulieferer schon lange nach einer bestimmten Spezifikation arbeiten und fertige Komponenten auf der Basis einer Schnittstelle mit bestimmten Qualitätsanforderungen liefern.
Qualitätssicherung in Eigenregie
Qualitätssicherung22 ist ein weiterer wichtiger Baustein für erfolgreiches Offshoring. Wer sich verleiten lässt, mit der Entwicklung auch die Qualitätssicherung außer Haus zu geben, wird Schiffbruch erleiden. Die Qualitätssicherung sollte unbedingt autark von der Entwicklung betrieben werden, da ansonsten eine unabhängige Instanz zur Beurteilung der gelieferten Qualität fehlt. Wichtig ist, die Bedingungen schon im Rahmenvertrag festzulegen, damit nicht bei jedem Projekt erneut über Entwicklungstest, statische Codeanalyse, Lasttest und Testabdeckung diskutiert werden muss. Empfehlenswert ist, dem Dienstleister23 grundsätzlich Entwicklertests vorzuschreiben, die von der internen Qualitätssicherung reproduziert werden können. (pg)
Links im Artikel:
1 https://www.computerwoche.de/schwerpunkt/Outsourcing2 https://www.computerwoche.de/schwerpunkt/Offshoring
3 https://www.computerwoche.de/schwerpunkt/Softwareentwicklung
4 https://www.computerwoche.de/schwerpunkt/Entwicklung
5 https://www.computerwoche.de/p/compliance-und-recht,3147
6 https://www.computerwoche.de/schwerpunkt/K%C3%BCndigungsschutz
7 https://www.computerwoche.de/a/insourcing-wegen-unzufriedenheit-ist-ein-mythos,2530527
8 https://www.computerwoche.de/schwerpunkt/Telefonkonferenz
9 http://de.wikipedia.org/wiki/Capability_Maturity_Model_Integration
10 https://www.computerwoche.de/a/wie-it-vertraege-besser-werden,2491030
11 https://www.computerwoche.de/schwerpunkt/Internationalisierung
12 https://www.computerwoche.de/schwerpunkt/Pflichtenheft
13 https://www.computerwoche.de/schwerpunkt/Projektmanagement
14 https://www.computerwoche.de/schwerpunkt/Software
15 https://www.computerwoche.de/schwerpunkt/Programmiersprachen
16 http://de.wikipedia.org/wiki/Java_%28Programmiersprache%29
17 https://www.computerwoche.de/schwerpunkt/Verschl%C3%BCsselung
18 http://de.wikipedia.org/wiki/Obfuscator
19 http://de.wikipedia.org/wiki/OSGi
20 https://www.computerwoche.de/schwerpunkt/Framework
21 http://de.wikipedia.org/wiki/JavaServer_Faces
22 https://www.computerwoche.de/schwerpunkt/Qualit%C3%A4tssicherung
23 https://www.computerwoche.de/p/it-services,339
Bildergalerien im Artikel:
gal1Risiken im Offshoring
Über die Risiken des Offshoring in der Softwareentwicklung wurde viel geschrieben. Manches ist überzeichnet, vieles hingegen Realität. Stephan Koch, Senior Project Manager Offshore bei der Deutschen Leasing AG, hat folgende sieben Problemfelder identifiziert.
Foto: violetkaipa, Shutterstock.com
1. Projekt-Management
Foto: Sergey Nivens, Shutterstock.com
2. Unterschied in Kultur und Mentalität
Foto: sgursozlu, Fotolia.com
3. Kommunikation
Foto: ra2studio - shutterstock.com
4. Politische Stabilität und geografischer Rahmen
Foto: Sarunyu_foto - shutterstock.com
5. Rechtlicher Rahmen
Foto: liveostockimages, Fotolia.com
6. Zeitunterschied
Foto: bluedesign, Fotolia.com
7. IT-Infrastruktur und IT-Sicherheit
Foto: maxkabakov - Fotolia.com
8. Versteckte Kosten
Foto: Andreas Haertle, Fotolia.com
Risiken bergen aber auch folgende Aspekte:
der Auslagerungsprozess
Foto: Pixstock, Fotolia.com
Risiken bergen aber auch folgende Aspekte:
die Zusammenstellung eines internen Teams
Foto: macroman - Fotolia.com
Risiken bergen aber auch folgende Aspekte:
die Auswahl des Offshoring-Anbieters
Foto: yellowj, Fotolia.com
Alle Rechte vorbehalten. Jegliche Vervielfältigung oder Weiterverbreitung in jedem Medium in Teilen oder als Ganzes bedarf der schriftlichen Zustimmung der IDG Tech Media GmbH. dpa-Texte und Bilder sind urheberrechtlich geschützt und dürfen weder reproduziert noch wiederverwendet oder für gewerbliche Zwecke verwendet werden. Für den Fall, dass auf dieser Webseite unzutreffende Informationen veröffentlicht oder in Programmen oder Datenbanken Fehler enthalten sein sollten, kommt eine Haftung nur bei grober Fahrlässigkeit des Verlages oder seiner Mitarbeiter in Betracht. Die Redaktion übernimmt keine Haftung für unverlangt eingesandte Manuskripte, Fotos und Illustrationen. Für Inhalte externer Seiten, auf die von dieser Webseite aus gelinkt wird, übernimmt die IDG Tech Media GmbH keine Verantwortung.