Auf's falsche Pferd gesetzt

14.06.2008 Permalink

Um es im ersten Satz zu sagen: ich bin fest davon überzeugt, dass die übliche Form der Offshore-Entwicklung IT-Dienstleister strategisch in die falsche Richtung führt. Die folgenden Ausführungen begründen meine Meinung.

Was kostet bei der Software-Entwicklung eigentlich Geld?
Ein interessantes Modell von den Kosten einer Neuentwicklung kann man aus dem Artikel Truth and Confidence: Some of the Realities of Software Project Estimation ableiten, über den ich vor kurzem auf STSC CrossTalk gestolpert bin. Der Punkt, der mir hier wichtig ist, steckt in folgendem Satz:

"In an attempt to estimate projects, we are trying to figure out how much knowledge we do not have and how much time and effort it will take to get it, plus a small amount of time and effort to translate it into the executable form once we have obtained it."

Bildlich stelle ich mir das so vor:

Die Kosten, die die Entwicklung eines neuen Systems verursacht, teilen sich also irgendwie auf in Wissen zusammentragen (man könnte das auch "Lernen" nennen) und das Wissen in ein lauffähiges, qualitativ brauchbares System zu bringen, also Transformation+Verifikation.

Das Bild gibt nur ein Gefühl für die Verteilung der Kosten, und soll nichts darüber sagen, wann oder in welcher Reihenfolge diese Kosten entstehen.

Wie ändern sich die Kosten bei Offshore-Entwicklung?
In den vergangenen zehn Jahren habe ich persönlich mehrere Versuche gesehen, den Teil Transformation+Verifikation durch ein bestimmtes Modell der Software-Entwicklung bzgl. Kosten zu drücken. Das Modell sieht vor, mit dem Kunden on-site eine Systemspezifikation zu erarbeiten, die an ein off-shore Team, dessen Mitarbeiter deutlich weniger pro Stunde kosten, übergeben wird. Durch die Notwendigkeit, das komplexe Wissen zu dem neuen System trotz sprachlicher und kultureller Barrieren, räumlicher Verteilung und unterschiedlicher Zeitzonen in andere Köpfe zu übertragen, entsteht ein spürbarer Kosten-Overhead, den es nicht gibt, wenn das Team, das das Wissen zusammenträgt, auch die Implementierung durchführt.

Ich stelle mir die Kostendarstellung bei Offshore-Entwicklung also so vor:

Die Arbeit des Wissenstransfers wird sowohl von den Niedriglohn-Mitarbeitern als auch von den Hochlohn-Mitarbeitern erledigt. Der Overhead wird geringer, wenn die Mitarbeiter auf beiden Seiten den Prozess mehrfach geübt haben.

Die Schraube, die ingesamt die Kosten senken soll, sitzt bei der Höhe der Kosten pro Personentag. Ich unterstelle hier also, dass die PT-Anzahl die gleiche bleibt, dass also die Produktivität der Niedriglohn-Mitarbeiter der der Hochlohn-Mitarbeiter entspricht.

Ist das eine nachhaltige Kostenreduktion?
Die Preisunterschiede beim Lohn sind nicht zementiert. Wir befinden uns in einem globalen Markt, und die wachsende Nachfrage führt zu steigenden Preisen auch in Niedriglohnländern. Das ist schön, weil das den Wohlstand in diesen Ländern hebt. Doch diese Länder gelten irgendwann nicht mehr als günstig genug, um dort Software "produzieren" zu lassen, denn der Overhead muss durch den Kostenvorteil mehr als ausgeglichen werden. Auftraggeber wenden sich also neuen, billigeren Ländern zu, und dort beginnt das Lernen in ähnlicher Weise erneut.

Die Energie, die man in die effiziente Umsetzung des Offshore-Modells steckt, verpufft mit der Zeit teilweise. Das kann man nicht als nachhaltig bezeichnen.

Und was ist dann nachhaltig?
Was wäre, wenn man diese Energie einsetzte, um die Software-Entwicklung insgesamt effizienter zu machen? Es gibt viele Beweise, dass sich das lohnt:

Kurz: es sind solche Innovationen, die nachhaltigen Effiziensgewinn bringen. Anschaulich verändern diese Innovationen die Kosten der Software-Entwicklung so:

All das gibt es schon heute, und es könnte durch verstärktes Nachdenken in der Zukunft noch weit besser werden. Doch große IT-Dienstleister investieren viel Geld und Aufmerksamkeit in Offshore-Entwicklung. Was wäre, wenn diese Ressourcen in eine andere Richtung gelenkt würden?

Irren sich denn die IT-Dienstleister alle miteinander?
Es kommt auf den Zeithorizont an, mit dem man sich die Geschichte ansieht. Obwohl ich selbst bisher nicht das Glück hatte, eine effiziente Offshore-Entwicklung mit guten Ergebnissen zu sehen, kann ich mir trotzdem vorstellen, dass das mit Übung -- also anfänglicher Investition in dieses Modell -- gelingen kann. Mittelfristig ergibt sich so vielleicht ein Kostenvorteil, kurzfristig nicht.

Damit sich das langfristig lohnt, müsste der Preisunterschied dauerhaft etwa gleich hoch bleiben. Das widerspricht aber allen Gesetzen der freien Marktwirtschaft. Auf Dauer wird der Kostenvorteil dahinschmelzen und damit auch der Gewinn.

Ich kann mir also erklären, dass IT-Dienstleister auf dieses Pferd setzen, um mittelfristig Kostenvorteile zu erhalten und Gewinne zu erhöhen. Um langfristig effizienter Software zu entwickeln als die Konkurrenz, ist es aber eine Investition in die falsche Idee.