9 Minuten Lesezeit Ob Standard- oder Individuallösungen als Basis für Ihre App, achten Sie auf eine hochqualitative Softwarearchitektur, um den wirtschaftlichen Erfolg zu sichern. Zentrale Bedeutung für den Erfolg von Apps in der Industrie hat das User Interface. Als Schnittstelle zwischen User und Device muss sie den Nutzerbedürfnissen folgen. Mit der richtigen Planung und Balance zwischen Skalierbarkeit und Wartbarkeit nutzen Sie den technologischen Wandel zu Ihrem Vorteil und sichern den langfristigen Markterfolg. Eine gute Softwarearchitektur kann Abhängigkeiten und Kosten im Zaum halten, gleichzeitig aber in der Lage sein, Use-Case-bezogen über einen langen Zeitraum verfügbar und erweiterbar zu sein. Diese Erweiterbarkeit entscheidet in einer Zeit immer kürzerer Innovationszyklen für Apps und andere Software-Add-ons, ob sich ein positiver ROI einstellt. Daher ist es nicht verwunderlich, dass ein Cloud-First-Ansatz oftmals das Mittel der Wahl ist. In der Cloud sichern sich Unternehmen Skalierbarkeit und den schnellstmöglichen Zugang zu neuesten Services und Features. Aber, wie kommen Sie zu einer passenden und wirtschaftlichen Lösung? Im vorigen Blogartikel unserer Reihe (”Business first! Die Softwarearchitektur entscheidet über Kosten und Erfolg von Apps in der Industrie”) haben wir gezeigt, welche Faktoren die Architektur von App- und Softwareprojekten in der Investitionsgüterindustrie treiben und die Frage beantwortet, welche Business-Aspekte für die wirtschaftlich erfolgreiche Umsetzung von App- bzw. Softwareprojekten in der Industrie zu klären sind. Nun möchte ich Ihnen konkrete Ansätze aufzeigen, wie man eine wirtschaftlich erfolgreiche Softwarearchitektur für Apps in der Industrie entwickelt. Softwarearchitektur für Apps: Mehr Fokus durch Nutzung von Standardlösungen Grundsätzlich setzen immer mehr Unternehmen in der Industrie bei Ihren App- und Softwareangeboten auf Standardlösungen, wenn diese zur Bedienung geeignet sind. Ein Grund dafür: Die Anbieter von Softwarelösungen haben ihre Angebote in den letzten Jahren stark flexibilisiert. In der Vergangenheit musste oft noch das Gesamtpaket per Lizenz erworben und in die eigene Infrastruktur integriert werden. Heute können gleiche oder ähnliche Lösungen, oder auch einzelne Bausteine, als Software-as-a-Service (SaaS) im Abonnementmodell eingekauft werden. Die Integration in die eigene Unternehmens-IT übernimmt häufig ein Dienstleister, der auf die eingesetzten Software- und IT-Technologien spezialisiert ist. Hier gibt es verschiedene Varianten, die je nach Unternehmensressourcen sowie Art und Umfang der digitalen Services gegeneinander abgewogen werden müssen. Der Integration in die eigene IT-Landschaft steht die Auslagerung auf Anbieter von Infrastructure-as-a-Service (IaaS) oder Platform-as-a-Service (PaaS) gegenüber. Die bekanntesten Plattform-Anbieter sind Branchenriesen wie Amazon Web Services (AWS), Microsoft Azure und Google Cloud Platform (GCP). Das interessante bei diesen De-Facto-Standards im Cloudcomputing ist die hohe Verfügbarkeit und die kontinuierliche Verbesserung der Services durch die Anbieter, von der wiederum die Softwareangebote der Unternehmen profitieren können. Etablierte Anbieter setzen auch auf die ständige Erweiterung ihres Service-Portfolios, um Kunden, u. a. aus der Industrie, optimaler bedienen zu können. Außerdem nutzen die Anbieter weltweit verbreitete Software-Entwicklungstechnologien oder legen ihre Technologien offen, sodass ausreichend Wissen vorhanden ist – ein wichtiger Sicherheitsaspekt. Auch die Langlebigkeit ist erstaunlich hoch: Vor mehr als 20 Jahren, im Juli 2000, ging der erste Web Service von Amazon online. Wie Sie sehen, haben sich viele „Einzelteile“ von Software-Lösungen auf die Cloud-Plattformen als Services verschoben. Das ist zurzeit die kosteneffektivste Methode, Softwarekomponenten und APIs verfügbar zu machen, zu warten, und zu erweitern. Außerdem ermöglicht es Ihnen, Ihre Entwicklungsaufwände auf die Komponenten zu fokussieren und zu beschränken, die das Kerngeschäft Ihres Unternehmens betreffen. Softwarearchitektur für Apps: Entwicklung einer Individual-Software Bei der Realisierung von Apps und digitalen Services in der Industrie gibt es auch Situationen, in denen die Geschäftserfordernisse gegen eine auf Standards basierende Lösung sprechen. In diesem Fall spricht man von der Entwicklung einer Individual-Software. Welche Faktoren könnten diesen Schritt erforderlich machen? Eine innovative Idee, wie einen neuen digitalen Service, umzusetzen, bedeutet oft, auf Grund noch fehlender Anbieter von Komponenten oder Services die Software zur Umsetzung der Idee neu entwickeln zu müssen, wie zum Beispiel ein Variantenmanagement Ihrer Produkte. Darüber hinaus können Gründe wie unerwünschte finanzielle Abhängigkeiten, die fehlende geografische Abdeckung, ein Mismatch zu gesetzlichen Anforderungen oder anderen Bestimmungen die Entwicklung einer Individual-Software erforderlich machen. Im Fall einer individuellen Lösung ist der Bedarf für qualitativ hochwertige Softwarearchitektur ebenso gegeben. Es muss aber klar sein: Individuell bedeutet auch, dass der Aufwand höher sein wird als für Standardlösungen. Blicken Sie auf die oben genannten Gründe, warum eine Standard-Lösung nicht in Frage kommt, wird sehr schnell deutlich: Eine individuelle Lösung hat besondere Aufgaben zu erfüllen. Betrachten wir zum Beispiel die fehlende geografische Verfügbarkeit von Diensten. Die Verfügbarkeit von Basis-Ressourcen wie stabile Energieversorgung, schnelle und sichere Vernetzung bis hin zum Objektschutz scheinen alles andere als selbstverständlich zu sein. Die Architektur Ihrer App-Lösung muss also vermutlich Themen wie Stromausfall, Notbetrieb und Kommunikation trotz Unterbrechung berücksichtigen. Dazu kommen Herausforderungen wie die Erkennung von Ausfällen von Hard- oder Softwarekomponenten, den einfachen Austausch von Hardware im Fall von Diebstahl, besondere Verfahren zur Legitimation von Nutzern usw. Werfen wir ein Blick auf das oben genannte Variantenmanagement ihrer Produkte: Das Berücksichtigen vieler unterschiedlicher Kundenwünsche ist eine Herausforderung, die ein Zusammenspiel von ERP-System, User-Portal, Produktionsplanung und ggf. externen Partnern, wie Finanzierungsdienstleistern, erfordert. Dafür wird es erforderlich sein, Softwarekomponenten individuell zu konzipieren, zu implementieren, zu testen, zu integrieren und in Betrieb zu nehmen. Die Softwarearchitektur muss in all diesen Phasen beteiligt werden, um sicherzustellen, dass Anforderungen und Kosten eingehalten werden können und so eine wirtschaftlich erfolgreiche Lösung entsteht. Apps in der Industrie: User-Interface und IoT-Einbindung von Maschinen Der Gestaltung und Implementierung der Bedienoberfläche (User Interface = UI) kommt bei der Entwicklung von Apps und digitalen Services für die Industrie zentrale Bedeutung zu. Denn sie ist die Schnittstelle zwischen User und Maschine bzw. Device. Bedienoberflächen sollten daher immer den Nutzerbedürfnissen folgen. Für Softwareangebote in der Industrie sind interaktive 3D-Darstellungen interessant, da sie Maschinen, Prozesse oder theoretische Ideen in beeindruckender Perfektion visualisieren. Auch sehr interessant sind berührungslose Interaktionen, z. B. mittels Voice User Interfaces oder Gestensteuerung. In der Softwarearchitektur werden hier die Auswahl der passenden Basis-Technologien, die Integration ins Endgerät sowie die Verteilung der Funktionen zwischen Endgerät und Backend definiert. Viele dieser Entscheidungen zahlen direkt auf die Betriebskosten ein, je nach Abrechnungsmodell sind geringere Datenmengen oder weniger benötigter Transaktionsspeicher von Vorteil. Die Einbindung von Maschinen und Anlagen in die IT-Systeme wird oft mittels IoT-Verbindung vereinfacht. Das trifft sicherlich nicht auf alle Komponenten zu, die bislang auf der Maschine gelaufen sind. Die Softwarearchitektur hat hier die Aufgabe, den Schnitt zwischen On-Cloud und On-Device entlang der Anforderungen zu ziehen. Es liegt auf der Hand, dass zeitkritische Abläufe und sicherheitsrelevante Komponenten (Safety) eng an die Maschine zu koppeln sind, während das bei Informations-Dashboards zu Condition Monitoring, Konfiguratoren, Wartungsdaten etc. nicht zwingend nötig ist. Während der Analyse des Status-quo auf der Maschinensoftware ist es nicht immer leicht, diese Unterscheidung zu treffen, da die Anforderung nach Separierbarkeit oftmals neu für diese Software ist. In diesem Fall können Aufwände zum Refactoring bis hin zum Redesign der Maschinen-software anfallen. Make or Buy or Partner vs. Make and Buy and Partner? Ganz gleich ob Software-Lösungen, Plattformen oder Komponenten – Make-or-Buy-Entscheidungen werden auf Grund der zunehmenden Vernetzung und den kurzen Innovationszyklen in der IT immer öfter durch die Frage „or partner?“ ergänzt. Die Abhängigkeiten zu externen Anbietern und Partnern werden daher neben den Kosten zur Entwicklung und Nutzung von Apps und Softwarelösungen ebenso immer häufiger zu Entscheidungskriterien. Heutzutage gibt es viele Software-Systeme, die zu Teilen aus Kauflösungen, selbstentwickelten Lösungen und eingebundenen Partner-Lösungen bestehen. Dabei gilt es immer abzuwägen: Mit einer Buy- oder Partnerlösung erreichen Sie einen schnelleren und zeitnahen Markteintritt Ihrer digitalen Services, dafür sind aber meist nicht alle Varianten des eigenen Geschäftes damit umsetzbar. Wirtschaftlichkeit von Apps: Die Balance aus Erweiterbarkeit und Wartbarkeit Wie im vorangegangenen Blogartikel „Business first! Die Softwarearchitektur entscheidet über Kosten und Erfolg von Apps in der Industrie“ betont, müssen Sie für Ihre Softwarearchitektur eine zum Geschäftsmodell passende Balance zwischen den beiden Architekturtreibern Erweiterbarkeit und Wartbarkeit finden. Stellen Sie sich die Frage: Wo lohnt sich der Einbau der Erweiterbarkeit, weil es das Geschäftsmodell nahelegt, und wo sollte man sie bewusst weglassen, um die Systemkomplexität zu Gunsten der Wartbarkeit zu reduzieren? Ausreichend gute Erweiterbarkeit hilft, die Investition langfristiger aufzustellen, da die Lösung um neue Features erweitert werden kann. Angemessen ausgebaute Wartbarkeit kann helfen, die laufenden Kosten zu senken. App entwicklung kosten einsparpotenzial K osten Einsparpotential Explodierende Ko sten eingedämmt durch wirtschaftliche Softwarearchitektur Ze it APP ENTWICKLUNG WEITERENTWICKLUNG BETRIEBSK OSTEN Es wird sich immer lohnen, die Verteilung der Kosten entlang des Lebenszyklus ihres Produktes bzw. ihrer Services zu optimieren. Gerade bei länger geplanten Laufzeiten oder Skalierungen ist es extrem wichtig, schon während der Entwicklung auf die Betriebskosten zu achten. Bei Apps ist insbesondere zu berücksichtigen, dass zu den IT-Betriebskosten auch Weiterentwicklungskosten eingeplant werden müssen, da die Nutzenden eine kontinuierliche Verbesserung der Apps erwarten. Apps erfolgreich (weiter)entwickeln: Planen Sie den Wandel ein Eine wirtschaftlich erfolgreiche Softwarearchitektur orientiert sich einerseits an den Bedürfnissen des Business. Dies wird oft schon durch hohe Verfügbarkeit und Erweiterbarkeit erreicht. Aber auch technische sowie externe Faktoren sind zu beachten. So sind Separierbarkeit der Software im Sinne der Funktionsverteilung, Testbarkeit, Vorhersagbarkeit des Verhaltens, Vorhersagbarkeit der Antwortzeit sowie Wartbarkeit stete Begleiter in der täglichen Arbeit eines Software-Architekten und seines Entwicklungsteams. Die Technologie-Entwicklung in der vernetzten Welt des Computing hat noch lange keine Sättigung erreicht. Das bedeutet, auch in Zukunft werden neue Technologien weitere Möglichkeiten der Zusammenarbeit mit anderen Unternehmen ermöglichen. Dazu werden Software-Lösungen benötigt, die es so am Markt noch nicht zu kaufen gibt. Beispielhaft dafür seien DAPPs und Web3-Technologien genannt. Planen Sie also in ihrem Budget den technologischen Wandel mit ein. Wie Sie ein konkretes Projekt umsetzen, erfolgreich einen digitalen Service wie eine App auf den Markt bringen und welche Rolle Zühlke dabei spielen kann, betrachten wir im vierten Blog unserer Reihe. Ihre Projektanfrage: Wie können wir Sie unterstützen? Wir freuen uns über Ihr Interesse an einer Zusammenarbeit mit uns. Bitte senden Sie uns Ihre Projektanfrage zu und wir werden Sie innerhalb von 72 Stunden kontaktieren. Mehr Informationen Gernot Trautmann Senior Business Solution Manager Gernot Trautmann ist Business Solution Manager im Solution Center ICP und Mitglied im Marktteam Konsumgüter. Sein Fokus sind System-Projekte. Kontakt gernot.trautmann@zuehlke.com +49 6196 777 54 800 Schreiben Sie uns eine Nachricht You must have JavaScript enabled to use this form. Vorname Nachname E-Mail Telefonnummer Message Absenden Bitte dieses Feld leer lassen Schreiben Sie uns eine Nachricht Vielen Dank für Ihre Nachricht.