Aus meinem Erleben war früher der typische Ablauf zum Einrichten einer Schnittstelle so:
Manager haben entschieden, dass wir so eine Schnittstelle brauchen. Danach gab es noch noch ein oder 2 Meetings mit den beteiligten Firmen, und danach hatte man einen Ansprechpartner, der das programmiert. Damit ergab sich ein 2-Mann-Team, und man hat das ganze direkt miteinander abgewickelt. Bei Problemen war man "irgendwie" verantwortlich und hat sie gelöst. Man war gleichzeitig Programmierer, Designer, Helpdesk, und was es sonst noch so gibt.
Heute sieht es eher so aus:
Die Programmierer von damals sind in Rente, die Programmier-Abteilungen wurden aufgelöst, und man hat nun einen Manager und einen Externen. Der Manager nimmt, was am besten und modernsten klingt und die größten Versprechen gibt. Der sieht eine Webseite mit MVC, C# und Blablabla, die sieht besser aus als ein Textterminal, auch wenn in der Präsentation die Elemente Optionbutton und Label heißen und die wahren Schwierigkeiten nicht im allergeringsten adressiert sind.
Technik hat auch Inhalt verborgen. Es ist JSon und Standard, dennoch muss man nicht alles in Textfelder packen und sich keine Gedanken über Normalisierung machen. Aber passt schon, ist ja Mongo-DB. Eine Schnittstelle liefert öfters mal Länge/Breite Höhe in Stück. Leider fehlt mir ein zuständiger Ansprechpartner, der das beheben könnte, denn unsere Schnittstelle ist nur noch eine Ausleitung aus einem anderen Datenaustausch, für den andere Verantwortlich sind. Vielleicht gibt es diese Anderen noch, vielleicht sind die als Externe auch am Ende der Systemumstellung verschwunden...
"Warum ist manchmal das Entwickeln von Software so ein Riesenproblem?"
- Es klappt ziemlich sicher, wenn einer mit Durchblick und ausreichend Entscheidungsbefugnissen eine tatsächliche Verantwortung trägt. Torvalds trägt so eine Verantwortung, Musk auch, extern für Einzelaufgaben Hinzugekaufte tun das nicht. Manager mit Karrierewünschen ebenfalls nicht, die wollen irgendwann weiterziehen.
- Verantwortung wird vermieden, man ist nicht zuständig. Probleme könnten in 5 Minuten besprochen und gelöst sein, aber man produziert Tickets und Eskalationen und beteiligt 5 Leute eine Woche in Meetings. Qualitätsmanagement hatte mal einen anderen Sinn.
- Je größer ein Projekt, desto mehr Teilaufgaben, desto mehr Management-Aufgaben, desto mehr Idioten.
- Projekte werden zu groß. Heute will man mit einer Software alle Aufgaben eines großen Konzerns auf mehreren Kontinenten erledigen.
- Je größer ein Unternehmen wird, desto schwieriger ist es, Informationen zu beschaffen. Die Leute erledigen seit Jahrzehnten Ihre Aufgaben, in solchen Zeiträumen entwickeln verschiedene Abteilungen verschiedene Sprachen. Ganz feine Aufgabe, dort alle nötigen Anforderungen zu sammeln und von den unnötigen zu trennen.
- Die Idee scheint verbreitet, dass schon die Verwendung modernerer Technik Probleme löst. Tut sie nicht.