Future Trends of Software Engineering

Themen, die die Zukunft bestimmen und die Gegenwart verändern

Für mehr gegenseitiges Verständnis im Software Engineering

In der Softwareentwicklung driften die akademische und die unternehmerische Welt immer weiter auseinander: Der Abstand zwischen dem Elfenbeinturm und den Büros wird größer. Dabei würden von einem engeren Austausch beide Seiten profitieren. Mit unseren „Future Trends of Software Engineering“ (FToSE) wollen wir für diese Fehlentwicklung sensibilisieren und eine Diskussion anstoßen. Ziel ist, durch den Austausch über die zentralen Trends der Softwareentwicklung wieder mehr gemeinsames Verständnis der wichtigen Themen und Entwicklungen zu gewinnen.

#1Gezähmte Agilität ist der Königsweg

Das Potenzial agiler Softwareentwicklung ist noch längst nicht ausgereizt

Praxis

Derzeit entwickelt sich eine „IT of 2 Speeds“: Kritische Systeme werden weiterhin traditionell entwickelt, während Unternehmen alles anderen radikal agil angehen.

Forschung

Vorgehensmodelle für die Softwareentwicklung machen nach wie vor Sinn. Agilität ist keine grundlegende Veränderung, sie bietet jedoch nützliche Aspekte, die in Vorgehensmodelle integriert werden sollten.

Synthese

Agilität in der Softwareentwicklung hat großes Potenzial, das nicht verschenkt werden darf: Es entstehen in kurzer Folge Veränderungsimpulse, die führen zu einer gänzlich neuen Rolle der IT-Abteilungen in Unternehmen.

#2Microservices sind eine tolle Idee

Sie sind kein Allheilmittel, erweitern aber die Möglichkeiten von IT-Abteilungen

Praxis

Microservices sind ein großer Schritt nach vorne. Sie erlauben den Experten, heterogene Architekturen miteinander zu verbinden.

Forschung

Architekturparadigmen sind eigentlich stabil. Mal heißt es Modularisierung, mal serviceorientierte Architektur und aktuell halt Microservices.

Synthese

Microservices sind großartig als Integrationsparadigma und für Neuentwicklungen; existierende Landschaften lassen sich aber kaum auf dieser Grundlage umbauen.

#3CPS Engineering ist eine neue Disziplin

Cyber Physical Systems ist die Digitale Transformation zum Anfassen

Praxis

Cyber-physikalische Systeme führen zu neuen Geschäftsmodellen. Und: Im Internet of Things steigt die Komplexität von Systemen und Beziehungen radikal an. Daraus ergeben sich neuartige Herausforderungen.

Forschung

Cyber-physikalische Systeme sind nichts strukturell Neues. Mischungen aus Informationssystemen und eingebetteter Software gab es schon immer.

Synthese

CPS Engineering kann auf bestehenden Erkenntnissen aufbauen, ist aber ein neues Tätigkeitsfeld.

#4Usability Engineering ist kein Firlefanz

An der Oberfläche entscheidet sich der Erfolg

Praxis

Der Anwender will schöne Oberflächen. Bekommt er sie nicht, wird er Software für nutzlos halten. Und irgendetwas anderes nutzen.

Forschung

Usability ist schon auch irgendwie wichtig. Deshalb soll man Usability Engineering in den Softwareprozess integrieren.

Synthese

Für oberflächenintensive oder mobile oder ungewohnte Anwendungen ist Usability Engineering der Schlüssel zum Erfolg – und deshalb eine wichtige Disziplin.

#5Havarievermeidung ist keine Utopie

Kein schönes Thema – aber ein immens wichtiges

Praxis

Solange Software von Menschen gemacht wird, wird es Havarien geben. Denn die Gründe dafür sind vielfältig und vor allem bei soziotechnischen Systemen nicht immer vorhersehbar.

Forschung

In den letzten Jahren hat die akademische Welt zahlreiche Regelwerke entwickelt, die das Problem von Havarien in Softwareprojekten lösen. Wenn die Praxis sich an die entsprechenden Konzepte hält, wird es auch keine Havarien mehr geben.

Synthese

Havarien lassen sich deutlich reduzieren, aber nur durch Konsequenz und Systematik.

#6Softwaresysteme werden Softwarelandschaften

Das große Ganze muss in jedem Detail stimmen

