Software-Entwicklung

Wie entsteht eigentlich Software bei der ekom21?

Mit PAMELA ist kein TV-Star gemeint und auch nicht die Schwester von Alexa, sondern der Name für das Einwohnermeldewesen in der vergangenen Großrechner-Ära. Wer verstehen will, was Software heute leistet und wie sie entsteht, dem hilft ein Blick in die Vergangenheit. „Als PAMELA geboren wurde, waren zentrale Großrechner noch weit verbreitet“, berichtet Matthias Martin, heute Leiter des Unternehmensbereichs Softwareentwicklung bei der ekom21.

PAMELA und andere lagen auf dem Großrechner

Und so lagen viele Fachverfahren der kommunalen Verwaltungen früher auf diesen Großrechnern. Hierauf arbeiteten die Sachbearbeiter in den Verwaltungen zumeist direkt und nutzten dazu „Terminals“ genannte Bildschirme oder eine Emulationssoftware. PAMELA ging damals einen Schritt weiter und setzte einen Windows-PC voraus, auf dem die Client-Anwendung lief. Für die Entwicklung von Fachverfahren waren Großrechner-spezifische Kenntnisse gefordert, etwa zu Datenbanken und Entwicklungsumgebungen, wie Adabas und Natural. Software entwickeln, das waren große Projekte mit viel Code und langen Vorlaufzeiten. Das Thema Sicherheit war weniger präsent, denn durch den geringeren Vernetzungsgrad der IT-Systeme gab es auch weniger Angriffsfläche. Viren und Trojaner waren Fremdworte. Und wie sieht Softwareentwicklung heute aus?

Digitalisierung verändert kommunale IT und Entwicklung radikal

