Vor drei Jahrzehnten, als ich in einem Entwicklungslabor
tätig war, in dem auch Rechnerhardware entwickelt wurde,
bekam ich öfter den Vorwurf zu hören, dass es bei Software
ja keine Produktivitätsfortschritte gäbe ähnlich denen der
Hardware. Ich entgegnete meinen Hardware-Kollegen manchmal
mit der Gegenfrage, wie hoch denn die Steigerung ihrer
Entwicklerproduktivität sei. Die Antwort darauf hieß
gewöhnlich: Erstens wüssten sie das nicht und zweitens
käme es doch darauf überhaupt nicht an; was zähle, seien
die Herstellungskosten. Da diese bei Software naturgemäß
sehr niedrig sind, erwiderte ich, können wir sie leider
kaum verbessern. Im Laufe der Zeit stellte sich heraus,
dass die Hardwareentwicklungskosten von Prozessor zu
Prozessor und von Chipgeneration zu Chipgeneration kräftig
stiegen. Als auch die Entwicklungszyklen länger wurden,
begann die Suche nach Lösungen.
Was hat das mit Outsourcing oder Offshoring zu tun? Nun,
es zeigt einige der Zusammenhänge auf, die wir Software-
Leute zu leicht vergessen. Ich will sie stichwortartig
auflisten. Entwicklungsarbeiten, gleichgültig ob für
Hardware oder Software, sind personalintensiv. Die
zunehmende Komplexität unserer Produkte sowie die
gestiegenen Erwartungen der Nutzer bezüglich Qualität und
Leistung sorgen dafür, dass der Entwicklungsaufwand in der
Tendenz ständig wächst. Gleichzeitig steigende
Personalkosten führen dann zu einer Kostensteigerung, die
durch höhere Produktivität kaum wettgemacht werden kann.
Wer das Gegenteil behauptet, hängt entweder einer Utopie
an oder ist nicht selten ein Methoden-Guru, der Gläubige
sucht, oder ein Handelsreisender, der seine Salben
verkaufen will. Was gibt es für Auswege? Ich kenne drei,
sofern man nur die im Grundansatz verschiedenen Optionen
betrachtet:
Man vereinfacht die Produkte oder reduziert deren
Qualität. Das Erstere ist möglich, aber nur schwer
machbar. Man möchte ja Nutzer, die sich an eine bestimmte
Funktion gewöhnt haben, nicht verlieren. Durch reduzierte
Funktionalität zusätzliche Nutzer zu gewinnen, ist eine
Hoffnung, die sich bei Software nur selten erfüllt. Der
zweite Weg scheint manchmal leichter, ist aber des guten
Rufs wegen nicht zu empfehlen.
Man verlagert die Entwicklungsarbeiten dorthin, wo die
Personalkosten am niedrigsten sind. Das setzt voraus, dass
es anderswo sowohl Kapazität wie Kompetenz gibt. Aufgrund
der geänderten politischen und wirtschaftlichen Situation
sind hierfür heute die Voraussetzungen viel besser als vor
etwa zehn Jahren.
Man vermeidet Neuentwicklungen und versucht, seine
Probleme durch die Wiederverwendung vorhandener Produkte
zu lösen. Wenn immer diese Option besteht, ist sie die
sicherste Lösung. Das gilt natürlich nicht auf einem
völlig neuen Gebiet, sondern setzt eine gewisse Reife des
Marktes voraus.
Nur die beiden letzten Optionen verdienen es, dass wir sie
hier näher betrachten. Beginnen wir mit der dritten.
Manche Informatik-Nutzer meinen, dass es schon genug
Produkte gäbe und man die vorhandenen erst einmal
verstehen und nutzen lernen soll, ehe man neue einführt.
Manchem Informatik-Vorstand (der sich auch IT- oder IS-
Leiter nennen mag) gefällt diese Einstellung jedoch gar
nicht. Er fürchtet um seine Rolle im Unternehmen. Will er
deshalb etwas Neues auf die Beine stellen, wundern sich
die Nutzer über die Zeit, die er dafür braucht, und über
die Kosten. Was die Kosten betrifft, so bekommt er gleich
von seinen Nutzern zu hören, dafür gibt es doch Lösungen.
Mache er es doch so wie IBM, SAP oder Siemens und gehe in
die Niedriglohnländer. Lösung zwei also. Wie gesagt, das
sagen die Nutzer, nicht die Mitarbeiter der Informatik-
Abteilung oder der Betriebsrat. Die meinen, dass der
Informatik-Vorstand doch bitte dafür sorgen möge, dass
unsere schönen Jobs im Lande bleiben.
Welche Hilfe bekommt ein Informatik-Vorstand in dieser
Situation von der Fachpresse oder von klugen Fachberatern?
Zwei von den Ratschlägen, die zurzeit feilgeboten werden,
kommen mir etwas fragwürdig vor. Der erste Ratschlag, bei
dem es darum geht, wie man Softwarekosten spart, lautet:
"Verwende kostenlose Software, d.h., löse deine Probleme
nicht mit Produkten, die für Geld angeboten werden,
sondern sammle ein, was im Internet frei herumliegt." Dass
die Bausteine, die für manche Anwendungen in Frage kommen,
durchaus einige Millionen Zeilen Quellcode umfassen, wird
verschwiegen. Auch dass die Kosten für Ausbildung,
Anpassung, Integration, Installation und Wartung
typischerweise höher sind als der Anschaffungspreis, merkt
man ja erst später. Wie man sich dagegen absichern kann,
dass lukrative Entwicklungsarbeiten in ferne
Billiglohnländer abwandern, darum geht es bei dem zweiten
Rat. Er lautet: "Vermeide es, dass Projekte nach festen
Vorgaben ablaufen!" Die Nutzer sollten nur scheibchenweise
sagen, was sie wollen. Dann sind nur die Entwickler vor
Ort und aus demselben Kulturkreis, die dies den Nutzern
von den Augen ablesen können, in der Lage, das auch
umzusetzen. Sollten Sie es nicht gemerkt haben, die Rede
ist von quelloffenem Code und Agilität und Verirrungen, zu
denen beide führen können (aber nicht müssen).
Zum Glück gibt es auch seriösere Ansätze, auf die man
kommt, wenn man wegen des drohenden Unheils, das
Offshoring genannt wird, zum Nachdenken gezwungen wird.
Vielleicht geht man jetzt gezielt jene neuen Anwendungen
an, die bisher auf die lange Bank geschoben wurden, und
lässt sie von Leuten entwickeln, die das schneller und
preisgünstiger tun als die eigenen Mitarbeiter. Man wird
sich fragen, ob die im Hause benutzten Verfahren so
ausgereift und stabil sind, dass man sie nach außen
verlagern kann. Will man allerdings selbst entwickeln,
dann sollten dabei Lösungen entstehen, auf die Kollegen in
Niedriglohnländern nicht auch kommen können. Wenn wir
nicht wissen, was das ist, ist jetzt die Zeit da, um es zu
lernen. Vielleicht fragen wir uns, welche Probleme unsere
Nutzer sonst wohl noch haben. Wegen der Vielzahl der
Produkte, die es im Markt gibt, sind sie oft überfordert,
wenn sie das für sie am besten geeignete Produkt auswählen
und installieren sollen. Vermutlich lässt sich
feststellen, für welche vorhandenen Produkte sich die
Zufriedenheit und der Service verbessern lassen. Auch die
Anforderungen für Sicherheit oder Benutzbarkeit steigen,
je länger Produkte schon installiert sind und je mehr sie
benutzt werden.
Manche Kollegen glauben, dass angesichts von Outsourcing
und Offshoring ihre berufliche Zukunft sicherer ist, wenn
sie der Produktentwicklung aus dem Wege gehen und
stattdessen auf Dienstleistungen wie Installation und
Beratung setzen. Ich sehe es genau umgekehrt. Bei
Dienstleistungen schlagen unsere hohen Lohnkosten voll
durch. Sie treffen jeden Nutzer direkt. Ein Hochlohnland
kann dem entgegenwirken, indem es Softwareprodukte
entwickelt, die einen hohen Grad an Standardisierung
aufweisen, so dass sich deren Kosten auf eine möglichst
große Anzahl von Nutzern verteilen lassen. Diese Nutzer
muss man auf der ganzen Welt suchen. Bei Dienstleistungen
besteht entweder die Gefahr, dass das, was heute eine
Dienstleistung ist, morgen von Produkten abgelöst wird,
oder aber die Tätigkeit hat Kosten- und Kapazitätsprobleme
und wandert deshalb in Niedriglohnländer ab. Würde ein
Produktbereich durch Dienstleistungen völlig verdrängt
werden, könnte dies einen Produktivitätsrückschritt nach
sich ziehen. Umgekehrt gilt, nur wenn es erfolgreiche
Produkte gibt, steigt der Bedarf für Dienstleistungen. Man
kann auch eine Dienstleistung aufbauen, in deren Kern ein
Softwareprodukt steht, über dessen Nutzung durch viele
Anwender Umsätze generiert werden. Was zuletzt skizziert
wurde, kann man auch als zunehmende Industrialisierung
bezeichnen.
Prof. Dr. Albert EndresUniversität StuttgartIselerstr. 171067 Sindelfingena.endres@acm.org
Einwurf
von Albert Endres
Denkanstöße durch Outsourcing und Offshoring
Vor drei Jahrzehnten, als ich in einem Entwicklungslabor tätig war, in dem auch Rechnerhardware entwickelt wurde, bekam ich öfter den Vorwurf zu hören, dass es bei Software ja keine Produktivitätsfortschritte gäbe ähnlich denen der Hardware. Ich entgegnete meinen Hardware-Kollegen manchmal mit der Gegenfrage, wie hoch denn die Steigerung ihrer Entwicklerproduktivität sei. Die Antwort darauf hieß gewöhnlich: Erstens wüssten sie das nicht und zweitens käme es doch darauf überhaupt nicht an; was zähle, seien die Herstellungskosten. Da diese bei Software naturgemäß sehr niedrig sind, erwiderte ich, können wir sie leider kaum verbessern. Im Laufe der Zeit stellte sich heraus, dass die Hardwareentwicklungskosten von Prozessor zu Prozessor und von Chipgeneration zu Chipgeneration kräftig stiegen. Als auch die Entwicklungszyklen länger wurden, begann die Suche nach Lösungen.
Was hat das mit Outsourcing oder Offshoring zu tun? Nun, es zeigt einige der Zusammenhänge auf, die wir Software- Leute zu leicht vergessen. Ich will sie stichwortartig auflisten. Entwicklungsarbeiten, gleichgültig ob für Hardware oder Software, sind personalintensiv. Die zunehmende Komplexität unserer Produkte sowie die gestiegenen Erwartungen der Nutzer bezüglich Qualität und Leistung sorgen dafür, dass der Entwicklungsaufwand in der Tendenz ständig wächst. Gleichzeitig steigende Personalkosten führen dann zu einer Kostensteigerung, die durch höhere Produktivität kaum wettgemacht werden kann. Wer das Gegenteil behauptet, hängt entweder einer Utopie an oder ist nicht selten ein Methoden-Guru, der Gläubige sucht, oder ein Handelsreisender, der seine Salben verkaufen will. Was gibt es für Auswege? Ich kenne drei, sofern man nur die im Grundansatz verschiedenen Optionen betrachtet:
Nur die beiden letzten Optionen verdienen es, dass wir sie hier näher betrachten. Beginnen wir mit der dritten. Manche Informatik-Nutzer meinen, dass es schon genug Produkte gäbe und man die vorhandenen erst einmal verstehen und nutzen lernen soll, ehe man neue einführt. Manchem Informatik-Vorstand (der sich auch IT- oder IS- Leiter nennen mag) gefällt diese Einstellung jedoch gar nicht. Er fürchtet um seine Rolle im Unternehmen. Will er deshalb etwas Neues auf die Beine stellen, wundern sich die Nutzer über die Zeit, die er dafür braucht, und über die Kosten. Was die Kosten betrifft, so bekommt er gleich von seinen Nutzern zu hören, dafür gibt es doch Lösungen. Mache er es doch so wie IBM, SAP oder Siemens und gehe in die Niedriglohnländer. Lösung zwei also. Wie gesagt, das sagen die Nutzer, nicht die Mitarbeiter der Informatik- Abteilung oder der Betriebsrat. Die meinen, dass der Informatik-Vorstand doch bitte dafür sorgen möge, dass unsere schönen Jobs im Lande bleiben.
Welche Hilfe bekommt ein Informatik-Vorstand in dieser Situation von der Fachpresse oder von klugen Fachberatern? Zwei von den Ratschlägen, die zurzeit feilgeboten werden, kommen mir etwas fragwürdig vor. Der erste Ratschlag, bei dem es darum geht, wie man Softwarekosten spart, lautet: "Verwende kostenlose Software, d.h., löse deine Probleme nicht mit Produkten, die für Geld angeboten werden, sondern sammle ein, was im Internet frei herumliegt." Dass die Bausteine, die für manche Anwendungen in Frage kommen, durchaus einige Millionen Zeilen Quellcode umfassen, wird verschwiegen. Auch dass die Kosten für Ausbildung, Anpassung, Integration, Installation und Wartung typischerweise höher sind als der Anschaffungspreis, merkt man ja erst später. Wie man sich dagegen absichern kann, dass lukrative Entwicklungsarbeiten in ferne Billiglohnländer abwandern, darum geht es bei dem zweiten Rat. Er lautet: "Vermeide es, dass Projekte nach festen Vorgaben ablaufen!" Die Nutzer sollten nur scheibchenweise sagen, was sie wollen. Dann sind nur die Entwickler vor Ort und aus demselben Kulturkreis, die dies den Nutzern von den Augen ablesen können, in der Lage, das auch umzusetzen. Sollten Sie es nicht gemerkt haben, die Rede ist von quelloffenem Code und Agilität und Verirrungen, zu denen beide führen können (aber nicht müssen).
Zum Glück gibt es auch seriösere Ansätze, auf die man kommt, wenn man wegen des drohenden Unheils, das Offshoring genannt wird, zum Nachdenken gezwungen wird. Vielleicht geht man jetzt gezielt jene neuen Anwendungen an, die bisher auf die lange Bank geschoben wurden, und lässt sie von Leuten entwickeln, die das schneller und preisgünstiger tun als die eigenen Mitarbeiter. Man wird sich fragen, ob die im Hause benutzten Verfahren so ausgereift und stabil sind, dass man sie nach außen verlagern kann. Will man allerdings selbst entwickeln, dann sollten dabei Lösungen entstehen, auf die Kollegen in Niedriglohnländern nicht auch kommen können. Wenn wir nicht wissen, was das ist, ist jetzt die Zeit da, um es zu lernen. Vielleicht fragen wir uns, welche Probleme unsere Nutzer sonst wohl noch haben. Wegen der Vielzahl der Produkte, die es im Markt gibt, sind sie oft überfordert, wenn sie das für sie am besten geeignete Produkt auswählen und installieren sollen. Vermutlich lässt sich feststellen, für welche vorhandenen Produkte sich die Zufriedenheit und der Service verbessern lassen. Auch die Anforderungen für Sicherheit oder Benutzbarkeit steigen, je länger Produkte schon installiert sind und je mehr sie benutzt werden.
Manche Kollegen glauben, dass angesichts von Outsourcing und Offshoring ihre berufliche Zukunft sicherer ist, wenn sie der Produktentwicklung aus dem Wege gehen und stattdessen auf Dienstleistungen wie Installation und Beratung setzen. Ich sehe es genau umgekehrt. Bei Dienstleistungen schlagen unsere hohen Lohnkosten voll durch. Sie treffen jeden Nutzer direkt. Ein Hochlohnland kann dem entgegenwirken, indem es Softwareprodukte entwickelt, die einen hohen Grad an Standardisierung aufweisen, so dass sich deren Kosten auf eine möglichst große Anzahl von Nutzern verteilen lassen. Diese Nutzer muss man auf der ganzen Welt suchen. Bei Dienstleistungen besteht entweder die Gefahr, dass das, was heute eine Dienstleistung ist, morgen von Produkten abgelöst wird, oder aber die Tätigkeit hat Kosten- und Kapazitätsprobleme und wandert deshalb in Niedriglohnländer ab. Würde ein Produktbereich durch Dienstleistungen völlig verdrängt werden, könnte dies einen Produktivitätsrückschritt nach sich ziehen. Umgekehrt gilt, nur wenn es erfolgreiche Produkte gibt, steigt der Bedarf für Dienstleistungen. Man kann auch eine Dienstleistung aufbauen, in deren Kern ein Softwareprodukt steht, über dessen Nutzung durch viele Anwender Umsätze generiert werden. Was zuletzt skizziert wurde, kann man auch als zunehmende Industrialisierung bezeichnen.
Prof. Dr. Albert Endres Universität Stuttgart Iselerstr. 1 71067 Sindelfingen a.endres@acm.org