Die akademische und die unternehmerische Welt driften in der Softwareentwicklung immer weiter auseinander, beobachtet der IT-Dienstleister adesso. Mit dem Ziel, wieder mehr gemeinsames Verständnis der zentralen Themen zu gewinnen, formuliert Prof. Volker Gruhn, Gründer und Vorsitzender des Aufsichtsrats der adesso AG, die „Future Trends of Software Engineering“. In zehn Thesen schlägt er die Brücke zwischen den Positionen der Forschung und den praktischen Anforderungen der Unternehmen.
THEORIE UND PRAXIS in Personalunion vereint: Als Inhaber des Lehrstuhls Software Engineering an der Universität Duisburg-Essen und als Mitgründer und Vorsitzender des Aufsichtsrats der adesso AG vereint Prof. Dr. Volker Gruhn Wissen und Erfahrung im Bereich Software-Entwicklung. Nach seiner Einschätzung geht die Schere zwischen akademischer und unternehmerischer Welt derzeit immer weiter auf.
Zehn Thesen zur Software-Entwicklung der Zukunft
Mit dem Ziel, wieder mehr gemeinsames Verständnis der zentralen Themen zu gewinnen, formuliert Dr. Gruhn deshalb die „Future Trends of Software Engineering“. In seinen folgenden zehn Thesen über die Zukunft der Softwareentwicklung bildet er die Synthese aus den theoretischen Positionen der Forschung und den Anforderungen der Praxis. Das Themenspektrum der zehn Thesen von Dr. Gruhn zur Software-Entwicklung der Zukunft reicht von der agilen Entwicklung über Microservices und Cognitive Computing bis hin zu Cyber Physical Systems.
1) Gezä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 andere 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.
2) Microservices 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.
3) CPS 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.
4) Usability 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.
5) Havarievermeidung 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.
6) Softwaresysteme 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.
7) Daten 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.
8) Ungewissheit 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.
9) Wertorientierung 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.
10) Cognitive 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.
hei
Anzeige
Die Marktübersicht und Standard-Referenz für SAP-Lösungen
- Produkt- bzw. Marktübersicht
- Profile der Anbieter und Dienstleister
- Projektberichte
- Fachbeiträge neutraler Experten zu aktuellen Themen
Informationen zur Beteiligung am Guide SAP-Lösungen können Interessierte unter Stephan.Klein@Trovarit.com anfordern.