Praxis

Komplexe Softwarelandschaften entwickeln sich evolutionär, denn Unternehmen bauen (oder kaufen) jedes einzelne System auf die Art und Weise, wie es für sie in Bezug auf Geschwindigkeit und Wirtschaftlichkeit gerade optimal ist.

Forschung

Die Experten realisieren komplexe Softwarelandschaften als „Systems of Systems“, das heißt: Ein einheitlicher Architekturstandard sorgt dafür, dass autonome Systeme für bestimmte Anwendungsgebiete miteinander gekoppelt werden.

Synthese

Integrationsszenarien sind vorab nur wenig bekannt. Jedes einzelne System muss so gebaut werden, dass es sich zur Integration anbietet und seinen Beitrag in der Systemevolution leistet.

#7Daten sind wichtiger als Algorithmen

Mit den Daten kommen die Erkenntnisse

Praxis

Es kommt eher darauf an, relevante Daten in großer Menge zu gewinnen. Denn die Berechnungskomplexität lässt sich in der Cloud ganz gut beherrschen.

Forschung

Die Verarbeitung massenhafter Daten – und das damit verbundene Ansteigen der Berechnungskomplexität - in modernen Anwendungsszenarien erfordert effiziente und schnelle Algorithmen.

Synthese

In Big-Data-Anwendungen muss der Fokus auf der Datenbeschaffung liegen. Bei der Verarbeitung können Unternehmen auf funktionierende Infrastrukturen zurückgreifen. Das Optimieren von Algorithmen ist eher Grundlagenforschung.

#8Ungewissheit ist die einzige Gewissheit

Am Anfang ist das Ende nur eine grobe Vorstellung

Praxis

Die frühen Phasen der Softwareentwicklung bleiben entscheidend. Denn hier kommt es darauf an, einen groben, aber sehr guten Überblick über Anforderungen zu gewinnen. Im Laufe des Projektes können die Verantwortlichen dann gut erkennen, worauf es ankommt.

Forschung

Vollständige Vorabbeschreibungen für soziotechnische Systeme (eine organisierte Menge von Menschen und Technologien) kann es nicht geben. Deshalb braucht es Verfahren, um mit Anforderungen umgehen zu können, die erst während der Entwicklung auftauchen.

Synthese

Es lohnt sich, das große Bild ausgiebig zu studieren. Details werden während der Entwicklung ergänzt. Dabei muss immer wieder neu priorisiert und mutig ersetzt werden.

#9Wertorientierung ist der Maßstab

Im Fokus muss immer der Nutzen von Software sein

Praxis

Wenn alle wissen, worum es geht, entsteht auch werthaltige – im Sinne des Kunden wertorientierte – Software.

Forschung

Es gibt viele Metriken zur Softwareproduktivität (angefangen bei Function Points), aber nur wenige Ansätze zur wertorientierten Entwicklung.

Synthese

Wertorientierung von Software ist essenziell. In Entwicklungsprojekten muss es deshalb eine systematische, in das Vorgehen integrierte Fokussierung auf Werthaltigkeit geben.

#10Cognitive Computing is King

Da rollt eine Revolution auf uns zu

Praxis

Mit großen Datenmengen umzugehen, Muster in solchen Datenmengen zu erkennen und automatische Anpassungen vorzunehmen ist ein wichtiger Treiber der Digitalen Transformation. Wie die Techniken dazu zu kombinieren sind, ist noch nicht immer klar.

Forschung

Die Versprechungen der Künstlichen Intelligenz aus den 1980ern lassen sich mit skalierender Rechenleistung nach und nach umsetzen.

Synthese

Cognitive-Computing-Techniken müssen mit klassischen Informationssystemen integriert werden.

Die Future Trends of Software Engineering sind weit davon entfernt, ein reines Gedankenspiel zu sein. Aus dem Ansatz lassen sich ganz konkrete Anforderungen an die Art und Weise ableiten, wie Unternehmen mit dem Thema Software Engineering umgehen sollten. Lassen Sie uns über Ihre Situation, Anforderungen und Ideen reden – und gemeinsam die Zukunft Ihrer IT weiterentwickeln.

Möchten Sie mit einem Experten von adesso über Future Trends of Software Engineering sprechen?

* Pflichtfelder

Diese Seite teilen

Diese Seite speichern. Diese Seite entfernen.