SOFTWARE ARCHITEKTUR
BASIS FÜR LANGLEBIGE UND HOCHWERTIGE SYSTEME
Kontinuierliche Entwicklung und Anpassung
Die Softwarearchitektur ist ein fundamentaler Baustein für langlebige und qualitativ hochwertige Systeme. Sie muss aktuelle Problemstellungen bewältigen, Evolutionspotenziale bieten und „Over-Engineering“ vermeiden. Eine agile Entwicklung ist somit in den frühen Phasen der Softwareentwicklung von wesentlicher Bedeutung, muss aber auch kontinuierlich weiterentwickelt und angepasst werden. Außerdem ist die Softwarearchitektur ein wesentlicher Grundpfeiler für die Testbarkeit und damit der Robustheit eines Systems.
Ist Ihre Softwarearchitektur robust?
Sich immer schneller ändernde Anforderungen machen die kontinuierliche Anpassung und Weiterentwicklung von Produkten und Systemen unumgänglich. Selbst in hardwarenahen Branchen, wie dem Maschinenbau, sind die Softwareanteile inzwischen wettbewerbsentscheidend. Moderne Softwaresysteme sind von steigender Komplexität geprägt. Mittlere und größere Vorhaben verschlingen viele Personenjahre.
Diese Systeme müssen über viele Jahre in Betrieb gehalten, modernisiert und erweitert werden können (Investitionsschutz). Die Softwarearchitektur bestimmt die Langlebigkeit eines Systems immens und ist somit zentrales Artefakt im agilen Entwicklungsprozess. Die Arbeiten an der Architektur sind erst dann vollständig beendet, wenn sich das System nicht mehr weiterentwickelt.
Wir schaffen schnellstmöglich einen Prototyp!
Workshop: Unsere Consultants erarbeiten gemeinsam mit Ihren Mitarbeitern in einem Workshop Storyboards, Anforderungen und ein Architekturkonzept. Dabei werden auch Bestandssysteme analysiert und entschieden, ob neue Softwarekomponenten in die bestehenden Strukturen integriert (Brownfield-Entwicklung) oder Teile wiederverwendet werden können. Die Weiterentwicklung erfolgt im laufenden Projekt.
Prototyp: Auf dieser Grundlage wird früh ein Prototyp entwickelt. Dieser dient als Nachweis der Machbarkeit und ermöglicht schnelles Feedback.
Agil und iterativ: Dieses Grobkonzept wird weiterentwickelt. Eine Adaption ist, wenn nötig, nach jedem Sprint möglich.
BENEFITS
Was bietet Ihnen eine Softwarearchitektur?
- Erarbeitung der Systemeigenschaften im Team um ganzheitliches, teamübergreifendes Verständnis zu schaffen
- Abgrenzung gegenüber „benachbarten“ Systemen für einen klaren Projektfokus
- Transparente Erarbeitung der zentralen Systemkomponenten unter Einbeziehung der Teammitglieder und Stakeholder
- Festlegung der Eigenschaften/Aufgaben der Systemkomponenten um diese agil und parallel entwickeln zu können
- Kontinuierliche, interaktive Weiterentwicklung der Architektur um neue Anforderungen einfließen zu lassen
- Festlegung der Beziehungen der Systemkomponenten untereinander
APPROACH
Entwicklung ist eine Teamaufgabe
Jede Softwarearchitektur wird entscheidend durch die nicht-funktionalen Eigenschaften des zu entwickelnden Systems bestimmt. Dazu gehören Eigenschaften wie z. B. Wartbarkeit, Sicherheit, Performance, aber im modernen Cloud-Umfeld auch die Betriebskosten und nationale und internationale Vorschriften. Die Erarbeitung dieser Kriterien ist eine Teamaufgabe. Die Grundlage für die Entwicklung der Architektur bilden Scoping- und Use-Case Workshops.
In diesen Workshops entwickeln wir gemeinsam mit Ihren Experten die initiale Grobarchitektur. Parallel führen wir eine Wiederverwendbarkeitsanalyse der bestehenden Systeme durch. Verschiedene Lösungsansätze werden unter Berücksichtigung der Teamstrukturen und des vorhandenen technologischen Know-hows gemeinsam mit Ihren Fachexperten bewertet. Der weitere Lösungsweg wird ausgewählt. Im nächsten Schritt wird die Machbarkeit des gewählten Ansatzes anhand eines technischen Durchstichs evaluiert und die Machbarkeit nachgewiesen.
SERVICES
Wir bieten Ihnen Erfahrungen in den Bereichen
- Individuell zugeschnittene ganzheitliche Architekturen
- Vom Sensor bis in die Cloud
- Steuerungs- und Regelungstechnik
- Maschinenbedienung/HMI
- IoT-Lösungen
- Micro-Service-Architekturen
- Messwerterfassung und Verarbeitung
- Machine Learning im industriellen Umfeld
- Teamarbeit mit Coachings
- Ausgeprägte Betriebssystem- und Plattformerfahrung
- Modulare HMIs und modular verteilte Systeme
- Projektbegleitende Dokumentation/Visualisierung der Architektur
- DevOps
Ihr Ansprechpartner
Ihr Ansprechpartner
Harald Weigold, Mitglied der Geschäftsführung