Wie sieht zeitgemäßes Software Engineering aus?

Foto des Autors
Lukas Pradel

Welche Antworten Conciso momentan auf diese Frage hat, habe ich im Rahmen der Digitalen Woche Dortmund 2020 bei einem Webinar zusammengetragen.
Falls du nicht dabei sein konntest oder es dich noch immer beschäftigt, findest du hier alles Wichtige!

Im Rahmen der Digitalen Woche Dortmund 2020 habe ich die Antworten, die wir bei Conciso auf diese Frage haben, bei einem Webinar zusammengetragen. Als Aufhänger haben wir dazu das allgegenwärtige Thema der Digitalisierung gewählt. Grundsätzlich sollte sich jeder Software Engineer immer mal wieder diese Frage stellen, da sich die Softwarewelt schnell dreht und sich in wenigen Jahren vieles ändert. So sah professionelle Softwareentwicklung vor 10 Jahren noch völlig anders aus, als heute.

Bei der Digitalisierung haben sich für uns drei wesentliche Kerndimensionen herauskristallisiert.

Geschwindigkeit

Die fortschreitende Verbreitung von Software in allen Bereichen unseres Lebens und der Gesellschaft verspricht vor allem eine erhöhte Geschwindigkeit. Sowohl bei der Erfassung als auch bei der Verarbeitung von Daten, sind Softwaresysteme längst schneller als wir Menschen. Gleichzeitig hat sich aber auch die Erwartungshaltung der Nutzer geändert. Wie selbstverständlich gehen wir heute davon aus, dass innerhalb von Stunden oder wenigen Tagen neue Features für eine Dienstleistung implementiert werden, die wir uns beispielsweise über Social Media wünschen. Praktiken wie CI/CD mit einer entsprechenden Pipeline, Trunk-based und Test-Driven Development sowie Code Reviews sind die logische Konsequenz und damit unverhandelbare Must-Haves, also längst keine Nice-To-Haves mehr!

Wachstum

Langlebige, zukunftssichere weil anpassbare und skalierbare Softwarearchitekturen sind wichtiger denn je, um auch im Zeitalter von innovativen Startups konkurrenzfähig zu bleiben. Mit der Cloud ist es heutzutage möglich, mit äußerst geringem Startkapital Unternehmen zu gründen, die innerhalb weniger Jahre zu globalen Playern werden können – sofern die Software (und ihre Architektur) Schritt halten kann. Immer öfter beobachten wir in unseren Projekten, dass es gerade bei der agilen Softwareentwicklung vorteilhaft sein kann, von „built to last“/“Design for the future“-Architekturen, bei denen in einer langen Konzeptionsphase eine feste Architektur für die nächsten Jahre entworfen wurde, zu einer evolutionären oder emergenten Architektur zu gelangen, die deutlich wandelbarer und flexibler auf unsichere und wechselhafte Anforderungen reagieren kann. Architecture Decision Records und Domain Driven Design sind hier hilfreiche Ansätze, die sich bewährt haben.

Agilität

Aller Unkenrufe zum Trotz bedeutet agile Vorgehensweise nicht etwa planloses Vorgehen. Viel mehr ist ein guter Plan wichtiger denn je! Aber der Plan sieht sicherlich anders aus als ein Lasten- und Pflichtenheft. Mit einem sauberen Portfolio-Management, das die User Stories über Epics, Journeys und Initiativen organisiert und bei dem insbesondere mittels Engineering-orientierter Softwareentwicklung wir Engineers in allen Stufen der Planung von Anfang an miteinbezogen werden und unsere Expertise einbringen, können agile Softwareprojekte erfolgreich umgesetzt werden.

Skills & Mindset

Es zeigt sich immer mehr, dass rein technische Skills wie Frameworks und Tools heute gar nicht mehr entscheidend sind. Viel mehr sind klassische Ingenieurstugenden wie Neugierde, Kreativität und Problem Solving gefragt. Speziell sind Selbstorganisation und Kommunikation mit allen Ebenen erforderlich, um die nötige Ende-zu-Ende-Verantwortung übernehmen zu können. Vorallem ein DevOps-Mindset und das bewusste Formen und Mitgestalten von Teams sind heute kritische Skills, da Software fast ausschließlich von Teams und nicht mehr von Individuen entwickelt wird.

Fazit

Es gibt einen Unterschied zwischen Programmierern und Software Engineers. Je weiter die Digitalisierung voran schreitet, desto mehr Bedeutung wird Software zukommen. Aus diesem Grund wird der Bedarf an Software Engineers, die erfolgreich digitale Projekte umsetzen, weiter steigen.

Webinar

Das gesamte Webinar gibt es kostenlos zum Anschauen auf unserem YouTube-Kanal:


Mit dem Klick auf das Video ist Ihnen bewusst, dass Google einige Cookies setzen und Sie ggfs. auch tracken wird.

1 Gedanke zu „Wie sieht zeitgemäßes Software Engineering aus?“

Schreibe einen Kommentar

Das könnte Dich auch noch interessieren

Zugriff auf JMS-Queues in einem Docker-Container

Zugriff auf JMS-Queues in einem Docker-Container

Welche Lösung ich für eine Testumgebung gefunden habe, in der ein JEE-Applikationsserver innerhalb eines Docker-Containers betrieben wird und weitere Anforderungen ...
Jenkins, Jenkins: Don't Repeat Yourself (DRY)!

Jenkins, Jenkins: Don’t Repeat Yourself (DRY)!

In modernen Microservice-Architekturen wird Software vollautomatisch über CI/CD-Pipelines ausgeliefert. Wie lassen sich diese Pipelines bei wachsender Komplexität und steigender Anzahl ...
Daniel Naczinski ist an einem Arbeitsplatz im Conciso Workgarden und präsentiert sein programmiertes Ergebnis mit Kivy.

Kivy – modernes GUI-Toolkit für Python Projekte

Mit dem GUI-Framework Kivy lassen sich moderne Python-basierte Desktop-Anwendungen und mobile interaktive Multi-Touch-Applikationen bauen. In diesem Wissensbeitrag zeigen wir, warum ...