IT-Branche: Warum es so viel schlechte Software auf der Welt gibt
Vergleicht man IT-Produkte mit den Erzeugnissen anderer Branchen, fällt auf: Es gibt viel mehr schlechte Software als... Brücken zum Beispiel. Warum eigentlich?
Dieser Artikel ist eine Übersetzung. Das Original des Softwareentwicklers und Bloggers Rajiv Prabhakar ist hier zu finden.
- IT-Branche: Warum es so viel schlechte Software auf der Welt gibt
- Programmieren ist leicht zu lernen, aber schwer zu beherrschen
- Es gibt einen großen Markt für Entwickler, die nicht gut, aber ''gut genug'' sind
Wir sind umgeben von miserabler Software: Pensionsfonds, die mit jahrzehntealten Batch-Skripten voller fehlerhafter Annahmen arbeiten; Kreditinstitute, bei denen mehr als hundert Millionen Sozialversicherungsnummern und andere vertrauliche Daten geleakt wurden - ganz zu schweigen von den Unmengen an fehlerhafter und nervtötender Software, die wir überall um uns herum sehen - bei kleinen Anbietern bis hin zur veralteten Software großer Unternehmen.
Eine solche Inkompetenz würde in anderen Ingenieurdisziplinen niemals geduldet werden. Wir würden niemals Brücken erlauben, die so fehlerhaft sind wie ein durchschnittliches Softwaresystem. Warum also ist Softwareentwicklung so schlecht?
Warum gibt es so viel miserable Software?
Um das zu klären, müssen wir als erst einmal verstehen, wie die Fähigkeiten von Entwicklern mit der Nützlichkeit der Software zusammenhängen, die sie für eine bestimmte Aufgabe herstellen.
Im ersten Bereich haben Sie die "Entwickler", die faktisch inkompetent sind. Zwar gibt es durchaus eine große Bandbreite an Fähigkeiten in diesem Bereich, allerdings sind ihre Endprodukte immer funktionell unbrauchbar. Computer sind in dieser Hinsicht unbarmherzig - wenn Sie nicht herausfinden, wie Sie Ihre Anwendung kompilieren können, können Sie sie genauso gut gar nicht geschrieben haben. Wenn Sie nicht herausfinden, wie Sie die Kernfunktionalität Ihrer App aufbauen, wird sie niemand benutzen.
Unterhalb einer bestimmten Kompetenzschwelle werden Sie einfach keine brauchbare Software produzieren. Die meisten "Entwickler" in diesem Bereich mögen sich in ihrer Freizeit mit dem Programmieren beschäftigen, aber sie werden nur selten professionelle Software produzieren.
Sobald man diese Schwelle jedoch überschreitet, ändert sich das. Am unteren Ende sind die Entwickler nun gut genug, um minimal brauchbare Softwaresysteme herzustellen. Wenn diese Entwickler besser werden, verbessert sich auch der Nutzen ihrer Software schnell. Eine Anwendung die "funktionierte", aber langsam, fehlerhaft, unsicher und unverständlich war, wird dann weniger fehlerhaft, leistungsstärker, sicherer und leichter zu verstehen. Im Gegensatz zu den anderen beiden Bereichen wird die produzierte Software deutlich besser, wenn Entwickler in diesem Bereich ihre Fähigkeiten ausbauen.
Wenn Entwickler schließlich eine bestimmte Schwelle von Fähigkeiten erreichen, kommen sie in den dritten Bereich. Das ist ein Bereich, in dem jeder von ihnen ein so hohes Maß an Kompetenz erreicht hat (relativ zu dem Problem, das gelöst werden soll), dass jede weitere persönliche Entwicklung nur noch einen minimalen Unterschied beim Endprodukt ausmacht. Jeder beliebige Mitarbeiter von Google kann eine CRUD-App erstellen, die genauso gut ist wie die von Jeff Dean.
Programmieren ist leicht zu lernen, aber schwer zu beherrschen |
Und wer hat die Software geschrieben die gecrackt wurde?
In unserer Firma haben die Entwickler quasi Narrenfreiheit. Die können behaupten, was sie...
Also nach 10 Jahren haben auch Brücken schon mal Fehler...
Aktuelles Team: Drei C#-Programmierer (Backend), ein Python-Programmierer, ein C...