Die IT-Welt verändert sich rasant: Leistungsfähige und günstige Datenleitungen, Tablets, Smartphones, Sensorik oder digitales Geld – allein diese wenigen Schlagworte deuten den enormen Wandel an. Die Digitalisierung bringt viele Neuerungen hervor, die die Entwicklung von Software bei der ekom21 in zwei zentralen Dimensionen berührt. Zum einen lassen sich mit zunehmender Vernetzung und aktuellen Technologien viele Verwaltungsvorgänge vereinfachen, modernisieren und beschleunigen. Das erwarten Bürger und auch der Gesetzgeber mit zunehmender Nachdrücklichkeit, Stichpunkt Onlinezugangsgesetz (#OZG).

Stetiger Wandel in der Entwicklung

Zum anderen haben sich die Rahmenbedingungen grundlegend geändert. „Heute ist ein kontinuierlicher Wandel notwendig, um Lösungen für das Zeitalter der Digitalisierung zu schaffen. Wir setzen daher nicht nur auf aktuelle Technologien, sondern auch auf die passenden Methoden. Agilität ist ein wichtiger Aspekt, um den Kundenbedarf in funktionaler, qualitativer und zeitlicher Hinsicht zu decken. Kooperative Entwicklungen und Betriebsanforderungen nehmen zudem Einfluss auf die Softwarearchitektur. Daher haben wir bei der ekom21 heute schon viele serviceorientierte Architekturen (SOA) im Einsatz. Das wird sich intensivieren“, beschreibt Matthias Martin die Rolle der Entwicklung und prognostiziert: „Künftige Entwicklungsteams werden immer weniger autonome Gesamtlösungen erstellen, sondern eher Lösungsteile, die in einem Gesamtsystem ineinandergreifen“.

Zu den neuen IT-Architekturen, die Martin hier anspricht, gehören auch Microservice-Architekturen. Im Gegensatz zu monolithischen Software-Architekturen werden hierbei die Komponenten einer Software-Lösung in voneinander unabhängige Module aufgeteilt. Diese stellen spezifische Funktionen bereit, manchmal auch für mehrere Fachszenarien, wie den Zugriff auf Dokumenten-Management-Systeme. Die Microservices sind lose gekoppelt und die Kommunikation erfolgt über Schnittstellen. Dadurch kann der Betrieb auch verteilt auf unterschiedlichen Servern oder an verschiedenen Standorten erfolgen. Um ein Fachszenario abzubilden, braucht es also eine Gruppe von Microservices, die über Schnittstellen miteinander kommunizieren und alle Funktionen bereitstellen.

Software für den Container

Das passt perfekt zu agiler Entwicklung: Im Gegensatz zu früher müssen bei Änderungen nicht größere Teile der Software neu geschrieben werden. Stattdessen werden dynamisch und flexibel neue Microservices eingefügt oder vorhandene aktualisiert. Deren Bereitstellung für die Betriebsinstanzen erfolgt zunehmend in sogenannten Containern. Durch diese Containerisierung werden Softwarelösungen nicht mehr als Installationspakete, sondern in kleineren ausführbaren Einheiten ausgeliefert. Die Aktualisierung kann hiermit auch im laufenden Betrieb vorgenommen werden, so dass der Nutzer stets auf den aktuellen Service zugreift. All dies erfordert bei den Entwicklern Kenntnisse in sehr vielen unterschiedlichen Technologien, zudem spielen auch Sicherheits- und Compliance-Aspekte eine immer größere Rolle. ekom21-Entwicklungschef Martin fasst zusammen: „Der Trend von Microservices und Container-Betrieb ist noch vergleichsweise jung und hat großes Potenzial: So wie Container den Warentransport revolutioniert haben, erleben wir es gerade bei der Bereitstellung von Software. Bei der ekom21 haben wir im Rahmen eines Entwicklungsprojekts diese Systematik frühzeitig für uns adaptiert und im Haus sowie bei Partnern vorangetrieben“.

DevOps, wenn Entwicklung und Betrieb zusammenrücken

DevOps? Was ist das denn, mögen sich einige Leser fragen. Ganz einfach, mit der Entwicklung von Software ist nur ein Teil der Arbeit getan. Denn soll Software nicht nur auf den Entwickler-Rechnern laufen, dann muss sie auch den Nutzern zur Verfügung gestellt werden. DevOps ist ein Kunstwort aus den Begriffen Development („Softwareentwicklung“) und Operations („IT-Betrieb“) und beschreibt eine Vorgehensweise, die den Zielkonflikt aus agiler Entwicklung und stabilem Betrieb auflöst: Zusammenarbeit von der Anforderungserhebung über die Entwicklung bis hin zum Betrieb. Hierdurch werden frühzeitig und stetig die Anforderungen aller Beteiligten ausgetauscht, spezifiziert und umgesetzt. Software landet so schneller und automatisiert in der Produktion.

DevOps plus Qualitätssicherung gleich DevQOps

Die ekom21 ist aber noch einen Schritt weitergegangen: Man setzt auf DevQOps. Das Q heißt: Auch die Qualitätssicherung ist integraler Bestandteil der Entwicklung. Denn vor dem Einsatz muss sichergestellt sein, dass Software genau das tut, was sie soll, und die Kriterien der IT-Sicherheit erfüllt. Früher dauerten solche Übergabephasen aufgrund aufwändiger manueller Tests oft mehrere Wochen, bis eine neue Software-Version einsatzbereit war. Das ist nach einem Beratungsprojekt unter der Leitung von T-Systems Multimedia Solutions (MMS) GmbH anders. Gemeinsam hat man die Qualitätssicherung in den Entwicklungszyklus integriert, auf höhere Liefergeschwindigkeit optimiert und Entwicklungs- und Betriebsexperten organisatorisch eng verzahnt. Bei jedem Projekt planen die Experten gemeinsam den Aufbau der Test- und Betriebsumgebungen. „Das Projekt mit den erfahrenen MMS-Beratern war sehr nützlich für die Entwicklung unseres neuen, iterativen DevQOps-Prozesses. Die frühzeitige und stetige Kommunikation zwischen Dev, Q und Ops bildet die Grundlage für eine durchgängige Automatisierung“, resümiert Matthias Martin.

Für die Kommunen, für die Bürger entwickeln

Damit ist die Softwareentwicklung der ekom21 gut aufgestellt, um Lösungen für effizientes und durchgängig digitales Verwaltungshandeln zu schaffen – sei es für die digitale und sichere Behördenkommunikation, die Bereitstellung und Vernetzung von Fachverfahren oder die Online-Bezahlung mittels ePayment. Zudem werden im Rahmen des OZG in den nächsten Jahren zusätzlich eine Vielzahl von Services entstehen, welche die Bürger und Unternehmen zunehmend digital mit den Verwaltungen in Kontakt treten lassen. Für die Herausforderung von Digitalisierung und OZG hat man sich mit neuen Methoden und Technologien gut aufgestellt. Matthias Martin: „Für die Kommunen und damit für die Bürger entwickeln wir bedarfsorientierte Lösungen – flexibel, agil und mit höchsten Qualitäts- und Sicherheitsstandards.“

Weiterführende Informationen

Wer das Team verstärken oder eine Ausbildung als Entwickler machen will, findet weitere Informationen hier: https://www.ekom21.de/karriere/