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

Das Nx-Monorepo - Verwalte Deine Anwendung in einem Repository

Das Nx-Monorepo – Verwalte Deine Anwendung in einem Repository

Ich zeige Dir in diesem Tutorial, wie Du mit einem Nx Monorepo Deine Anwendung mit mehr Organisation und weniger Duplikaten ...
DevOps Days Berlin 2019

DevOps Days Berlin 2019

Begleite uns durch die Eindrücke von dieser internationalen Konferenz ...
Während seiner Mitarbeit am DB Navigator hat unser Kollegen Michael Didion wichtige Erfahrungen im Bereich der Migration mit JSCodeshift gesammelt. Um ebendiese wird es im Beitrag gehen.

JSCodeshift: Automatisierte Vue 3-Migration 

JSCodeshift ist ein nützliches Werkzeug für Entwickler:innen, um zeitaufwendige und fehleranfällige Aufgaben im Zusammenhang mit Codeänderungen zu automatisieren und zu ...