Solutions & Experiences

Software Development

One size doesn't fit all

Für viele unserer Kunden reichen gesamtheitliche Lösungen getreu dem Motto „One size fits all” von etwa großen Produktherstellern nicht aus, um ihre digitale Strategie umzusetzen. Es gilt, verschiedenste Systeme miteinander zu verbinden und zu einem Gesamtsystem zusammenzuführen oder komplett individuelle Lösungen zu schaffen. Genau hier setzen wir an und unterstützen Sie dabei, die individuellen Anforderungen Ihrer Digitalisierungsstrategie umzusetzen.

Ihr Ansprechpartner
Jochen Binder
Head of CC Backend Solutions
Ihr Ansprechpartner
Jannik Egger
Head of CC Frontend & Apps

Unsere Leistungen im Bereich Software Development

  • Individuelle Softwareentwicklung auf qualitativ sehr hochwertigem Niveau. Unsere Scrumteams sind darauf trainiert, Software in sehr hoher Qualität schnell in Produktion zu bringen. Dies erreichen wir durch eine hohe Testabdeckung und automatisiertem Deployment. Wir unterstützen unsere Kund:innen bei der Priorisierung ihrer Anforderungen. So gewährleisten wir gemeinsam einen sehr schnellen Benefit und das Nutzen der neu entstandenen Features für die Kundschaft unserer Kund:innen.

  • Moderne Architekturen: Microservices, API-first, Cloud Native und Headless, das sind die Schlagworte, die uns vorantreiben. Unsere Teams kapseln fachlich abgegrenzte Softwareteile voneinander ab (Domain-Driven Design) und bringen somit entkoppelte Systeme in den Betrieb, die bei Änderungen unabhängig voneinander ausgetauscht werden können.

  • Migration monolithischer Systeme in moderne Microservice-Architekturen

  • Architekturbewertung und Architekturberatung

Sie haben individuelle Anforderungen an ihre Digitalisierungsstrategie, die kein Produkt abdecken kann? Sie müssen viele Systeme in ein weltweit hochverfügbares System integrieren? Internationale Ausrichtungen sind für Sie selbstverständlich und benötigen eine Partnerschaft, die derartige Herausforderungen kennt und Sie unterstützend begleitet? Wir entwickeln passgenaue Lösungen für Sie oder kombinieren Produkte miteinander zu einem Gesamtsystem – für Sie und ihre Kund:innen.

So gehen wir vor – von MACH bis REST

Wir arbeiten mit einem sehr modernen Architekturansatz – der MACH-Architektur. MACH steht hierbei für Microservices, API-first, Cloud-native sowie Headless. Unter Microservices sind Anteile der Businesslogik zu verstehen, die – fachlich voneinander getrennt – Anforderungen kapseln und unabhängig voneinander in den Betrieb gebracht werden. Um die fachlichen Schnitte der Businesslogik zu bestimmen, wenden wir Domain-Driven Design (DDD) an. Api-first beschreibt Services, und Produkte, etwa ein E-Commerce-System, welches komplett über eine API gesteuert werden kann.

Alle Services, die wir miteinander verbinden, sind auf den Cloud Provider zugeschnitten. Sie nutzen wiederum Services und Dienste (SaaS), die passgenau ein skalierbares Gesamtsystem bieten (Cloud-native). Um ein sehr modernes Web-Frontend oder auch die Anbindung einer mobilen App an die Backend-Services zu ermöglichen, wird ein Headless-Ansatz gewählt. Die verschiedenen Clients können sich somit die Daten beispielsweise via REST oder GraphQL selektieren und dem Touchpoint entsprechend darstellen.

Erstellung

Gesamtsystemarchitektur

  • Requirementsanalyse in verschiedenen Workshops

  • NFR (Non-Functional Requirements): Anhand von Szenarien werden die Qualitätsmerkmale des Systems hinsichtlich Änderbarkeit, Benutzbarkeit, Effizienz, Funktionalität, Übertragbarkeit beschrieben

  • Funktionale Anforderungen werden mit Hilfe von Storymapping in eine sinnvolle Reihenfolge gebracht

  • Entwicklung einer Caching-Strategie

  • Skalierbarkeit und Resilienz des Systems

  • Schnittstellenanalyse

  • Datenflüsse werden erfasst

  • Sizing der Systeme, Beschreibung der Skalierungsszenarien

  • IAM (Identity Access Management) beispielweise mit Keycloak

  • … weitere spezifische individuelle Anforderungen werden definiert!

Implementierung

Priorisiertes Backlog

  • Wir arbeiten mit unseren Kunden sehr häufig mit dem MVP-Ansatz (Minimum Viable Product). Das heißt: Um schnelles Kundenfeedback und Mehrwert zu liefern, wird das kleinstmögliche Feature-Set gewählt, mit welchem man schnell in Produktion gehen kann.

  • Die kritischen und wichtigen Dinge, welche den meisten Mehrwert liefern oder Risiken minimieren, setzen wir zuerst um.

  • Mit agiler Softwareentwicklung arbeiten die diva-e-Teams stetig an der Optimierung.

  • Das Deployment der Artefakte startet spätestens nach jeder Iteration (Sprintzyklus)

Vorgehensweise

So arbeiten wir

Eingesetzte Programmiersprachen, Produkte, Services

  • Wir arbeiten mit passgenauen Architekturen und wählen mit unseren Kunden die passenden Systeme aus.

  • Individuelle Anforderungen werden in Form von Microservices oder Serverless Functions umgesetzt.

  • SaaS- und PaaS-Lösungen kombinieren wir mithilfe einer MACH-Architektur miteinander. Wir sind Partner von Microsoft Azure und Amazon Web Services (aws) und kombinieren die passende Plattform oder den passenden Service für Ihr System.

  • Wir wählen die passende Programmiersprache für das System, unsere Kund:innen und die beteiligten Entwicklungsteams aus: Oft kommen Java, Kotlin oder .net aber auch Golang oder Python zum Einsatz.

Automatisiertes Deployment

  • CI/CD Pipeline: automatisiertes Deployment von Beginn der Entwicklung bis zum Livegang und im Betrieb

Sich selbst skalierende Systeme und Betrieb

  • Wir arbeiten bereits von Beginn an mit unseren Kund:innen an den Verfügbarkeiten, die an das Zielsystem gestellt werden, um einen kosteneffizenten Betrieb zu gewährleisten.

Sie haben Fragen? Nehmen Sie Kontakt mit uns auf!

Ihr Ansprechpartner
Jochen Binder
Head of CC Backend Solutions
Ihr Ansprechpartner
Jannik Egger
Head of CC Frontend & Apps

Software Development Glossar

Microservices

API-first

Cloud-native

Headless

Agile Softwareentwicklung

MVP - Minimum Viable Product

NFR – Non-Functional Requirements

Serverless Functions

Resilience (Resilienz)

Platform as a service (PaaS)

Identity Access Management (IAM)

REST

GraphQL

Häufige Fragen in Verbindung mit Software Development

Was unterscheidet MACH von reinen Microservice-Architektur?

Was ist der Vorteil einer MACH-Architektur zu einer Enterprise Lösung?

Wie stellen Sie sicher, dass Features schnell in den Betrieb kommen, ohne dass das System dabei in Mitleidenschaft gezogen wird?

Was passiert, wenn ein bestimmter Dienst ausfällt, ist dann das Gesamtsystem nicht mehr verfügbar?

Top Kunden