Wir brauchen technikfeindliche Techniker!

Continuous Architecture  –  15 Kommentare

Software Engineering ist zwar eine technische Disziplin, aber dennoch misst sie Technologien zu viel Bedeutung bei.

Technologien sind für Software Engineering sehr wichtig. Zumindest einen Überblick über die wichtigsten Technologien sowie ihre Stärken und Schwächen sollten Software-Entwickler haben. Schließlich kann die Wahl der richtigen Technologie dazu führen, dass Projekte Probleme schneller und effizienter lösen. Genauso können Technologien zu einem Projektrisiko werden, weil sie den Ansprüchen nicht genügen.

Sollten sich Software-Entwickler also auf Technologien konzentrieren? Zu tun gibt es genug: Jedes Projekt kann immer noch weiter optimiert werden. Die Code-Qualität kann immer noch besser sein, die Testabdeckung sowieso und neue Technologien gibt es auch andauernd. Irgendwann kann das zu Beschäftigungstherapie werden: Warum nicht noch diese oder jene Technologie einbauen? Oder hier oder da noch optimieren?

Dabei gerät ein wichtiger Faktor in Vergessenheit: Wer Technologien um ihrer selbst willen verwendet, betreibt kein Software Engineering. Engineering ist eine Ingenieurstätigkeit. Das bedeutet, ein Problem mit Technologien zu lösen.

Technologien sind Mittel, nicht Zweck

Technologien sind selbst kein Zweck, sondern ein Mittel, um einen Zweck zu erreichen. Also müssen Software-Entwickler Geschäftsprobleme mit Software lösen. Wenn man ihnen die Chance dazu gibt, eigenverantwortlich an Geschäftsproblemen zu arbeiten, kommen sie oft auf sehr gute Ideen und können die auch gleich umsetzten. Wenn die Software-Entwickler hingegen auf die Technologien begrenzt werden, können sie sich natürlich auch nur in diesem Bereich einbringen, und dann hat das Verhalten oft etwas von Verhaltenstherapie. Statt also die Software-Entwickler stärker zu kontrollieren und Technologie-Entscheidungen zu hinterfragen, sollten technikverliebte Software-Entwickler stärker an den Geschäftsfragen teilhaben und so den Geschäftswert in den Mittelpunkt stellen.

Grundsätzlich sollten Software-Entwickler Technologien nur nutzen, wenn sie Geschäftsprobleme lösen. In gewisser Weise müssen sie also nicht technikverliebt, sondern technikfeindliche Techniker sein: Erst wenn eine neue Technologie wirklich ein Problem löst, dann sollte sie genutzt werden – und nicht etwa, wenn sie cool oder spannend ist.

tl;dr

Software-Entwickler haben eigentlich einen Technik-Schwerpunkt. Aber Software-Projekte sollen Technologien nur einsetzen, wenn sie einen Geschäftsnutzen haben. Also müssen sich Software-Entwickler mehr um Geschäftsprobleme kümmern und Technologien skeptisch gegenüber stehen.