Archives

Früher oder später werden wir sicher alle erfahren, wie es ist, wenn eine kreative künstliche Intelligenz wie ChatGPT zu unserem Alltag gehört. Ich frage mich immer wieder, wie es sein wird.

Wenn ich über die Zukunft spekuliere, neige ich dazu, in die Vergangenheit zu blicken, um dort Anhaltspunkte für das zu finden, was kommen wird. Da ich in die Jahre gekommen bin, habe ich einen Teil meines Erwachsenenlebens in einer „Vor-Internet“-Welt gelebt. Der ständige Zugang zu allen möglichen Informationsquellen an jedem Ort ist heute ganz normal, aber in meiner Jugend und im frühen Erwachsenenalter war das Science Fiction. Wenn wir damals etwas wissen wollten, mussten wir ein Buch in die Hand nehmen oder in die Bibliothek gehen und es nachschlagen.

Meine Frau behauptet gerne, sie sei kein Techniktyp, aber manchmal scheint es so, als ob sie mir jedes Mal Fragen stellt, die ich nur mit Hilfe von technischen Hilfsmitteln beantworten kann.

Ein Beispiel: Wir entspannen uns gerne abends zusammen und sehen uns „unterhaltsame“ Krimiserien an, in denen es kaum um Gewalt oder Bluttaten geht. Da wir begeisterte Fernsehzuschauer sind, sind wir ständig auf der Suche nach Serien, die für uns neu sind, obwohl sie eigentlich schon alt sind.

Vor kurzem haben wir angefangen, eine über 15 Jahre alte Serie mit dem bekannten Film- und Fernsehschauspieler Dick van Dyke und seinem Sohn zu sehen. Uns beiden hat die Serie sehr gut gefallen. Am Ende der ersten Folge fragte mich meine Frau: „In welchen anderen Krimiserien hat Dick van Dyke schon mitgespielt? Er muss doch schon sehr alt sein – lebt er überhaupt noch?“

In der „Vor-Internet“-Ära wären diese Fragen unbeantwortbar gewesen. Sie konnten einfach nicht ohne einen Besuch in einer öffentlichen Bibliothek beantwortet werden, und ein Gespräch wie dieses würde mit einem Achselzucken und einem „Ich weiß es nicht“ enden.

Aber im Zeitalter des Internets zog ich einfach mein Handy aus der Tasche und fand sofort den Wikipedia-Artikel über den Schauspieler und Komiker Dick van Dyke. Ich fand heraus, dass er im Jahr 2023 noch lebte – und er war 97 Jahre alt! Er hat die Action-Serie, die wir gerade gesehen haben, mit 81 Jahren gedreht (was erstaunlich ist), und in der Vergangenheit hat er, wiederum mit seinem Sohn, eine weitere lange Krimiserie gedreht, auf die meine Frau und ich uns schon freuen.

Dieses Beispiel mag trivial sein, aber es sagt viel über unsere heutigen Erwartungen an den sofortigen Zugang zu Informationen aus.

In diesem Fall hat die Technik (Telefon, Internet, die öffentliche Enzyklopädie Wikipedia usw.) mein Leben und das meiner Frau zumindest ein wenig bereichert, indem sie uns interessante Informationen und Einblicke in eine Serie verschafft hat, die uns beiden wahrscheinlich gefallen wird. Vor dem Internetzeitalter wäre es so schwierig gewesen, diese Informationen zu bekommen, dass sich keiner von uns die Mühe gemacht hätte.

Eine andere Frage, die mir meine Frau einmal vor einer langen Reise stellte, war: „Wie wird das Wetter sein, wenn wir unterwegs sind?“ Inzwischen habe ich herausgefunden, dass es zumindest eine App im App Store gibt, die Antworten auf solche Fragen bietet. Aber nehmen wir mal an, dass das nicht der Fall ist. Wie könnte ich die Frage meiner Frau beantworten?

Wenn ich mit meinem Handy „manuell“ einigermaßen gut zurechtkommen wollte, müsste ich zunächst unsere Route bestimmen. Dann müsste ich die Fahrtzeit zu verschiedenen Punkten entlang der Route berechnen und die Wettervorhersage für jeden dieser Punkte zu der Zeit, in der wir ihn passieren würden, nachschlagen. Ich würde das alles zusammenrechnen und meiner Frau meine Antwort zeigen. Und wenn ich es ganz genau nehmen wollte, würde ich die Daten während der Fahrt ständig aktualisieren und dabei die aktuellsten Vorhersagen und die voraussichtlichen Ankunftszeiten berücksichtigen.

Stattdessen zuckte ich mit den Schultern und antwortete: „Ich weiß es nicht“. Es war einfach zu schwierig, das alles herauszufinden. Ich könnte mir vorstellen, ein kurzes Skript zu schreiben, das auf die erforderlichen Informationsquellen zugreift und die verschiedenen Berechnungen für mich durchführt, aber selbst das schien mir zu viel Aufwand zu sein und sicherlich nicht die Zeit wert, die es kosten würde.

Nehmen wir jedoch an, wir hätten Zugang zu allen Wetterinformationen, die meine Frau haben wollte. Wir hätten unsere Route besser planen können, wir hätten dem Sturm ausweichen können, wir hätten die Wetterinformationen auch in die geplante Dauer der Fahrt einbeziehen können, um unsere Route zu verfeinern – und die Vorhersagen. Aber auch das fühlte sich nach einem Aufwand an, der sich für eine einzige Fahrt nicht lohnte. Und so machten wir uns einfach auf den Weg.

Dank der kreativen KI ist es jedoch wahrscheinlich, dass meine Frau oder ich in Zukunft in der Lage sein werden, der KI zu beschreiben, was wir wollen, und die KI wird eine einmalige App erstellen, die unsere Frage beantwortet. Irgendwann, und vielleicht ist es nicht mehr lange hin, wird die KI in der Lage sein, die ursprüngliche Frage meiner Frau „Wie ist das Wetter auf unserer Route?“ direkt zu beantworten. Kurzfristig braucht sie jedoch vielleicht eine detailliertere Anweisung, wie z. B. „Schreiben Sie ein Skript, das eine Route von Punkt A nach Punkt B bestimmt und die Wettervorhersage an 10 gleichmäßig verteilten Zwischenpunkten entlang dieser Route auf der Grundlage der aktuellen geschätzten Ankunftszeit an diesem Punkt nachschlägt und die Antworten auf einer kommentierten Karte der Route anzeigt“ (oder etwas noch detaillierteres).

Ich gehe davon aus, dass sich die künstliche Intelligenz im Allgemeinen im Laufe der Zeit so weit entwickeln wird, dass es nicht mehr notwendig sein wird, die Aufgabe detailliert zu beschreiben, wie ich es in meinem Beispiel tue, sondern dass sie weiter fortgeschritten sein wird (die ursprüngliche Frage meiner Frau wird zum Beispiel ausreichen), und dass diese Entwicklung sehr schnell verlaufen kann.

Die Erleichterung von etwas, das gegenwärtig ein Problem darstellt, mag trivial erscheinen, aber sie macht unser Leben tatsächlich besser. Nützliche, aber unangenehme Dinge und Tätigkeiten werden im Allgemeinen nur dann getan, wenn sie wirklich notwendig sind oder wenn sie potenziell einen bedeutenden Nutzen bringen können. Dies bedeutet jedoch, dass viele Chancen im Leben ungenutzt bleiben.

Viele von uns, vielleicht sogar alle, neigen dazu zu glauben, dass das Glück im Leben in den großen Dingen liegt, wie Familie, Gesundheit oder beruflicher Erfolg. Und in der Tat sind diese Dinge zweifelsohne wichtig.

Aber im Großen und Ganzen sind es die kleinen, alltäglichen Freuden, die das Leben reicher machen. Die kleinen Dinge, wie die Vermeidung von schlechtem Wetter auf dem Weg oder die Entdeckung einer neuen Serie, die man sich mit seiner Frau ansieht, bringen Abwechslung, Freude und sogar Sicherheit in unser Leben.

Ich denke, dass wir uns bei aller Ungewissheit darüber, wie sich kreative künstliche Intelligenz auf unser Leben und unsere Arbeit auswirken wird, auf die Tatsache freuen können, dass sie die Zahl der Dinge erhöhen wird, über die wir leicht etwas lernen oder mit denen wir uns beschäftigen können.

Es wird sich erst zeigen, ob sie in ihrem Ausmaß mit dem Internet vergleichbar sein wird, aber ich erwarte, dass sie genauso revolutionär sein wird. Und ich freue mich auch darauf, dass es mir helfen wird, andere Fragen zu beantworten, die meine Frau mir stellt!

In den letzten zehn Jahren haben sich die Autos stark verändert, um den Fahrern eine bessere Vernetzung zu ermöglichen. Autos sind mehr denn je mit ihrer Umgebung vernetzt. Es gibt Möglichkeiten, direkt über das Infotainment-System zu tanken. Viele Sensoren im Auto können den Zustand des Fahrzeugs erkennen und Informationen mit vorausschauender Fehleranalyse liefern. Eine der auffälligsten Veränderungen ist die Integration mit Smartphone-Ökosystemen – Apple und Google -, die eine nahtlose Verbindung zwischen dem Auto und der Außenwelt ermöglicht.

Viele Smartphone-OEMs wie Apple, Google, LG, Sony und viele andere haben damit begonnen, ihre eigenen Autos zu bauen und Partnerschaften mit anderen Automarken einzugehen, um Technologie bereitzustellen. Sie bringen das App-Ökosystem in die Autos. Für sie ist es viel einfacher, Autos in das Ökosystem der mobilen Apps einzubinden, als für die Autohersteller, ein neues Ökosystem aufzubauen.

Eine weitere wichtige Entwicklung bei vernetzten Autos ist die Integration von intelligenten Sensoren, 5G-Technologie und anderen IoT-Geräten, die eine Fernüberwachung und -steuerung des Fahrzeugs ermöglichen. So verfügen einige Autos inzwischen über eingebaute Sensoren, die erkennen können, wenn das Fahrzeug gewartet oder repariert werden muss, und den Fahrer darauf hinweisen, dass er handeln muss.

Lassen Sie uns zunächst verstehen, wie Smartphones so populär wurden und was dies für die Automobilindustrie bedeutet.

Wie Smartphones so beliebt wurden:

Smartphones sind in nur kurzer Zeit zu einem festen Bestandteil unseres Lebens geworden. Sie haben die Art und Weise verändert, wie wir kommunizieren, auf Informationen zugreifen und sogar wie wir mit der Welt um uns herum interagieren. Aber wie sind sie so beliebt geworden und warum sind sie heute so wichtig für uns?

Die ersten Smartphones kamen Anfang der 2000er Jahre auf den Markt und wurden in erster Linie zum Telefonieren und Versenden von Textnachrichten verwendet. Doch erst mit der Einführung des iPhones im Jahr 2007 begannen die Smartphones wirklich durchzustarten. Das iPhone war mit seinem schlanken Design, der intuitiven Benutzeroberfläche und dem Zugang zu einer breiten Palette von Apps einfach zu bedienen und wurde schnell zu einem Wendepunkt in der Mobiltelefonbranche.

Einer der Hauptgründe, warum Smartphones so beliebt wurden, ist der Komfort, den sie bieten. Sie können überall und zu jeder Tageszeit auf das Internet zugreifen, E-Mails abrufen, Filme ansehen, Musik hören und sich mit Freunden verbinden.

Ein weiterer Grund für die Beliebtheit von Smartphones ist die große Auswahl an Apps. In den App-Stores finden Sie Apps für fast alles, was Sie sich vorstellen können, von Spielen und Unterhaltung bis hin zu Produktivitätstools und sozialen Medien. Die App-Stores haben es den Entwicklern auch leicht gemacht, ihre eigenen Apps zu erstellen und zu vertreiben, was zu einer explosionsartigen Zunahme neuer und innovativer Apps geführt hat.

Im Laufe der Jahre hat sich die Smartphone-Technologie weiterentwickelt und auch die Entwicklergemeinschaft ist so schnell gewachsen, dass wir uns ein digitales Erlebnis ohne Smartphones und Apps nicht mehr vorstellen können. Jetzt ist es an der Zeit, den Erfolg von Smartphones auch auf andere Produkte und Geräte zu übertragen.

Was ist jenseits von Smartphones?

Da sich das Wachstum des Smartphone-Marktes im Laufe der Jahre verlangsamt hat, sucht die Tech-Industrie nach einer Antwort: Was kommt als Nächstes für Smartphones? Die Unternehmen haben an neuen Geräten wie Smart Glasses, AR/R-Geräten, Wearables usw. gearbeitet, die die Popularität von Smartphones erreichen können, aber bisher ohne wirklichen Erfolg. Diese neuen Gerätetypen haben es nicht geschafft, von den Nutzern angenommen zu werden und zu einem Gerät für den täglichen Gebrauch zu werden, das einfach und natürlich zu bedienen ist, mit der Umgebung der Nutzer verbunden ist und ein kontextbezogenes Erlebnis bietet.

Die wahre Entwicklung von Smartphones könnte nicht auf das 6-Zoll-Smartphone selbst beschränkt sein, sondern darüber hinausgehen. Betrachten Sie Smartphones als einen flexiblen Begriff, der die digitale Welt um Sie herum verbindet und sich nahtlos in die Schnittstellen der nächsten Generation in Haushalten, Autos, Büros und sogar in öffentlichen Verkehrsmitteln einfügt.

Können Autos das nächste Smartphone werden?

Autos entwickeln sich schnell zur nächsten Generation von Smartphones und bieten dem Fahrer durch den Einsatz von Apps und anderen fortschrittlichen Technologien ein individuelleres Fahrerlebnis im Auto.

Eine der wichtigsten Möglichkeiten, wie Autos immer mehr zu Smartphones werden, ist die Integration von App-basierter Technologie. Viele Neuwagen sind heute mit großen, hochauflösenden Touchscreen-Displays ausgestattet, über die der Fahrer problemlos auf eine Vielzahl von Apps und Funktionen zugreifen kann. Diese Apps reichen von Musik- und Medienstreamingdiensten über Navigations- und Verkehrsinformationen bis hin zu Social-Media- und Messaging-Apps.

Eine der Herausforderungen bei herkömmlichen Infotainment-Systemen ist, dass sie nicht intelligent und gut mit dem aktuellen iOS- und Android-Ökosystem verbunden sind, mit dem die Kunden bereits vertraut sind. Mit der Unterstützung von Apple CarPlay und Android Auto kann nun jedes Auto sein Infotainmentsystem in ein Smartphone-ähnliches Display verwandeln. Die Nutzer können ihre Smartphone-Apps direkt im Auto nutzen. Die Wahrscheinlichkeit, dass sie diese Apps nutzen, ist größer, wenn sie mit Car Play und Android Auto verbunden sind.

Apple und Google arbeiten derzeit daran, das Betriebssystem für Autos so zu gestalten, dass die Nutzer ihre Smartphones nicht mehr anschließen müssen. Die Infotainment-Systeme im Auto werden entweder auf iOS oder Android CarOS laufen und mit der 5G-Technologie verbunden sein. Die Nutzer werden im Auto das gleiche Erlebnis haben wie auf dem Smartphone, ohne dass sie ihr Smartphone wirklich mit dem Auto verbinden müssen. Diese Autos werden den Kontext des Nutzers auf das Auto übertragen und personalisierte Erfahrungen bieten.

Es werden neue Arten von Apps erfunden, die im Auto genutzt werden können. Fahrerlose Autos werden neue Möglichkeiten eröffnen, mit denen die Fahrgäste während der Fahrt Telefonkonferenzen führen, Filme ansehen oder einkaufen können. Diese Autos können je nach Fahrgast problemlos den Kontext wechseln. Sobald ein Fahrgast einsteigt, kann das selbstfahrende Taxi die Beleuchtung, die Temperatur, die Musik und vieles mehr nach den Vorlieben des Fahrgastes einstellen.

Mercedes hat kürzlich angekündigt, TikTok und YouTube in seine Fahrzeuge zu integrieren, damit Fahrer und Fahrgäste im Auto die gleichen Erfahrungen machen können wie auf ihren Smartphones. Die Integration von Video-Apps in Autos kann zu Sicherheitsproblemen führen, aber die Autohersteller ergreifen Sicherheitsmaßnahmen, z. B. können die Fahrer während der Fahrt keine Videos/Filme ansehen. Der Bildschirm und die Inhalte auf der Beifahrerseite sind so platziert, dass der Fahrer die Inhalte nicht sehen kann.

Mercedes erweitert außerdem die Palette der verfügbaren Apps in seinem E-Klasse-Infotainment-System um beliebte Anwendungen wie Zoom-Videokonferenzen, Angry Birds, Vivaldi-Webbrowser und Webex von Cisco. Darüber hinaus plant der Automobilhersteller die Einführung zusätzlicher Apps über Software-Updates über die Luftschnittstelle.

Um die Integration von Drittanbieter-Apps in das Infotainment-System zu vereinfachen, hat Mercedes eine neue Software-Architektur entwickelt. Darüber hinaus hat Mercedes einen neuen App-Store eingeführt, auf den über die Mercedes me App zugegriffen werden kann.

Neben den Apps werden Autos auch durch fortschrittliche Fahrerassistenzsysteme (ADAS) und andere Technologien immer individueller. So verfügen viele Neuwagen inzwischen über Funktionen wie Spurhalteassistent, automatisches Bremsen und adaptiven Tempomat, die den Fahrern helfen, sicher und komfortabel unterwegs zu sein.

Autohersteller erforschen auch Geschäftsmodelle im Abonnement, bei denen sie die Funktionen installieren, sie aber nur dann per Software aktivieren, wenn die Kunden bereit sind, einen monatlichen Aufpreis zu zahlen. Tesla hat dieses Modell populär gemacht, nachdem es die Fähigkeit zum selbständigen Fahren durch Software-Updates aktiviert hatte. Auch andere OEMs folgen diesem Trend. BMW verkauft ein Monatsabonnement über 18 Dollar für beheizbare Sitze.

Durch die Integration von Sprachassistenten von Google, Apple und Alexa wird das Ökosystem immer mehr zu einem Smartphone-Ökosystem. Viele Neuwagen verfügen inzwischen über integrierte Sprachassistenten wie Amazons Alexa oder Google Assistant, mit denen der Fahrer verschiedene Aspekte der Fahrzeugsysteme allein mit seiner Stimme steuern kann. Dies kann Dinge wie das Einstellen der Temperatur, das Ändern der Musik oder sogar das Tätigen von Anrufen umfassen, ohne dass der Fahrer jemals die Hände vom Lenkrad nehmen muss.

Mit der weiteren Entwicklung der Autos werden sie zweifellos immer mehr wie Smartphones werden, mit mehr personalisierten und praktischen Funktionen, die das Fahren sicherer, angenehmer und vernetzter machen. Mit den Fortschritten in der autonomen Technologie werden Autos auch immer mehr zu einem vernetzten Gerät, das viele neue Funktionen und Dienste ermöglicht. Diese Funktionen, wie z. B. Unterhaltung im Auto, Produktivitätswerkzeuge und personalisierte Einstellungen, haben das Potenzial, das Fahrerlebnis für Fahrer und Beifahrer gleichermaßen zu verbessern.

Insgesamt werden Autos zur nächsten Generation von Smartphones, die den Fahrern eine persönlichere und vernetztere Erfahrung auf der Straße bieten. Im Zuge des technischen Fortschritts und der Weiterentwicklung von Autos können wir mit noch mehr Funktionen und Möglichkeiten rechnen, die das Fahren sicherer, bequemer und angenehmer für alle machen.

Integrated Vehicle Health Management (IVHM) bietet einen umfassenden Ansatz zur Echtzeit-Fahrzeugüberwachung, -bewertung und -verwaltung. Es ist eine natürliche Entwicklung der Diagnostik, die zu mehr Sicherheit, Zuverlässigkeit und Effizienz verschiedener Verkehrsträger führt und gleichzeitig die Kosten für deren Wartung senkt.

Wie integriertes Fahrzeuggesundheitsmanagement funktioniert

Die Komplikation der Fahrzeuge wächst ständig, was zu einer Reihe neuer Herausforderungen führt, mit denen Organisationen in den Bereichen Automobil, Luft- und Raumfahrt, Meer und sogar Raumfahrt tätig sind. In dieser Realität versuchen die Hersteller, die Möglichkeiten der Digitalisierung zu nutzen, ihre Projekte effektiv zu entwickeln, die Konstruktionen zu verbessern, aber auch genauer auf die Bedürfnisse der Kunden einzugehen und ihr Verhalten besser zu verstehen. Grundlage für deren Betrieb sind Daten, die die aktuelle Art der Planung, Herstellung oder Diagnose von Fahrzeugen in Bezug auf die Lebensdauer einzelner Teile verändern.

Umfassende Überwachung und Datenverarbeitung ist dank einer Reihe von implementierten Lösungen möglich, die ein funktionierendes Ganzes schaffen. Grundlage ist die Beobachtung der angezeigten Parameter des im Fahrzeug platzierten Sensornetzes, zu denen Beschleunigungsmesser, Drucksensoren oder Temperaturen gehören. Die von ihnen gesammelten Daten werden mithilfe fortschrittlicher Algorithmen und Datenanalysetechniken zu diagnostischen Zwecken verarbeitet und analysiert. Sie vergleichen Informationen mit Basis- und historischen Werten, um potenzielle Probleme zu identifizieren, die durch Anomalien oder Änderungen des Fahrzeugstatus und Leistungsmusters signalisiert werden.

Auf diese Weise interpretieren IVHM-Systeme die Informationen, um die Ursachen von Unregelmäßigkeiten oder möglichen Ausfällen zu ermitteln. Eine solche Diagnose ermöglicht es, schwerwiegendere Komplikationen zu vermeiden, indem sie einen angemessenen Zeitpunkt zur Reparatur oder zum Ersetzen der angegebenen Elemente vorschlägt. Ein wichtiger Teil der IVHM sind auch Lösungen, die die Echtzeit-Datenübertragung und -übertragung zwischen Fahrzeug- und Fernüberwachungszentren ermöglichen. Sie ermöglichen es, Remote-Diagnose oder ein Over-the-Air-Update in der Praxis zu verwenden, um das ordnungsgemäße Funktionieren des Fahrzeugs und die beste Benutzererfahrung zu gewährleisten.

IVHM in verschiedenen Branchen

 Die Verwaltung des Fahrzeugstatus auf der Grundlage von Daten bringt eine Revolution im Funktionieren verschiedener Branchen und bietet Unternehmen in Echtzeit Zugang. Es wirkt sich positiv auf die Benutzererfahrung und seine Sicherheit aus, führt aber auch zu erheblichen Veränderungen in der Arbeit von Ingenieuren und Spezialisten, die sich mit Alltagsdesign, Service oder Diagnose beschäftigen.

Am nächsten steht das Automobil- und Autosektor, das wir täglich zehn Kilometer zurücklegen. Die Sensoren und Datenerfassungssysteme, die in den Autos vorhanden sind, überwachen ständig die Leistung des Motors, den Zustand des Bremssystems und der Reifen und kontrollieren Abgase. Auf dieser Basis können Echtzeit-Spezialisten Probleme diagnostizieren, fehlerhafte Komponenten identifizieren und Empfehlungen für vorausschauende Wartungen geben. Das IVHM ist eine praktische Dimension für die langsignierte Ferndiagnose, die eine effektive Problemlösung sicherstellt und Reparaturberatung von den Servicezentren des Herstellers ermöglicht. Auch Logistikunternehmen können von diesen Fähigkeiten profitieren, wo der Zustand des Fahrzeugflottes eine Schlüsselrolle bei der Umsetzung alltäglicher Aufgaben spielt.

Mehr Sicherheit bei Flügen und Seereisen mit integriertem Fahrzeuggesundheitsmanagement

Die Luft- und Seeverkehrsindustrie ist der Lösung ähnlich bekannt. In ersterem haben die Zuverlässigkeit und Sicherheit von Piloten und Passagieren Priorität, und dank der Implementierung von Echtzeit-Datensammelsystemen können Ingenieure beides erfolgreich übernehmen. Spezialisten verfügen heute über Informationen, um den Zustand von Motoren, Hydrauliksystemen oder Kraftstoffverbrauch zu überwachen, um mögliche Probleme zu identifizieren, Ausfälle vorherzusagen und Wartung zu planen. Dies trägt dazu bei, die Anzahl der ungeplanten Ausfallzeiten zu reduzieren, die Serviceaktivitäten zu optimieren und letztlich die Maschinensicherheit zu erhöhen. Sie ist auch nicht ohne die Auswirkungen auf die nachhaltige Entwicklung. Die verfügbaren Informationen ermöglichen es den Piloten, den Kraftstoffverbrauch zu senken, und die Konstrukteure konzentrieren sich auf die Entwicklung von Projekten in Bezug auf geringeren Lärm oder geringeren Energieverbrauch.

IVHM ermöglicht es Ihnen, die Leistung des Doppelschiffs in der Schiffsindustrie zu verdoppeln. Durch die Analyse der Daten können Experten genauere Entscheidungen treffen, die den sicheren und zuverlässigen Betrieb des Schiffes gewährleisten und gleichzeitig die Wartungskosten minimieren und unerwartete Ausfälle vermeiden. Dies ist besonders wichtig für Schiffe, die potenziell gefährliche Güter für die Umwelt transportieren.

Die Liste der IVHM-Nutzungen ist länger und betrifft jeden der verkehrsbezogenen Sektoren. Unabhängig von der Art der verwendeten Fahrzeuge verbessert es die Effizienz von Maschinen, führt zu mehr Sicherheit von Menschen und Waren und einem höheren Maß an Benutzer- und Kundenzufriedenheit.

Entwicklung durch Wissen

Integrated Vehicle Health Management ist Teil der technologischen Entwicklung, die durch die digitale Transformation von Unternehmen und Branchen vorangetrieben wird. Dank der verfügbaren Tools und der großen Datenmengen verbessert es das Funktionieren der Organisation und unterstützt Spezialisten mit unterschiedlichen Profilen bei der täglichen Arbeit. Der Zugang zu aktuellen Informationen bedeutet, fundierte Entscheidungen zu treffen, die spürbare Veränderungen durch einzelne Benutzer und ganze Organisationen mit sich bringen. Es ist ein Symbol für die aktuelle Richtung der Entwicklung der Welt, die dank des ständig erworbenen und erweiterten Wissens besser wird.

Haben Sie sich jemals gefragt, wie es ist, das Gehirn hinter fortschrittlichen Ökosystemen zu sein, die den Alltag von Millionen von Menschen prägen? Dies ist nicht nur eine große Chance für Software-Ingenieure, sondern auch eine Reise voller Emotionen. Angesichts des ständigen technologischen Wandels und des schnellen Fortschritts, den wir in verschiedenen Bereichen beobachten, müssen erfahrene IT-Ingenieure sich auf die Entwicklung ihrer Kompetenzen konzentrieren. Und eine der wichtigsten Herausforderungen von heute ist zweifellos die Fähigkeit, interdisziplinär zu denken.

In der IT-Welt ist die Kompetenzentwicklung nicht so wichtig wie notwendig. Die Realität rund um IT-Spezialist:innen ändert sich ständig. Es werden neue Lösungen geschaffen, einige erleben eine bedeutende Entwicklung, und einige werden von Wettbewerbern verdrängt oder vergessen.

Die Arbeit im IT-Bereich war schon immer mit engem Kontakt zur Innovation verbunden. Gerade im Automotive Sektor. Es inspirierte, Wissen zu suchen und zu erweitern. Doch nie zuvor war Offenheit und Bereitschaft, sich neuen Herausforderungen zu stellen, so wichtig für die Arbeit von Software-Ingenieur:innen. In einer Zeit, in der Millionen anderer Nutzer:innen verschiedener Geräte auf der ganzen Welt neue Einrichtungen und Lösungen genießen, die ihre Sicherheit erhöhen, müssen IT-Profis über Systeme hinausgehen und scheinbar undurchdringliche Grenzen mutig überwinden. Im Portfolio ihrer Kompetenzen spielt ein Merkmal eine Schlüsselrolle – Interdisziplinarität.

Was wissen Sie in der IT?

Die wachsende Komplexität der Projekte ist nicht nur Millionen von Codezeilen hinter Auto-Software und Dutzenden anderer Geräte aus Häusern, Büros und Arbeitsplätzen.

Es sind engere Verbindungen zwischen der virtuellen und realen Welt und Dutzenden von integrierten Lösungen, die die Entwicklung von softwaredefinierten Autos, autonomen Fahrzeugen und Elektroflugzeugen untermauern. Der Automobilsektor ist ein außergewöhnlich dankbares Beispiel für die Notwendigkeit der Interdisziplinarität, weil er sich in den letzten Jahren enorm weiterentwickelt hat. Heute sollten Ingenieur:innen, die an Projekten für die Branche beteiligt sind, nicht nur bestimmte Softwaresprachen kennen, sondern auch die Art und Weise, wie die Cloud funktioniert, und auch im maschinellen Lernen und Kommunikationstechnologien gut versiert sein. Das ist wichtig, da das Auto – abgesehen davon, dass es ein Transportmittel ist, mit dem wir kilometerweit zum Ziel fahren – auch viele zusätzliche Dienstleistungen bietet, von denen Fahrer:innen, Fahrgäste und andere Verkehrsteilnehmer:innen täglich profitieren. Und die Zahl der technologischen Neuheiten steigt nur noch.

Um neuen Anforderungen gerecht zu werden, brauchen wir daher eine interdisziplinäre Zusammenarbeit, bei der Entwickler:innen, Schnittstellendesigner:innen und Cybersicherheitsprofis ihre Kräfte bündern. Nur so kann man richtig gestaltet, fehlerfrei und bequem Infotainment-Lösungen nutzen. Und das ist nur das erste Beispiel, was wir bei GlobalLogic tun.

Der Bulldozer

Die Grenzen der einst drei Spezialisierungen sind heute eine künstliche Barriere, mit der viele Teams konfrontiert sind. Interdisziplinarität in der IT ist eine Art Bulldozer. Ein wichtiges Werkzeug im Portfolio der Organisation und jedes Projektmanagers. Etwas, das es erlaubt, der Isolation spezialisierter Bereiche und verwandter Expert:innen entgegenzuwirken.

Wie kann ein solches interdisziplinäres Team arbeiten? Was ist seine Stärke? Für diese Kolumne habe ich mir erlaubt, ein fiktives Team zu gründen. Wir werden schauen, wie es funktioniert und was es auszeichnet.

Einer der Entwickler, Mariusz, der bis vor kurzem nur in der .NET-Plattform schrieb, beschloss, den vom Manager und dem Kunden geworfenen Fehdehandschuh zu nehmen. So begann er in der iOS-Umgebung zu arbeiten. Beata, die vor einigen Monaten ihren Abschluss an der technischen Universität gemacht hat und gerade ihre ersten Berufserfahrung sammelt, versucht, Code zu schreiben, aber auch in den Bereich des Testing einzutreten, weil es aus der Annahme kommt, dass ein guter Entwickler auch seinen Code testen kann. Projektleiter Lukasz, obwohl er vor einigen Jahren nie geahnt hätte, dass er eine solche Chance haben würde, begann kürzlich Interviews mit Jobkandidaten zu führen. Was haben sie gemeinsam? Dass sie in diesen Herausforderungen eine Chance für ihre Entwicklung und größere Effizienz der Arbeit des gesamten Teams sehen.

Kürzlich stellte das Team dem Kunden sein Nebenprojekt vor – ein Tool, das die Umgebung überwacht und überprüft, warum die Tests nicht erfolgreich waren. Es war nicht etwas, das in Auftrag gegeben oder bestellt wurde. Das ist die eigene Initiative von Spezialist:innen, denen bisher keine Informationen darüber fehlen, ob API-Daten funktionieren. Ein Basisprojekt, das sich aus dem Wunsch ergibt, mehr zu tun, hilft jedem Einzelnen und dem Team als Ganzes.

In diesem Beispiel möchte ich auf eine gewisse Weise zeigen, dass Interdisziplinarität breit verstanden werden sollte. Nicht nur als Vielseitigkeit eines einzelnen Experten, sondern auch als ganze Projektgruppe. Nicht nur als breites Kompetenzspektrum, sondern auch als offener Kopf und Leichtigkeit in der Kommunikation.

Aufbau eines interdisziplinären Teams

Warum ist es so wichtig?

Die Kompetenzverteilung motiviert die Zusammenarbeit und fördert die gemeinsame Suche nach Lösungen. Bisher unabhängig verwandte Spezialisierungen, die gemeinsam nach Lösungen suchen, Wissen austauschen, eine einzigartige Perspektive teilen, und dies eröffnet ihnen ein breiteres Bild. Auf dieser Grundlage entstehen später die modernsten, auf neuen Bedürfnisse zugeschnittenen und Lösungen aktuelle Trends. Auf diese Weise sind intelligente Städte heute konzipiert, in denen der effektive Einsatz von Daten und die Implementierung von Technologie den tatsächlichen Bedürfnissen der Bewohner:innen entsprechen. So entstehen Anwendungen für Ärzte und Patient:innen, mit denen Mediziner:innen und Programmierer:innen zusammenarbeiten und die Industrie entwickelt wird, um wirtschaftliche und ökologische Aspekte besser zu kombinieren.

Es sollte erwähnt werden, dass Teaminterdisziplinarität auch den Leiter eines bestimmten Teams herausfordert, das es richtig managen muss. Vom Aufbaustadium über den Prozess der Aufgaben unter Berücksichtigung des Wissens- und Erfahrungsaustauschs bis zum daraus resultierenden Effekt. Auf diese Weise kann das Team auch auf unerwartete Situationen vorbereitet sein und sich reibungslos an sich ändern können. Unter solchen Umständen kann das Projekt aufhören. Wenn das Team jedoch interdisziplinär ist, dann wird es weiterhin umgesetzt und Turbulenzen vermeiden.

Es geht also darum, sicherzustellen, dass sich die Kompetenzen um das Team verteilen.

Interdisziplinarität

Viele Software-Ingenieur:innen haben den Schlüssel, um neue Horizonte in der Welt der Technologie zu entdecken. Es zeigt die Neugier des Berufs, die zur Grundlage ihres innovativen Ansatzes und zur Quelle der entworfenen Innovationen wird. Es folgt Offenheit und Bereitschaft, aus der Komfortzone herauszukommen, dann sind sie einen Schritt vom Aufbau von Interdisziplinarität als Kompetenz entfernt.

Im Gegensatz zum Anschein, muss dies nicht mit radikalen Veränderungen in Verbindung gebracht werden. Manchmal reicht es aus, nach etwas um uns herum zu suchen, das uns nahe steht. Schlagen Sie eine neue Lösung vor, um den internen Prozess oder Betrieb der Anwendung oder des Systems zu optimieren. Erstellen Sie gemeinsam mit Kolleg:innen etwas, das über das Standardangebot hinausgeht. Oder versuchen Sie vielleicht Ihre Hand an etwas Neuem oder nehmen Sie eine Aufgabe auf die Schultern, die bisher in der Liste der Aufgaben übersehen und anderen gegeben wurde.

Ein Schritt in diese Richtung kann uns nur Vorteile bringen. Interdisziplinarität ist meine und Ihre Attraktivität auf dem Arbeitsmarkt, der von Kund:innen, Arbeitgeber:innen und Kolleg:innen geschätzt wird.

Zwar hat jede Softwareentwicklungsinitiative ihre eigenen Merkmale, aber einige Situationen kommen so häufig vor, dass ich das Gefühl habe, ich sollte eine Aufzeichnung haben, die ich beim nächsten Mal abspielen kann, wenn dieselbe Situation auftritt. Eine dieser Situationen ist das „Was“, „Wie“ und „Wann“ der Softwareentwicklung.

Projekte geraten in Schwierigkeiten, wenn nicht klar ist, wer für diese kritischen Entscheidungen zuständig ist, und – was vielleicht noch wichtiger ist – wenn die falsche Person oder Funktion versucht, eine oder mehrere dieser Entscheidungen zu treffen. Wenn die Geschäftsleute versuchen, die Verantwortung für das technische „Wie“ eines Projekts zu übernehmen, wissen Sie, dass Sie auf Schwierigkeiten zusteuern.

Ähnlich verhält es sich, wenn Techniker:innen damit beginnen, die Funktionen für die Endbenutzer:innen (das „Was“) zu entwerfen, ohne dass die Benutzer:innen oder das Unternehmen mitreden, denn auch das endet oft in einer Katastrophe. Und wenn eine der beiden Funktionen versucht, das „Wann“ zu diktieren, ohne Rücksicht auf das „Was“ oder das „Wie“ zu nehmen, ist das ein großes Problem.

Erst neulich hörte ich einen Geschäftsmann sagen: „Es ist doch offensichtlich, was sie tun müssen – warum können sie nicht einfach mit dem Programmieren anfangen?“ Der Geschäftsmann meinte damit im Wesentlichen, dass das „Was“ bekannt sei (zumindest in seinem Kopf), so dass das „Wie“ auf der Hand liegen sollte – was bedeutet, dass die Ingenieur:innen einfach anfangen sollten, es zu tun.

In solchen Situationen, es sei denn, die Ingenieur:innen sind wirklich inkompetent (was selten vorkommt), ist es sehr zweifelhaft, dass der Geschäftsmann, der hier spricht, das „Was“ oder das „Wie“ tatsächlich versteht. Die Ingenieur:innen verstehen es sicher nicht, sonst würden sie ja programmieren.

Wenn eine Geschäftsperson eine solche Aussage macht und sich in einer Position befindet, die so mächtig ist, dass die Ingenieur:innen tatsächlich „einfach anfangen zu programmieren“, selbst wenn keine Klarheit über das Was oder das Wie besteht, endet das Projekt selten gut. Insbesondere liefert es selten, wenn überhaupt, das, was der Geschäftsmann im Sinn hatte, wann und wie er es wollte.

Und – Sie haben es erraten – es sind die Ingenieur:innen, die im Allgemeinen für das Scheitern verantwortlich gemacht werden, und nicht die Person, die darauf bestanden hat, dass das Projekt auf jeden Fall durchgeführt wird.

Projekte funktionieren am besten, wenn das Unternehmen sagt, „was“, die Ingenieure sagen, „wie“, und das Unternehmen und die Techniker:innen gemeinsam in gutem Glauben über das „Wann“ verhandeln. Manchmal steht das „Wann“ fest, z. B. bei einem von einer Messe abhängigen Starttermin oder einer Frist für Investor:innen. In diesem Fall müssen die Geschäftsleute und die Techniker:innen über das „Was“ und „Wie“ verhandeln.

In ähnlicher Weise kann entweder das „Wie“ oder das „Was“ feststehen, z. B. weil Sie Änderungen an einem bestehenden System vornehmen und nur begrenzte technische Möglichkeiten haben oder weil Sie sich zur Lieferung einer bestimmten Funktion verpflichtet haben. In diesem Fall müssen das „Wann“ und die andere der drei unabhängigen Variablen (entweder das „Was“ oder das „Wie“) verhandelbar sein. Andernfalls kommt es zu einem vorhersehbaren Scheitern – und/oder zu einem Entwicklungs-Burnout.

Das vielleicht häufigste Problem besteht darin, dass eine einzelne Person oder Funktion versucht, alle drei Aspekte – das Was, das Wie und das Wann – zu beherrschen, indem sie den Ingenieur:innen sagt, was sie entwickeln müssen, wie sie es entwickeln werden und wann das Projekt fertiggestellt werden soll. Wenn es sich bei der Person, die dies tut, nicht um ein Universalgenie handelt – was selten ist -, führt dies unweigerlich zu Problemen.

Ich habe vier Jahre lang mit Steve Jobs bei NeXT zusammengearbeitet, und selbst er hat selten versucht, alle drei Punkte zu diktieren. Zwei von drei hat er versucht, aber selten, wenn überhaupt, alle drei (und dann nicht lange). Steve überließ das „Wie“ in der Regel den Ingenieur:innen und akzeptierte oft (wenn auch manchmal zähneknirschend) starke Widerstände beim „Wann“. Ich habe zwar nie mit Elon Musk zusammengearbeitet, aber ich habe den Eindruck, dass auch er auf ein Kernteam von Ingenieur:innen hört, denen er vertraut. Wenn Sie sich nicht für klüger halten als Steve Jobs und Mr. Musk, sollten Sie Ihr eigenes Handeln überdenken, wenn Sie versuchen, Ihrem Ingenieurteam vorzuschreiben, was, wie und wann es zu tun hat

Eine weitere, oft übersehene Facette dieses Puzzles ist die Tatsache, dass alle drei Aktivitäten Kommunikation erfordern. Selbst wenn das „Was“ im eigenen Kopf klar zu sein scheint, muss es dennoch in Begriffen ausgedrückt werden, die das Entwicklungsteam verstehen kann. Dieser Prozess der „Backlog-Elaboration“ offenbart fast immer Lücken in der Klarheit der ursprünglichen Vision, selbst wenn sie Ihnen „offensichtlich“ erschien. Auch das „Wie“ mag Ihren technischen Führungskräften klar sein, aber es muss dennoch in Architekturdiagrammen, Sequenzdiagrammen, API-Spezifikationen und anderen Artefakten ausgedrückt werden, die die technische Vision an das Entwicklungsteam weitergeben.

Nur wenn das „Was“ und das „Wie“ ausreichend detailliert ausgedrückt sind, kann ein zuverlässiges „Wann“ erstellt werden. Die Tatsache, dass das „Was“ im Kopf des Geschäftsmannes oder das „Wie“ im Kopf des Architekten oder der Architektin klar ist, bedeutet nicht, dass die Vision des Geschäftsmannes ohne weitere Arbeit erfolgreich operationalisiert werden kann. Aus diesem Grund offenbart „just start coding“ eine echte Lücke im Verständnis, wie erfolgreiche Softwareprojekte umgesetzt werden.

All dies kann sehr schnell gehen – in manchen Fällen sogar mündlich und am Whiteboard. Aber im Allgemeinen gilt: Je mehr Input und Verständnis Sie von den Leuten bekommen, die die Arbeit tatsächlich machen, desto besser wird Ihr Rückstand und desto genauer wird Ihr Zeitplan sein.

Die richtige Einschätzung des Wertes jedes Bestandteils („was“, „wie“ und „wann“), kombiniert mit dem gebührenden Respekt für die Rollen der jeweiligen Eigentümer:innen, ist das Schlüsselrezept für eine erfolgreiche Softwareentwicklung.

Bei der Entwicklung einer Software stehen in der Regel die Funktionalität und ihre Auswirkungen auf das Geschäft und den Umsatz im Vordergrund. Die Funktionalitäten werden weiter in Anforderungen, dann in Features, User Stories und Integrationen unterteilt. Wenn es jedoch um die tatsächliche Entwicklung der Software geht, tritt eine andere Denkweise in den Vordergrund. Das Hauptaugenmerk des Architekten oder der Architektin liegt eher auf der Frage: „Was sind die nicht-funktionalen Anforderungen hier?“

Nicht-funktionale Anforderungen (NFR) sind die Kriterien oder Parameter, die sicherstellen, dass das Produkt die geschäftlichen Anforderungen erfüllt – zum Beispiel Geschwindigkeit, Kompatibilität, Lokalisierung und Kapazität. Während die funktionalen Anforderungen festlegen, was die App tun soll, definieren die NFRs, wie gut sie funktionieren und die Erwartungen der Benutzer:innen erfüllen soll.

Die Bedeutung von NFRs

NFRs sind ein wesentlicher Aspekt der Softwareentwicklung und dienen als Basisanforderungen, um die herum die Systemarchitektur entworfen wird. Eine Systemarchitektur, die sich an einer gut etablierten NFR orientiert, bietet einen Fahrplan für den Entwurf der Softwarearchitektur, die Implementierung, den Einsatz und die Wartung und Aktualisierung nach der Produktion.

Viele bekannte NFRs wurden definiert, bevor die erste mobile Anwendung entwickelt wurde. Daher ist es wichtig, dass Sie diese NFRs aus der Sicht der mobilen Entwicklung kontextualisieren. Doch welche dieser nichtfunktionalen Anforderungen sind auf die Entwicklung mobiler Anwendungen anwendbar, und was müssen Sie bei der Planung Ihres eigenen mobilen Anwendungsprojekts beachten?

In diesem Beitrag gehen wir der Frage nach, wie sich die NFR auf das Design, die Entwicklung und den Support mobiler Anwendungen auswirken, indem wir die einzelnen Anforderungen und ihre Auswirkungen näher betrachten.

NFRs durch die Linse der mobilen App-Entwicklung

Dies sind die nicht-funktionalen Anforderungen, die bei der Entwicklung mobiler Anwendungen zu berücksichtigen sind. Einige gelten nur für mobile Anwendungen, während andere sich nur geringfügig von den NFRs für die Entwicklung von Webanwendungen unterscheiden.

Erreichbarkeit

Barrierefreiheit als NFR bezieht sich auf die Art und Weise, wie die Anwendung Benutzer:innen mit besonderen Bedürfnissen unterstützt oder unter bestimmten Umständen verwendet wird, z. B. ein:e Benutzer:in mit Sehschwäche. Es gibt zwar viele Anforderungen an die Barrierefreiheit, die bei der Entwicklung mobiler Anwendungen erfüllt werden müssen, aber die Verwendung von Sprachbefehlen zur Steuerung und Navigation in der Anwendung ist eine besonders wichtige NFR. Darüber hinaus kann die Zugänglichkeit durch das Hinzufügen spezieller Gesten wie Doppeltippen und langes Drücken zur Ausführung wichtiger Funktionen verbessert werden.

Anpassungsfähigkeit

Im Zusammenhang mit der Entwicklung mobiler Anwendungen erfüllt eine Anwendung, die alle funktionalen Anforderungen unter den folgenden Bedingungen erfüllt, die NFR für Anpassungsfähigkeit:

  • Unterstützung für eine breite Palette von Bildschirmauflösungen.
  • Unterstützung für eine breite Palette von Herstellern (bei Android).
  • Unterstützung für die größtmögliche Abwärtskompatibilität von Betriebssystemversionen.

Anpassungsfähigkeit kann auch eine NFR sein, um sicherzustellen, dass die Anwendung unter Bedingungen mit geringer Bandbreite reibungslos läuft.

Verfügbarkeit

Wenn eine mobile Anwendung direkt von Backend-API und -Diensten abhängig ist, um ihre Funktionen auszuführen, ist ihre Verfügbarkeit von der Verfügbarkeit dieser Backend-Dienste abhängig. In einem mobilen Kontext bezieht sich die Verfügbarkeit als NFR jedoch auf die Ausführung möglicher Funktionen, selbst wenn die Backend-API nicht verfügbar ist. Kann der oder die Benutzer:in beispielsweise eine Operation durchführen, die später synchronisiert werden kann, sobald die Dienste wieder online sind?

Einhaltung der Vorschriften

Die Einhaltung von Vorschriften bei mobilen Anwendungen dreht sich größtenteils um den Schutz und die Privatsphäre der Nutzerdaten, wobei die Anforderungen von HIPAA, GDPR usw. festgelegt und durchgesetzt werden. Wenn die Datenschutz- und Sicherheits-NFR im Backend und in den mobilen Anwendungen erreicht wird, ist in den meisten Fällen auch die Compliance erfüllt (es sei denn, es gibt spezifische Compliance-Anforderungen).

Integrität der Daten

Bei mobilen Anwendungen umfasst die Datenintegrität die Wiederherstellung von Daten für die reibungslose Ausführung der Anwendung, wobei die Erwartung besteht, dass die Anwendung die Daten wie vorgesehen wiederherstellt und beibehält, wenn der Benutzer das Gerät wechselt, eine neue Version der Anwendung installiert wird oder der/die Benutzer:in Vorgänge im Offline-Modus durchführt.

Aufbewahrung von Daten

Bei mobilen Anwendungen wird erwartet, dass die Daten mit Backend-Diensten synchronisiert werden, und aus diesem Grund ist es im Allgemeinen nicht ratsam, große dauerhafte Daten lokal zu speichern. „Keine Datenspeicherung“ als NFR gilt für mobile Anwendungen. Wenn jedoch die Anforderung besteht, umfangreiche Daten in einem lokalen persistenten Speicher zu halten, sollte das Datenvolumen – und nicht die Dauer – der treibende Faktor für die NFR zur Datenhaltung sein.

Einsatz

Die Bereitstellung mobiler Anwendungen erfolgt zumeist in den von Android und Apple bereitgestellten Stores, die ihre eigenen Verfahren zur Bereitstellung von Anwendungen anwenden. Updates stehen den Endnutzer:innen daher nicht sofort zur Verfügung. Die Bereitstellung als NFR im Mobilitätskontext (abgesehen von ihren grundlegenden Spezifikationen) konzentriert sich darauf, die Benutzer:innen über die Verfügbarkeit neuer Versionen zu informieren und die Nutzung der Anwendung zu stoppen, wenn die obligatorischen Updates nicht installiert werden. Sowohl der App Store als auch der Play Store bieten Konfigurationen zur Priorisierung obligatorischer Updates. Dennoch kann das System so gestaltet werden, dass es obligatorische Updates erzwingt, um dem/der Endnutzer:in ein reibungsloses Anwendungserlebnis zu ermöglichen.

Wirkungsgrad

Im Gegensatz zu Web- oder Backend-Anwendungen werden mobile Anwendungen auf mobilen Geräten mit begrenzten Ressourcen wie z. B. Speicher ausgeführt. Da sie außerdem batteriebetrieben sind, ist Effizienz eine wichtige NFR. Es ist ein Muss, dass die mobile Anwendung effizient läuft, mit einem geringen Speicherbedarf und Batterieverbrauch.

Datenschutz

Der Datenschutz ist ein wichtiger Aspekt von mobilen Anwendungen. In Bezug auf die Datenschutz-NFRs sind die folgenden Punkte wichtig:

  • Mediendateien, die benutzerspezifische Daten enthalten, sollten im privaten Speicher der Anwendung gespeichert und verschlüsselt werden.
  • Von der Anwendung aufgenommene Medien sollten nicht direkt weitergegeben werden.
  • Das Kopieren von Text aus der Anwendung sollte nicht erlaubt sein.
    Screenshots sollten nicht erlaubt sein.

Berichterstattung und Überwachung

Die Berichterstattung und Überwachung von NFRs ist aus Sicht des Supports und der Wartung entscheidend. Da mobile Anwendungen auf den Geräten der Benutzer installiert werden, ist es für das Support-Team schwierig, direkt mit ihnen zu interagieren, Sitzungen am Bildschirm zu teilen oder auf lokale Protokolldateien zuzugreifen. Aus diesem Grund werden Remote-Protokollierungs- und Analyselösungen wie Firebase oder Countly benötigt. Diese Lösungen können Ereignisse, Benutzeraktionen und Ausnahmen erfassen und helfen bei der Analyse von Anwendungsnutzungsmustern.

Sicherheit

Datenschutz und Sicherheit sind miteinander verknüpft, und in Bezug auf die Sicherheits-NFRs sind die folgenden Punkte von Bedeutung:

  • Die Anwendung sollte mit geeigneten privaten Zertifikaten signiert werden, wobei eine Richtlinie für die Speicherung und Verwendung von Zertifikaten gelten sollte.
  • Die Anwendung sollte nicht auf autorisierten/manipulierten Versionen von Betriebssystemen installiert werden.
  • Die Daten sollten sowohl im Ruhezustand als auch bei der Übertragung verschlüsselt werden.
  • Der Anwendungszugriff aus anderen Anwendungen sollte standardmäßig deaktiviert sein.
  • Alle anderen plattformspezifischen Sicherheitsrichtlinien sollten befolgt werden.

Benutzerfreundlichkeit

Aufgrund des kleinen Formfaktors ist die Benutzerfreundlichkeit eine wichtige NFR. Im Allgemeinen sollten die Benutzer:innen in der Lage sein, durch die Anwendungen zu navigieren und auf wichtige Funktionen mit Leichtigkeit zuzugreifen, meist mit Einhandbedienung. Das UX-Design sollte auch ein minimales Scrollen des Bildschirms oder eine Suchfunktion für scrollbare Inhalte und eine schnelle Navigation für wichtige Funktionen berücksichtigen.

Wichtigste Erkenntnisse

Der Umgang mit NFRs erfordert von Entwickler:innen mobiler Anwendungen einen proaktiven und umfassenden Ansatz. Er beginnt mit einer gründlichen Planung und Analyse, um die spezifischen NFRs zu identifizieren, die für das Projekt relevant sind. Die Festlegung klarer und messbarer Ziele für jede Anforderung ist wichtig, um sicherzustellen, dass die App die Erwartungen der Nutzer:innen erfüllt.

Während des gesamten Entwicklungsprozesses sollten Sie die NFRs in jeder Phase berücksichtigen. Die Entwickler:innen sollten die Leistung, die Sicherheitsvorkehrungen und die Benutzerfreundlichkeit der App kontinuierlich bewerten und die notwendigen Anpassungen und Optimierungen vornehmen, um die gewünschten Anforderungen zu erfüllen. Eine enge Zusammenarbeit zwischen Entwickler:innen, Designer:innen, Tester:innen und Stakeholdern ist entscheidend, um NFRs effektiv anzugehen und eine qualitativ hochwertige mobile App zu gewährleisten.

Strenge Testmethoden, wie Leistungs-, Sicherheits- und Kompatibilitätstests, helfen dabei, die Einhaltung der definierten NFRs zu überprüfen. Automatisierte Testtools und Frameworks können den Testprozess optimieren und potenzielle Leistungsengpässe, Sicherheitsschwachstellen oder Kompatibilitätsprobleme identifizieren.

Vergessen Sie nicht, dass NFRs keine einmalige Angelegenheit sind. Die Technologie entwickelt sich weiter, die Erwartungen der Benutzer:innen ändern sich, und es entstehen neue Herausforderungen. Entwickler mobiler Anwendungen müssen aufkommende Trends und Technologien kontinuierlich überwachen und sich an sie anpassen, um sicherzustellen, dass ihre Anwendungen die sich entwickelnden NFRs erfüllen.

Die Priorisierung von NFRs und deren Integration in den Entwicklungsprozess hilft Ihrem Team, mobile Anwendungen zu entwickeln, die nicht nur funktionale Anforderungen erfüllen, sondern sich auch durch Leistung, Sicherheit, Benutzerfreundlichkeit, Kompatibilität und Skalierbarkeit auszeichnen. Solche Apps haben eine höhere Erfolgschance auf dem hart umkämpften Markt für mobile Apps, begeistern die Nutzer:innen und verschaffen dem Entwicklungsteam einen guten Ruf.

Unternehmen stellen sich ein hochmodernes neues System als ihren zukünftigen Zustand vor; wenn das veraltete System ausläuft, übernimmt das neue System, und die alten Daten werden verwaltet, während die neuen Daten nahtlos integriert werden. Bei einer erfolgreichen digitalen Transformation findet dieses neue System auch bei der umfangreichen Zielgruppe breite Zustimmung.

Klingt toll, oder? Leider verläuft dieser Prozess nicht immer reibungslos, und es gibt keine Garantie für ein erfolgreiches Ergebnis. Laut McKinsey scheitern sage und schreibe 70 % der digitalen Transformationen. Diese Statistik zeichnet ein besorgniserregendes Bild, insbesondere wenn man bedenkt, dass ein erheblicher Teil dieser Misserfolge auf erfolglose Migrationsbemühungen zurückzuführen ist.

Es ist kein Wunder, dass Führungskräfte dazu neigen, sich vor der Migration zu fürchten – ein umgangssprachlicher Begriff, der einen Zustand nervöser Angst und Unruhe bezeichnet. Oft sind Migrationen schlecht geplant oder überschreiten den vorgesehenen Zeitrahmen. In diesem Artikel gehen wir auf vier verschiedene Arten von Migrationen ein und stellen Strategien vor, die diese Befürchtungen zerstreuen und die Faktoren bekämpfen, die den Erfolg einer Migration beeinträchtigen können.

(Hinweis: Im Rahmen dieses Artikels umfasst die Migration mehr als nur den Datentransfer; sie umfasst einen umfassenden Systemwechsel).

Arten der Migration

Lassen Sie uns zunächst vier Arten der Migration untersuchen, die Ihr Unternehmen im Rahmen seiner digitalen Transformation in Betracht ziehen könnte.

Konventionelle Datenmigration

Bei der konventionellen Datenmigration werden die Daten aus den Quellsystemen in flache Dateien exportiert. Anschließend wird ein Programm erstellt, das diese Dateien liest und die Daten in das Zielsystem lädt. Es handelt sich dabei um einen eher kompartimentierten Ansatz, der sich für Szenarien eignet, in denen die Unterschiede zwischen dem Quell- und dem Zieldatenschema minimal sind und das zu migrierende Datenvolumen relativ gering ist.

Hier ist ein reales Szenario, in dem ein Online-Tierapothekenunternehmen von einem bestehenden Apothekenanbieter auf einen neuen umgestiegen ist.

Die Vorbereitungen für das neue System wurden sorgfältig getroffen, einschließlich eines Schalters, der aktiviert werden sollte, sobald das neue System mit Daten gefüllt war. Während der Einführung des neuen Apothekenanbieters stand eine Migrationsaufgabe an, bei der etwa 90.000 Rezepte aus der Datenbank des alten Anbieters in die neue Datenbank migriert werden sollten. Die Datenmenge war zwar nicht überwältigend, aber doch groß genug, um eine bewusste Entscheidung zu rechtfertigen. Daher entschied man sich für die konventionelle Methode der Datenmigration.

Die Daten wurden vom vorherigen Anbieter extrahiert und an unser Team übergeben. Wir verfeinerten die Informationen sorgfältig und konvertierten sie in ein Format, das mit dem System des neuen Anbieters kompatibel war, um einen nahtlosen Import zu ermöglichen. Dieses umfassende Verfahren wurde über mehrere Monate hinweg geübt und verfeinert. Die Planung wurde mit exakter Präzision durchgeführt, wobei sowohl vollständige Dateneinspeisungen als auch schrittweise Datenaktualisierungen sorgfältig geplant wurden. Um eine sorgfältige Ausführung zu gewährleisten, erstellten wir eine Release-Checkliste, mit der wir jeden Schritt der Migration überwachen und steuern konnten. Bemerkenswerterweise verlief der gesamte Prozess nahtlos, so dass die Endnutzer:innen der Online-Tierapotheke ohne Unterbrechung bedient werden konnten.

Benutzerdefinierte Migration

In manchen Fällen kann ein Migrationsprozess so kompliziert werden, dass ein spezielles System nur für diesen Zweck eingerichtet werden muss. Dieses spezialisierte Softwaresystem, das eigens für die Migration entwickelt wurde, folgt einem eigenen Lebenszyklus und wird schließlich stillgelegt, sobald seine Aufgabe erfüllt ist.

In der dynamischen Welt der Online-Reisebranche bereitet sich einer unserer Kund:innen auf ein monumentales Migrationsprojekt vor. Die Komplexität des Themas und die schiere Menge an Daten, die dabei anfallen, erforderten die Einführung eines hochgradig maßgeschneiderten Dienstes.

Diese maßgeschneiderte Lösung wurde mit einem einzigen Ziel entwickelt: die Daten in das neue System zu übertragen, und zwar genau zum Zeitpunkt der Benutzeraktivierung.

Das Ausmaß dieses Migrationsprojekts ist atemberaubend, denn die Zahl der zu migrierenden Datensätze erreicht die monumentale Zahl von 250 Millionen.

Das Vorhandensein verschiedener Quellsysteme ist ein wichtiger Grund für die Einführung dieses besonderen Migrationsansatzes. Dieser maßgeschneiderte Dienst fungiert als robuster Motor, der Daten aus verschiedenen Quellen aufnimmt und sie sorgfältig für die Integration in die Staging-Datenbank vorbereitet. Die Umstellung auf das neue System erfolgt dann nahtlos und wird zur Laufzeit auf Anforderung ausgeführt. Diese präzisionsgefertigte und fein abgestimmte kundenspezifische Lösung bildet die Grundlage für den Weg des Kunden zu einer verbesserten Betriebslandschaft.

Datenmigration mit Hilfe von Technologie

Stellen Sie sich nun vor, dass der herkömmliche Datenmigrationsprozess durch die Leistung moderner Automatisierung mit Hilfe modernster Technologien verbessert wird. Stellen Sie sich die Vorteile von Tools vor, die nahtlos die Fehlerbehandlung, Wiederholungsversuche, Bereitstellungen und vieles mehr übernehmen. Die Aussicht auf eine derart automatisierte Migration mag verlockend einfach erscheinen. Doch es gibt einen Haken. Der Erfolg dieses Ansatzes hängt von einer sorgfältigen Planung und Flexibilität ab, Eigenschaften, bei deren Überwachung Tools helfen können, die aber letztlich das Fingerspitzengefühl eines erfahrenen Experten erfordern.

Mehrere Cloud-Dienste können bei der Automatisierung der verschiedenen Migrationsschritte helfen. Ich tendiere hier zwar zu einem AWS PaaS-Ansatz, aber es ist wichtig zu wissen, dass andere führende Cloud-Anbieter gleichwertige Tools anbieten, die ebenso wettbewerbsfähig sind.

Zu den wichtigsten Komponenten eines solchen Migrationssystems gehören:

  • AWS Glue: AWS Glue dient als serverloser Datenintegrationsservice und vereinfacht den Prozess des Erkennens, Aufbereitens und Zusammenführens von Daten.
  • AWS S3: AWS Simple Storage Service ist von unschätzbarem Wert für die Speicherung aller ETL-Skripte und Protokollspeicher.
  • AWS Secret Manager: AWS Secret Manager gewährleistet die sichere Verschlüsselung und Verwaltung sensibler Anmeldeinformationen, insbesondere für den Datenbankzugriff.
  • AWS CloudWatch: CloudWatch Events Rule spielt eine zentrale Rolle bei der Auslösung der geplanten ETL-Skriptausführung, während CloudWatch Logs bei der Überwachung der Glue-Protokolle eine wichtige Rolle spielt.
  • AWS DMS: AWS Database Migration Service (AWS DMS) ist ein verwalteter Migrations- und Replikationsservice, der schnelle, sichere und ausfallarme Übertragungen von Datenbank- und Analyse-Workloads auf AWS mit minimalem Datenverlust ermöglicht.

Mit der Nutzung dieser Dienste wollen wir uns nun der Frage widmen, wie wir den Migrationsprozess effektiv durchführen können:

Hier wird ein unkomplizierter Arbeitsablauf vorgestellt, der AWS Glue nutzt, um die Datenübertragung von Quell- zu Zielsystemen zu erleichtern. Eine entscheidende Voraussetzung für die erfolgreiche Ausführung dieses Workflows ist die Einrichtung eines VPC-Peering zwischen den beiden AWS-Konten. Es ist erwähnenswert, dass es Fälle geben kann, in denen Einschränkungen der Client-Infrastruktur einen solchen Zugriff behindern. In solchen Fällen ist es ratsam, eng mit dem Infrastrukturteam zusammenzuarbeiten, um diese Herausforderung zu meistern.

Der Prozess läuft wie folgt ab: Die Daten werden umgewandelt und finden ihren Platz in der Stage-Datenbank. Sobald die Daten für die Aktivierung vorbereitet sind, werden sie durch den Einsatz von AWS DMS nahtlos in das Zielsystem übertragen.

Während diese Tools zweifellos unsere Entwicklungsbemühungen rationalisieren, ist es wichtig zu verstehen, wie man ihr volles Potenzial ausschöpfen kann. Dieser Aspekt stellt die einfachere Seite der Geschichte dar; die wahre Komplexität ergibt sich, wenn wir uns mit der Datenvalidierung nach der Migration befassen.

On-Premises-zu-Cloud-Migration

Diese Migration ist der Inbegriff von Komplexität – ein typisches Unternehmensszenario, bei dem es um die Umstellung von On-Premise-Servern auf Cloud-Server geht. Der gesamte Prozess wird durch eine Fülle von leicht verfügbaren Lösungen erleichtert, die von Cloud-Anbietern angeboten werden. Ein hervorragendes Beispiel ist das AWS Migration Acceleration Program (MAP), eine umfassende und bewährte Cloud-Migrationsinitiative, die aus unserer Erfahrung mit der Migration zahlreicher Unternehmenskunden in die Cloud entstanden ist. MAP stattet Unternehmen mit Tools zur Kostenreduzierung, optimierter Ausführungsautomatisierung und einem beschleunigten Weg zu Ergebnissen aus.

Unsere Zusammenarbeit erstreckte sich auf eine führende Autorität im Bereich der Screening- und Compliance-Management-Lösungen, die sich auf eine transformative Reise begeben hat. Zu den Unternehmungen, die wir für diesen Partner unternommen haben, gehörte das beeindruckende Projekt zur Datenmigration und 2-Wege-Synchronisation. Der Kern dieses Vorhabens war die Entwicklung einer leistungsstarken Zwei-Wege-Synchronisationsstrategie, die sowohl die bestehenden Funktionen der lokalen Lösung als auch die neu in ein neues, serviceorientiertes Framework auf Azure migrierten Funktionen unterstützt. Außerdem musste diese Lösung in der Lage sein, große Mengen an binären Inhalten zu verwalten.

Werfen Sie einen Blick auf den für diese Migration verwendeten Technologie-Stack:

Unsere Lösung umfasste diese integralen Bestandteile:

  • ACL: Eine Legacy-Komponente, deren Aufgabe es ist, Änderungen in der lokalen Datenbank zu erkennen und anschließend Ereignisse auszulösen, die an die Cloud weitergeleitet werden.
  • Vorgelagerte Komponenten: Diese Cloud-basierten Elemente umfassen eine Reihe von Filter-, Transformations- und Persistenzaktionen, die auf Änderungen angewendet werden. Sie sind sorgfältig so konzipiert, dass sie die Änderungen innerhalb der für die Entität vorgesehenen Domäne in der Cloud verankern. Darüber hinaus generieren diese Komponenten Replikationsereignisse, die bei Bedarf reaktionsfähige Aktionen auslösen können.
  • Replikationskomponenten: Diese Komponenten befinden sich in der Cloud und sind darauf spezialisiert, die Replikationsereignisse zu empfangen. Anschließend speichern sie entweder die Daten oder führen als Reaktion auf die empfangenen Ereignisse bestimmte Aktionen aus.
  • Massentransit: In Szenarien, in denen Cloud-induzierte Änderungen eine Synchronisierung zurück zur On-Premise-Datenbank erforderlich machen, kommt MassTransit zum Einsatz. Dieses Tool spielt eine zentrale Rolle beim Lesen aller in der Cloud erzeugten Ereignisse, leitet sie an nachgelagerte Komponenten weiter und orchestriert so die Synchronisierung von Änderungen.

Gemeinsam bilden diese Komponenten einen kohärenten Rahmen, der den komplizierten Tanz der Datensynchronisation zwischen lokalen und Cloud-basierten Systemen orchestriert.

Das Erreichen der Zwei-Wege-Synchronisation hing von der Nutzung von Schlüsselfunktionen in unserem Produkt ab. Zu diesen Komponenten gehören:

  • Tabelle-zu-Tabelle-Datensynchronisierung: Unsere Lösung ermöglichte eine nahtlose Datensynchronisation zwischen On-Premise- und Cloud-Datenbanken und umgekehrt. Dieser Prozess wurde über eine ereignisgesteuerte Architektur orchestriert, um einen flüssigen Informationsaustausch zu gewährleisten.
  • Change Capture Service für On-Premise-Änderungen: In Fällen, in denen Änderungen auf der Vor-Ort-Seite auftraten, erkannte ein Change Capture Service diese Änderungen sorgfältig und löste entsprechende Ereignisse aus. Diese Ereignisse wurden dann mit der designierten Home-Domain synchronisiert und lösten gleichzeitig Benachrichtigungen für andere Domains aus, um ihre jeweiligen Daten zu synchronisieren, falls dies als notwendig erachtet wurde.
  • Cloud-initiierte Änderungen und Datenreplikation: Umgekehrt hat unsere Lösung bei Änderungen in der Cloud deren Übertragung an den Datenreplikationsdienst vor Ort orchestriert. Dies wurde durch einen optimierten ereignisgesteuerten Ansatz erreicht.

Während im Bereich der On-Premise-zu-Cloud-Migration noch viel erforscht werden kann, erweitern fortlaufende Innovationen, wie die Integration von Tools wie CodeGPT, die Möglichkeiten zur Durchführung von Migrationen ständig. Um sich jedoch auf das eigentliche Thema zu konzentrieren, sollten wir uns mit den Tipps befassen, die dazu beitragen können, die mit diesen Migrationsbemühungen verbundenen Ängste abzubauen.

Tipps für eine erfolgreiche Migration

Wie können Sie sicherstellen, dass Ihre nächste Migration erfolgreich verläuft? Verpassen Sie nicht diese entscheidenden Möglichkeiten zur Vereinfachung und Bekämpfung der Komplexität Ihrer Migration.

1. Planen Sie kürzere und frühere Testzyklen

Genauso wie die Integration und der frühzeitige Beginn von Tests in der Microservices-Architektur von zentraler Bedeutung sind, sollte auch der Migrationsprozess frühzeitig innerhalb des Testzyklus gestartet werden. Planen Sie zahlreiche Testzyklen ein, um den Migrationsprozess zu optimieren. Wir empfehlen, fünf oder mehr Testzyklen zu starten. Es ist äußerst wichtig, dass diese Zyklen in produktionsnahen Umgebungen ablaufen, in denen Daten repliziert werden, die der Produktionsumgebung sehr ähnlich sind. Morphing-Tools können eingesetzt werden, um bereinigte Produktionsdaten in eine stufenweise Umgebung zu verpflanzen.

2. Formulieren Sie eine umfassende Validierungsstrategie

Lassen Sie bei der Validierung der migrierten Daten nichts unversucht. Eine gründliche Validierung ist unabdingbar, um finanzielle Verluste oder die Verärgerung von Kunden aufgrund einer unzureichenden Erfahrung nach der Migration zu vermeiden. Im Folgenden finden Sie ein Beispiel für eine Reihe von Validierungsschritten, die auf das Post-Migrations-Szenario zugeschnitten sind:

3. Beginnen Sie mit Beta-Benutzer:innen

Beginnen Sie den Migrationsprozess mit der Auswahl einer Gruppe von Alpha- und Beta-Benutzer:innen, die als Pilot:innen für die migrierten Daten dienen werden. Diese Vorphase trägt dazu bei, die Risiken in den Produktionssystemen zu minimieren. Wählen Sie die Alpha- und Beta-Benutzer:innen sorgfältig aus, um einen reibungslosen Übergang während der Live-Datenmigration zu gewährleisten. Die Alpha-Benutzer:innen sind eine kleinere Gruppe von etwa hundert Benutzer:innen, während die Beta-Benutzer:innen eine etwas größere Gruppe von möglicherweise einigen tausend Benutzer:innen umfassen. Schließlich wird der Übergang zu einem vollständigen Datensatz von Live-Nutzer:innen vollzogen.

4. Antizipieren Sie Poison Pills

Planen Sie von Anfang an Poison Pills ein – Datensätze in Kafka, die aufgrund möglicher Rückwärtskompatibilitätsprobleme mit weiterentwickelten Nachrichtenschemata beim Verbrauch immer wieder fehlschlagen. Die regelmäßige Überprüfung auf Poison Pills in der Produktion ist eine proaktive Maßnahme, um Hindernisse in letzter Minute abzuwenden. Der folgende Arbeitsablauf veranschaulicht, wie man mit Poison Pills umgeht:

5. Ausarbeitung einer soliden Rollback-Strategie

Arbeiten Sie mit Kunden zusammen, um eine umfassende Rollback-Strategie zu entwickeln und sicherzustellen, dass die Erwartungen aufeinander abgestimmt sind. Führen Sie Probeläufe der Rollback-Strategie durch, um potenziellen Notfällen vorzubeugen, da dies der letzte Ausweg sein könnte, um die Situation zu retten.

6. Holen Sie sich Unterstützung, wenn sie verfügbar ist

Ziehen Sie, wenn möglich, bezahlte Unterstützung in Betracht, um Ihre Bemühungen zu verstärken. So profitierte unser Kunde beispielsweise von lizenziertem MongoDB-Support, der zugewiesene Stunden zur Verbesserung der Systemleistung und der Migrationsskripte nutzte. Ein solcher Support bringt oft eine neue Perspektive und intime Kenntnisse über potenzielle Herausforderungen und Lösungen mit sich, was während des Migrationsprozesses von unschätzbarem Wert ist.

7. Frühzeitige Überprüfungen einbeziehen

Holen Sie proaktiv Überprüfungen der Migrationsarchitektur sowohl von Kund:innen als auch von internen Prüfgremien ein. Diese Sorgfalt ist unerlässlich, um mögliche Hindernisse oder Unstimmigkeiten zu erkennen, bevor sie zu echten Herausforderungen werden. Indem Sie Probleme, die bei den Überprüfungen auftauchen, bereits im Vorfeld angehen, können Sie Komplikationen in letzter Minute vermeiden, z. B. wenn ein Migrationsplan den Richtlinien des Kunden widerspricht und Anpassungen und Verbesserungen erforderlich sind.

Fazit

Die Vision eines nahtlosen Übergangs zu einem hochmodernen neuen System ist eine verlockende Aussicht für Unternehmen, die eine verbesserte Effizienz und erweiterte Möglichkeiten verspricht. Der Weg von veralteten Systemen zu einem technologisch fortschrittlichen zukünftigen Zustand ist jedoch oft mit Herausforderungen verbunden, und die alarmierende Statistik, dass 70 % der digitalen Transformationen scheitern, wie McKinsey hervorhebt, ist eine deutliche Erinnerung an die damit verbundenen Komplexitäten. Einer der Hauptgründe für dieses Scheitern sind erfolglose Migrationsbemühungen, was unterstreicht, wie wichtig es ist, sich mit den Befürchtungen der Migrant:innen auseinanderzusetzen.

Der Begriff „Gänsehaut“ beschreibt treffend die Ängste, die häufig mit Migrationsprozessen einhergehen. Diese Angst kann auf eine Reihe von Faktoren zurückgeführt werden, darunter schlechte Planung, überschrittene Zeitrahmen und unerwartete Hindernisse. Wie dieser Artikel zeigt, gibt es jedoch bewährte Strategien, um diesen Herausforderungen zu begegnen und erfolgreiche Migrationen durchzuführen. Durch Ansätze wie kürzere und frühzeitige Testzyklen, umfassende Validierungsstrategien, gestaffelte Rollouts mit Beta-Benutzer:innen, die Vorbereitung auf potenzielle Hindernisse wie Poison Pills und die Ausarbeitung effektiver Rollback-Pläne können Unternehmen die mit Migrationen verbundenen Risiken und Unwägbarkeiten erheblich verringern. Die Unterstützung durch Expert:innen und die Einbeziehung frühzeitiger Überprüfungen spielen ebenfalls eine entscheidende Rolle bei der Gewährleistung einer reibungslosen Migration.

Die verschiedenen Migrationsarten, die in diesem Artikel behandelt werden – von der konventionellen Datenmigration bis hin zu benutzerdefinierten Lösungen und dem Übergang von On-Premise zu Cloud – zeigen die Bandbreite der Szenarien und Komplexitäten, mit denen Unternehmen konfrontiert werden können. Durch die sorgfältige Einhaltung der hier dargelegten Strategien können Unternehmen den komplizierten Tanz der Datensynchronisierung und Systemübergänge mit Zuversicht meistern. Da sich die digitale Landschaft ständig weiterentwickelt, wird die Anwendung dieser Best Practices nicht nur dazu beitragen, die Angst zu lindern, sondern auch den Weg für eine erfolgreiche digitale Transformation zu ebnen, die Unternehmen in die Lage versetzt, im modernen Zeitalter erfolgreich zu sein.

Wenden Sie sich an das GlobalLogic-Team, wenn Sie digitale Beratungs- und Bewertungsdienste benötigen, um die richtige Strategie für die digitale Transformation Ihres Unternehmens zu entwickeln.

Bei der Planung einer digitalen Transformation muss der CTO eines Unternehmens viele Entscheidungen treffen, um den Endzustand zu erreichen. Um das übergeordnete Ziel der Abschaffung eines monolithischen Altsystems zu erreichen, ist eine dieser Entscheidungen, ob ein Brownfield- oder ein Greenfield-Ansatz gewählt werden soll.

Aber das ist die letzte Stufe, und bis dahin ist es noch ein langer Weg. Es gibt eine lange Zeitspanne bis zum erfolgreichen Sunsetting, und es ist durchaus akzeptabel, dass die Systeme auf halbem Wege funktionieren. In der Regel handelt es sich dabei um Brownfield-Systeme, bei denen ein Großteil des monolithischen Altsystems mit einem modernen Stack ummantelt wird.

In diesem Artikel geben wir Ihnen Hinweise, wie Sie den Übergang von einem monolithischen zu einem modernen System erleichtern können, wie Sie eine North-Star-Architektur entwickeln und wie Sie sich bei Bedarf in den verschiedenen Phasen Ihrer digitalen Transformation anpassen können.

Getting Started: Möglichkeiten bewerten

Wenn Sie sich für eine Modernisierung entschieden haben, können Sie verschiedene Wege einschlagen: Umstellung auf ein komplett neues System, Umstellung/Refactoring Ihrer Lösung oder Side-by-Side.

Abbildung: Modernisierungsentscheidungen – GL POV

Ein Großteil der Vordenker zu diesem Thema konzentriert sich auf die erfolgreiche Umgestaltung von Architekturen und neuen Systemen. Es wird jedoch nur sehr wenig über Systeme auf halbem Weg diskutiert. Wenn überhaupt, dann wird eher über die älteren monolithischen/Legacy-Systeme und die Menge an Gepäck gesprochen, die sie mit sich bringen.

Aber Midway-Systeme sind komplex und bringen eine Menge Probleme mit sich. Sie können arbeitsintensiv sein und es gibt eine Menge Unbekannte, die das Budget sprengen können. Wir haben mit vielen Kunden in dieser Phase zusammengearbeitet, in der sich ihre Systeme auf halbem Weg befinden, und haben wichtige Lektionen gelernt, die zu einem reibungsloseren Prozess beitragen.

Viele dieser Kunden haben mit der Erstellung eines Green Field-Systems begonnen, dann aber das Ziel geändert und beschlossen, endgültig bei dem System auf halbem Weg zu bleiben. Dafür gibt es viele Gründe:

  • Externe Bedrohungen oder Veränderungen. Die Pandemie ist ein großartiges Beispiel dafür, dass Organisationen Investitionen tätigen mussten, um mit dem Anstieg der Bestellungen während oder nach der Pandemie Schritt zu halten.
  • Mangelnde Akzeptanz. Während der Testphase oder der MVP-Einführung kann der Kunde Schwierigkeiten haben, die Akzeptanz und Annahme durch die Benutzer zu erreichen.
  • Kostenfaktoren. Das Budget ist erschöpft, und anstatt kein System zu haben, bleiben die Kunden bei einem halbfertigen System, das noch funktioniert. So bleibt das Geld im Fluss, und der Kunde beschließt, die Schlacht zu verlieren, um den Krieg zu einem späteren Zeitpunkt zu gewinnen.

Wir können in der Tat den darunter liegenden Stack modernisieren, bevor das eigentliche Benutzererlebnis gestört wird. Dies ist der Fall, wenn das gesamte monolithische System nicht erdrosselt wird. Es scheint noch am Leben zu sein, während der darunter liegende Motor ersetzt wurde. Die harte Realität solcher Systeme trifft uns hart – sie sind komplexer als früher und mit größerer Dringlichkeit, um auf die andere Seite zu gelangen.

North Star – Architektur

Der Übergang zur North Star-Architektur ist eine Herkulesaufgabe und erfordert große Ausdauer. Darüber hinaus ist ein System auf halbem Weg nur mit größerem Aufwand zu pflegen. Wie können wir uns also von einem solchen Fauxpas lösen?

Hier sind die Schritte, die in der Vergangenheit für uns funktioniert haben. Ein visionärer Unternehmensarchitekt, der das alte und das neue System genau kennt, kann dabei helfen, einen Plan zu erstellen, um dies zu erreichen. Verwenden Sie diese einfachen Schritte, um Ihren Plan zu entwerfen.

1. Fahren Sie mit solchen Zwischensystemen mit Elan fort.

Da die Mittelwegsysteme nicht so schnell verschwinden werden, sollten Sie versuchen, das Leben mit solchen Systemen erträglicher zu machen. Investieren Sie in Übergangstechnologien, die den Betrieb und die Wartung von Mittelwegsystemen vereinfachen.

Wir haben uns mit einem weltweit führenden Anbieter von Software, Produkten und professionellen Dienstleistungen für Tierarztpraxen mit einem Umsatz von 4 Mrd. US-Dollar zusammengetan, um eine zukunftsweisende Microservice-basierte Plattform für das globale Verschreibungsmanagement (GPM) für die internationale Expansion zu entwickeln, die derzeit mehr als 10.000 Praxen in Nordamerika und etwa 100.000 Kunden in der globalen Lieferkette bedient. Es handelte sich um einen Greenfield-Ansatz zur Lösung der aktuellen Probleme mit den bestehenden monolithischen Systemen.

Die Umstellung auf das neue System braucht Zeit, und wir können nicht aufhören, wie gewohnt weiterzuarbeiten. Das ist es auch, was das neue System finanziert. Daher haben wir uns bewusst dafür entschieden, uns auf das neue System vorzubereiten und Pipelines für die Datenmigration in zwei Richtungen einzurichten. Mit „zwei Wegen“ meinen wir, dass die Daten vom neuen zum alten System und umgekehrt synchronisiert werden.

Das bedeutet im Wesentlichen, dass die Daten dupliziert und synchron gehalten werden, um den Schritt zum Übergang auf ein neues System zu vollziehen. Es sah also in etwa so aus:

Abbildung: „Zwei-Wege“-Datensynchronisation

Diese Pipeline wird irgendwann auslaufen, aber es ist die Mühe wert, das neue System mit dem alten System synchron zu halten und umgekehrt. Der Vorteil, den wir erhalten, ist eine Verschnaufpause in der Übergangsphase, in der das Unternehmen die anstehenden Aufgaben für die Umstellung auf ein neues System betrachtet, das Budget und die Zeitpläne anpasst und insgesamt das Leben ein wenig einfacher macht, weil die Dinge weiterlaufen, wenn auch mit höheren Kosten. Die gute Nachricht ist, dass das Geschäft immer noch Geld einbringt.

2. Aufbau der Orchestrator-Schicht.

Der nächste Schritt ist der Aufbau einer Orchestator-Schicht, die den Datenverkehr von den bestehenden Front-End-Anwendungen zu den neuen Back-End-Systemen leitet. Diese Schicht wird dafür sorgen, dass die Nutzer des Systems weiterhin einen nahtlosen Übergang haben werden. Im Hintergrund wurde das alte System ersetzt, ohne dass die Benutzer davon betroffen sind. Auch dieser Schritt kann mit verschiedenen Bereitstellungsstrategien wie Blue Green Deployment durchgeführt werden. Und da die Daten immer im Hintergrund synchronisiert werden, können Sie im Falle von Problemen mit dem neuen System zurückschalten.

Abbildung: Die Orchestrator-Schicht

Bei der Erstellung des API-Satzes in der Orchestator-Schicht sollten Sie darauf achten, dass die Architektur zukunftsorientiert ist. Die Orchestator-Schicht bleibt auch im neuen System erhalten und ist kein Wegwerfcode. Wenn dazu eine Wrapper-Schicht oder ein Adapter für das Legacy-Frontend benötigt wird, lassen Sie dies zu. Dies wird ein Wegwerfcode sein, der aber dennoch sein kurzes Leben in vollen Zügen genießen wird. Der Grund dafür ist, dass das Design für Ihre Orchestrierung sauber und makellos bleibt.

3. Die bittere Pille schlucken und auf ein neues System migrieren.

Es gibt keinen einfacheren Weg, als jetzt in den sauren Apfel zu beißen. Erstellen Sie die neue moderne Benutzeroberfläche mit der Technologie Ihrer Wahl und sorgen Sie dafür, dass die moderne Benutzeroberfläche die gleiche Sprache spricht wie der Orchestrator-Dienst. Schalten Sie das alte System schrittweise aus. Führen Sie einen Alphatest durch, wählen Sie dann eine Gruppe von Betanutzern für die Migration aus, und schließlich können alle Nutzer migriert werden. So haben Sie genügend Vorlauf für die endgültige Einführung.

Manchmal erfordert die Migration auf ein neues System mehr Planung und Aufwand als die Entwicklung von Green Field-Anwendungen. Ein solch großes Problem erfordert, dass wir es in kleinere Problemstellungen aufteilen und die kleineren Probleme nach und nach beheben. Dies kann so einfach sein wie die Migration von On-Premise zu Cloud und kann auch komplexe Geschäftsregeln beinhalten, die für die Transformation angewendet werden müssen.

Im Fall unseres Kunden haben wir beispielsweise einen benutzerdefinierten Microservice entwickelt, dessen einzige Aufgabe es war, Daten aus allen unterschiedlichen Quellen aufzunehmen und am endgültigen Zielort zu platzieren. Dieser Dienst wurde nur einmal verwendet, war aber entsprechend den Geschäftsregeln für die Transformation leicht zu manipulieren.

Abbildung: Die endgültige Inbetriebnahme der benutzerdefinierten Migration Engine

Fazit

Das monolithische Altsystem hat sein Leben gelebt, und die Abschaffung des gesamten Monolithen ist eine gewaltige Aufgabe. Es gibt Lösungen, die den Weg zur North Star-Architektur erleichtern. Es ist ratsam, frühzeitig in diese Lösungen zu investieren und Ihr Budget zu nutzen, um das Leben einfacher zu machen.

Diese Systemmuster für die Mitte des Weges sind dazu da, Ihre Reise zu vereinfachen, und wenn Sie sie nutzen, vermeiden Sie den Fauxpas, die monolithischen Systeme zu strangulieren. GlobalLogic’s Digital Advisory & Assessment kann Ihnen auf Ihrer Reise vom Monolithen zu einer digital transformierten Architektur helfen, den richtigen Weg zu wählen, die Schritte auf dem Weg zu vereinfachen und Ihr Endziel mit einer erfolgreichen, nachhaltigen Lösung zu erreichen, die Ihr Unternehmen voranbringt.

Die Banken werden Erfahrungen anbieten, aber jeder wird sie ignorieren.

Die Inspiration für diesen Blogtitel stammt von Jerry Neumann, dem Autor des Blogs Reaction Wheel, der 2015 schrieb, dass „Software die Welt frisst und jeder sie ignoriert“. Neumann beobachtete auch, dass „Informations- und Kommunikationstechnologie allgegenwärtig, aber unsichtbar“ wird – mit anderen Worten, in jedes Produkt eingebettet.

Die Geschichte zeigt, dass Technologien, die einen Paradigmenwechsel herbeiführen, die Art und Weise verändern, wie wir denken, uns mit verschiedenen Produkten und Dienstleistungen auseinandersetzen und sie erleben.

Der letzte große Umbruch im Privatkundengeschäft war das Internet-Banking, das heute nur noch als „Banking“ bezeichnet wird. Ein anderes Beispiel ist der elektrische Besen, der heute eher als Staubsauger bekannt ist…

Wir glauben, dass wir in diesem Moment einen weiteren Paradigmenwechsel erleben.

Ein Wechsel, der das Gesicht des Privatkundengeschäfts drastisch verändern wird.

Die wichtigsten Trends, die diesen Paradigmenwechsel vorantreiben, sind die Entkopplung des Kundenerlebnisses von den Banken, die Demokratisierung der Finanzberatung und -planung mit dem Aufkommen der KI (bei der die Grenzkosten für die Bereitstellung und Ausführung von Finanzberatung auf Null gesenkt werden können) und der durch Open Banking geschaffene Wandel von oben nach unten.

Dies wird eine neue Ära der eigenverantwortlichen Finanzen einläuten, in der der Einzelne auf Abruf eine hyper-personalisierte und maßgeschneiderte Finanzberatung auf Knopfdruck oder mit Hilfe von Hyper-Reality-Geräten direkt vor seinen Augen erhalten kann.

Während wir uns von einem Paradigma zum nächsten bewegen, müssen die Banken die Art und Weise, wie sie mit ihren Kunden interagieren, neu konzipieren – und dabei sogar neu definieren, wer ihre Kunden sind. Denn in dem Maße, wie sich das Kundenerlebnis von den Banken abkoppelt, werden die Kunden möglicherweise einen unabhängigen Vermittler in Anspruch nehmen. Mehr noch: Mit dem Aufkommen neuer Geräte wie dem Apple Vision Pro ist dieser Vermittler möglicherweise nicht einmal mehr ein Mensch, um auf Bankprodukte und -dienstleistungen zuzugreifen. Und da diese Geräte immer beliebter werden, werden die finanziellen Erfahrungen, der Ort und das Medium, über das die Beratung erfolgt, immer mehr verschwimmen.

In Zukunft wird es mit Sicherheit eine Reihe neuer Möglichkeiten geben, phygitale* Finanzdienstleistungen einzubetten, so dass Bankdienstleistungen immer mehr in eine breitere, digitalere und vernetzte Arbeitsweise eingebettet werden. Je mehr sie eingebettet werden, desto unsichtbarer werden sie für den Kunden.

 

*Phygital bedeutet, dass die Vorteile der physischen Bankinfrastruktur mit den Vorteilen moderner digitaler Technologien kombiniert werden.

—————————————————————————————————

Einsicht und frühe Signale.

Das 2017 gegründete innovative Forschungsunternehmen Inrupt von Sir Tim Berners-Lee prognostiziert eine Zukunft, in der Daten mit der Person verbunden sind und Menschen generative KI nutzen können, um persönliche Assistenten und digitale Agenten zu haben, die in ihrem Namen arbeiten, ähnlich wie Agenten oder Anwälte – oder vielleicht Finanzberater.

Um es klar zu sagen: Robo-Advisors sind nicht neu. Wir haben bereits eine kambrische Explosion von Finanzmanagement-Startups erlebt, die die Vermögensverwaltung für einen Großteil der Weltbevölkerung zugänglich gemacht haben. Aber Berners-Lees Arbeit zeigt erste Anzeichen für das, was noch kommen wird.

Vorhersage.

GlobalLogic prognostiziert, dass innerhalb des nächsten Jahrzehnts eine neue Generation von hyper-persönlichen KI-Finanzassistenten entstehen wird, die im Leben ihrer Besitzer so allgegenwärtig sind wie Elektrizität oder Konnektivität. Aber noch in diesem Jahrzehnt prognostizieren wir das Aufkommen einer neuen Generation von hyper-persönlichen KI-Finanzassistenten. Sie werden im Leben ihrer Besitzer so allgegenwärtig sein wie Elektrizität oder Konnektivität, und sie werden den Menschen gehören oder von ihnen abonniert werden und mit ihnen zusammenleben, anstatt in den Kernsystemen der Banken zu sitzen.

Zur Veranschaulichung dieses Bildes haben wir ein fiktives Produkt namens „Penny“ entwickelt, einen konzeptionellen, verbraucherseitigen, KI-gestützten persönlichen Finanzassistenten, der die Art und Weise repräsentiert, wie wir uns die Interaktion der Menschen mit den Banken der Zukunft vorstellen.

Penny stellt sich vor

Unsere Vision ist, dass Penny einen Weg zu Wohlstand, grünem Leben und persönlicher Sicherheit bietet und ein vertrauenswürdiger, unabhängiger Partner für ein selbstbewusstes Finanzmanagement sein wird. Der Schlüssel zur Attraktivität von Penny ist seine Unabhängigkeit von Banken.

Der Fokus von Penny wird auf 4 Kernbereichen liegen:

1. Langfristige Schaffung von Wohlstand:

Penny unterstützt seine Nutzer beim Vermögensaufbau durch maßgeschneiderte Finanzberatung, Anlagestrategien und personalisierte Empfehlungen, um die Rendite zu maximieren und finanzielle Ziele schneller zu erreichen.

2. Finanzberatung in Echtzeit auf Ihre Art:

Penny kombiniert die Kraft von physischen und digitalen Interaktionen. Nutzer können mit Penny über innovative Berührungspunkte wie Augmented Reality, Sprachassistenten oder intelligente Geräte interagieren und erhalten so Finanzberatung in Echtzeit und personalisierte Beratung, die auf ihre individuellen Bedürfnisse zugeschnitten ist.

3. Nachhaltige grüne Lebensstile:

Die grünen Kaufempfehlungen von Penny nutzen das Ausgabeverhalten und die Vorlieben, um verantwortungsvolle Alternativen vorzuschlagen, und helfen den Nutzern, umweltbewusste Entscheidungen zu treffen, die mit ihren Werten übereinstimmen.

4. Delegierter Zugriff, Berechtigungen und Sicherheit:

Penny kennt die finanzielle Situation, die Ausgabengewohnheiten und die Risikobereitschaft seiner Nutzer sehr genau und kann so personalisierte Sicherheitsmaßnahmen anbieten. Es gewährleistet ein Höchstmaß an Datenschutz, schützt das Vermögen und gibt Sicherheit in einer sich ständig verändernden digitalen Landschaft.

Im Vertrauen darauf, dass das fortgeschrittene Verständnis der individuellen finanziellen Situation, der Ausgabengewohnheiten und der Risikotoleranz personalisierte Sicherheitsmaßnahmen und eine bessere finanzielle Gesundheit ermöglicht, können die Menschen beschließen, ihr gesamtes Finanzleben an Penny zu delegieren. So können sie sich von der Mühsal der Finanzverwaltung befreien.

In der Ära des unsichtbaren Bankings geht es nicht nur um Bequemlichkeit, sondern auch darum, sichere und vertrauenswürdige Finanzerfahrungen zu schaffen und das finanzielle Wohlergehen der Menschen zu verbessern.

————————————————————————————————–

Strategische Implikationen

Um als unsichtbare Bank erfolgreich zu sein, müssen die Banken einen grundlegenden Wandel vollziehen. Technologie- und Geschäftsteams müssen sich flexible Interoperabilität, plattformzentriertes Denken und moderne Softwarearchitekturen zu eigen machen.

Sie müssen verstehen, wie der Aufstieg angewandter KI, offener Finanzplattformen und Technologien der phygitalen Welt eine entscheidende Rolle bei der Ermöglichung der Zukunft des Bankwesens spielen wird, und sie müssen sich strategisch auf all diese Aspekte konzentrieren, um ihren Kunden intelligentere, umweltfreundlichere und fairere Finanzdienstleistungen zu bieten.

Der Aufstieg der unsichtbaren Bank wird zu einer tiefgreifenden Umgestaltung des Retail-Bankgeschäfts führen. Wir werden weiterhin beobachten, wie die Banken hinter den Kulissen agieren, wobei sich der Schwerpunkt von den Instituten selbst auf die nahtlose Integration von Finanzdienstleistungen in unser tägliches Leben verlagert.

Mit dem Aufkommen von KI-gesteuerten Assistenten, die Penny ähneln, und neuen Geräten verspricht die Zukunft des Bankgeschäfts für den Kunden ein Höchstmaß an Personalisierung, mehr Sicherheit und mehr Eigenverantwortung.

Wie Carlota Perez bemerkt: „In Zeiten des Paradigmenwechsels gibt es ein Zeitfenster, in dem man sowohl aufholen als auch vorankommen kann.“

Sind Sie bereit?

***

Software-Ingenieure sind natürlich bestrebt, Code zu schreiben, der nicht nur funktional, sondern auch qualitativ hochwertig ist. Die Sicherstellung der Codequalität kann jedoch eine Herausforderung sein, vor allem wenn sie an komplexen Projekten mit mehreren Entwicklern arbeiten. Hier kommt das kontinuierliche Testen ins Spiel, ein wichtiger Prozess zur Messung und Verbesserung der Codequalität.

Kontinuierliches Testen ist eine Methode, die eine fortlaufende Codeanalyse beinhaltet, um Probleme zu erkennen und zu beheben, sobald sie auftreten, anstatt bis zum Ende des Entwicklungszyklus zu warten. Durch die Integration dieses Prozesses in unsere Entwicklungsabläufe können wir potenzielle Probleme frühzeitig erkennen und nicht nur eine höhere Codequalität, sondern auch schnellere Entwicklungszyklen erzielen.

In diesem Artikel wird die Bedeutung des kontinuierlichen Testens untersucht und wie es uns helfen kann, die Codequalität zu messen und zu verbessern. Wir werden einige der wichtigsten Metriken zur Messung des Codes, die größten Herausforderungen, die Sie bewältigen müssen, und häufige Fehler, die Sie vermeiden sollten, erörtern.

Häufige Hindernisse für die Codequalität

Komplexität bewältigen

Mit zunehmender Komplexität von Softwaresystemen wird es immer schwieriger, sicherzustellen, dass jeder Teil der Codebasis von hoher Qualität ist. Dies gilt insbesondere für Großprojekte, bei denen mehrere Entwickler an verschiedenen Teilen des Systems arbeiten. Je größer die Codebasis wird, desto schwieriger wird es, sie zu verstehen, zu debuggen und zu warten, was zu Qualitätsproblemen führen kann.

Sicherstellung der Konsistenz in der gesamten Codebasis

Wenn mehrere Entwickler an einem Projekt arbeiten, muss sichergestellt werden, dass sie alle dieselben Codierungsstandards und Best Practices befolgen. Dies kann eine Herausforderung sein, vor allem in größeren Organisationen, in denen verschiedene Teams unterschiedliche Ansätze für die Softwareentwicklung haben können. Unstimmigkeiten können zu Qualitätsproblemen sowie zu erhöhtem Zeit- und Arbeitsaufwand bei der Entwicklung führen.

Ausgleich zwischen Codequalität und Geschäftsanforderungen

Hochwertiger Code ist zwar wünschenswert, doch ist es nicht immer möglich oder praktisch, Perfektion zu erreichen. Die Entwickler müssen den Bedarf an qualitativ hochwertigem Code mit den geschäftlichen Anforderungen des Unternehmens in Einklang bringen. Dies kann bedeuten, dass sie Kompromisse zwischen Codequalität, Entwicklungszeit und Ressourcenzuweisung eingehen müssen. Manchmal sind Geschwindigkeit und Agilität wichtiger als Codequalität, insbesondere in schnelllebigen Umgebungen oder bei dringenden Geschäftsanforderungen. Das Abwägen dieser Faktoren kann eine heikle Aufgabe sein, die sorgfältige Überlegungen und ein differenziertes Verständnis der Ziele und Prioritäten des Unternehmens erfordert

Skalierungstest

Obwohl sich in den letzten Jahren automatisierte Tests immer mehr durchgesetzt haben, kann es immer noch schwierig sein, umfassende Testsuiten zu erstellen, die alle möglichen Szenarien abdecken. Außerdem sind in vielen Fällen immer noch manuelle Tests erforderlich, die zeitaufwändig und fehleranfällig sein können. Unvollständige oder unzureichende Tests können zu Qualitätsproblemen führen, z. B. zu Fehlern und Leistungsproblemen, die möglicherweise erst nach der Bereitstellung des Codes sichtbar werden.

Führen einer Dokumentation

Die Dokumentation wird zwar oft übersehen, ist aber ein wesentlicher Bestandteil der Pflege von qualitativ hochwertigem Code. Die Dokumentation bietet Kontext und Anleitung für Entwickler, die in Zukunft an der Codebasis arbeiten werden. Die Erstellung und Pflege der Dokumentation kann jedoch zeitaufwändig sein, insbesondere bei sich schnell entwickelnden Systemen.

Technische Verschuldung

Technische Schulden sind eine weitere Herausforderung, die sich auf die Codequalität auswirken kann. Unter technischen Schulden versteht man die Anhäufung von Abkürzungen und Kompromissen, die während der Entwicklung eingegangen werden und die sich auf die Qualität und Wartbarkeit der Codebasis auswirken können. Technische Schulden können aufgrund von Zeitmangel, veränderten Anforderungen oder anderen Faktoren entstehen. Je mehr technische Schulden sich ansammeln, desto schwieriger kann es werden, die Codequalität aufrechtzuerhalten, und desto mehr werden zukünftige Entwicklungsbemühungen gebremst.

Mit neuen Technologien und bewährten Praktiken auf dem Laufenden bleiben

Da sich die Softwareentwicklung rasant weiterentwickelt, kann es eine Herausforderung sein, mit den neuesten technologischen Entwicklungen und bewährten Verfahren Schritt zu halten. Um auf dem neuesten Stand zu bleiben, sind ständiges Lernen und Experimentieren erforderlich, was zeitaufwändig sein kann und erhebliche Anstrengungen erfordert. Außerdem muss das Unternehmen dafür ein bestimmtes Budget bereitstellen, und wenn Führungskräfte nach Einsparungsmöglichkeiten suchen, stehen sie in der Regel schnell auf der Streichliste. Bleibt man jedoch nicht auf dem neuesten Stand, kann dies zu Qualitätsproblemen und verpassten Chancen für Verbesserungen führen.

Was ist kontinuierliches Testen?

Kontinuierliches Testen ist eine Methode der Softwareentwicklung, bei der der Code kontinuierlich überwacht und analysiert wird, um Probleme zu erkennen und zu beheben, sobald sie auftreten, anstatt bis zum Ende des Entwicklungszyklus zu warten.

Ziel des kontinuierlichen Testens ist es, sicherzustellen, dass die Software von hoher Qualität ist und die Anforderungen des Unternehmens erfüllt, und gleichzeitig den Zeit- und Arbeitsaufwand für das Auffinden und Beheben von Fehlern zu reduzieren.

Wie verbessern kontinuierliche Tests die Codequalität?

Wenn Sie in Ihrem Entwicklungsprozess kontinuierliche Tests einführen, verwenden Sie automatisierte Tools, um den Code während des gesamten Entwicklungsprozesses kontinuierlich zu analysieren. Diese Tools können eine Vielzahl von Problemen aufspüren, darunter Verstöße gegen Codierungsstandards, Sicherheitsschwachstellen, Leistungsengpässe und andere Probleme, die sich auf die Codequalität auswirken können.

Auf diese Weise können Unternehmen Probleme früher im Entwicklungszyklus erkennen und beheben, was das Risiko von Fehlern verringert und die Codequalität verbessert. Kontinuierliche Tests können auch dazu beitragen, die Wartbarkeit, Skalierbarkeit und Sicherheit des Codes zu gewährleisten, und sie können Unternehmen dabei helfen, ihre gesetzlichen Vorschriften und Compliance-Anforderungen zu erfüllen.

Kontinuierliche Tests werden häufig in Verbindung mit anderen Entwicklungsmethoden wie kontinuierlicher Integration und kontinuierlicher Bereitstellung eingesetzt. Durch die Integration dieser Methoden in einen einheitlichen Arbeitsablauf können Unternehmen sicherstellen, dass ihre Software von hoher Qualität ist und schnell und effizient bereitgestellt wird.

Wie man Codequalität misst

Die besten Verfahren zur Messung der Codequalität sind eher proaktiv als reaktiv und kontinuierlich. Werfen wir einen Blick auf die verschiedenen Methoden zur Messung der Codequalität und die Vor- und Nachteile der einzelnen Ansätze.

Code-Bewertungen

Code-Reviews sind ein manueller Ansatz zur Messung der Codequalität, bei dem ein oder mehrere Entwickler den Code auf die Einhaltung von Codierungsstandards, Leistung, Lesbarkeit, Wartbarkeit und andere Faktoren prüfen. Code-Reviews können zeitaufwändig sein, aber sie bieten einen umfassenden Überblick über die Codebasis und können wertvolle Einblicke in die Qualität des Codes liefern.

Automatisierte Code-Analyse

Automatisierte Code-Analyse-Tools sind darauf ausgelegt, potenzielle Probleme im Code zu erkennen, indem sie dessen Struktur, Syntax und andere Merkmale analysieren. Diese Tools können Probleme wie Verstöße gegen Codierungsstandards, Sicherheitsschwachstellen und Leistungsengpässe erkennen. Automatisierte Code-Analyse-Tools sind schnell und effizient, aber sie sind unter Umständen weniger genau als manuelle Code-Prüfungen und können falsch positive Ergebnisse liefern.

Code-Abdeckung

Die Codeabdeckung misst den Prozentsatz des Codes, der von den Tests ausgeführt wird. Diese Metrik ist nützlich, um Bereiche der Codebasis zu identifizieren, die nicht ausreichend durch Tests abgedeckt sind, und um Fehler und Defekte im Code zu erkennen. Die Codeabdeckung ist ein quantitativer Ansatz zur Messung der Codequalität, aber sie ist kein umfassendes Maß für die Codequalität und sollte in Verbindung mit anderen Metriken verwendet werden.

Technische Verschuldung

Technische Schuld ist ein metaphorischer Begriff, der die Anhäufung von Abkürzungen und Kompromissen während der Entwicklung beschreibt, die sich auf die Qualität und Wartbarkeit der Codebasis auswirken können. Bei der Messung der technischen Schulden geht es darum, die während der Entwicklung eingegangenen Kompromisse und ihre Auswirkungen auf die Codebasis zu ermitteln und zu quantifizieren. Technische Schulden können mit Tools wie SonarQube oder CodeClimate gemessen werden.

Zyklomatische Komplexität

Die zyklomatische Komplexität ist eine Metrik, die die Komplexität von Code misst, indem sie die Anzahl der unabhängigen Pfade durch den Code zählt. Mit Hilfe dieser Metrik können Bereiche der Codebasis identifiziert werden, die übermäßig komplex sind und möglicherweise schwer zu warten oder zu ändern sind. Die zyklomatische Komplexität kann mit Tools wie McCabe IQ oder SonarQube gemessen werden.

Fazit

Kontinuierliche Verbesserung bedeutet, dass Sie Qualitätsprobleme nicht erst dann beheben, wenn sie in Berichten auftauchen, sondern sie proaktiv angehen und sich verpflichten, sie zu erkennen und zu beheben, sobald sie auftreten. Abgesehen von Qualitäts-Plugins, die mit automatisierten Builds verwendet werden, helfen IDE-Plugins und CI-Plugins sehr dabei, das ganzheitliche Ziel von sauberem Code zu erreichen.

Wenn Sie sich dazu verpflichten, Ihre Testverfahren kontinuierlich zu überprüfen und zu verbessern, können Sie sicherstellen, dass Sie qualitativ hochwertige Software liefern, die den Anforderungen und Erwartungen der Benutzer entspricht und Ihr Unternehmen im Laufe der Zeit nachhaltiger macht. Im Folgenden finden Sie einige Tipps für die Implementierung kontinuierlicher Tests in Ihrem Unternehmen:

  1. Machen Sie das Testen zu einem gemeinschaftlichen Unterfangen: Beziehen Sie Ihr gesamtes Entwicklungsteam, einschließlich Entwickler, Tester und Qualitätssicherungsexperten, in den Testprozess ein. So können Sie sicherstellen, dass alle auf das gleiche Ziel hinarbeiten, und die Gesamtqualität Ihrer Software verbessern.
  2. Automatisieren Sie so viel wie möglich: Die Automatisierung ist ein wesentlicher Bestandteil des kontinuierlichen Testens, da sie es Ihnen ermöglicht, Tests schnell und effizient auszuführen. Investieren Sie in automatisierte Testwerkzeuge und Frameworks und stellen Sie sicher, dass Ihre Tests leicht wiederholbar und skalierbar sind.
  3. Verwenden Sie Metriken, um den Fortschritt zu messen: Definieren Sie Metriken, mit denen Sie den Fortschritt verfolgen und die Effektivität Ihres Testprozesses messen können. So können Sie beispielsweise die Anzahl der gefundenen Fehler, die für die Fehlerbehebung benötigte Zeit oder den Prozentsatz der erreichten Codeabdeckung verfolgen.
  4. Bewerten und verbessern Sie Ihren Testprozess fortlaufend: Verfolgen Sie beim Testen einen Ansatz der kontinuierlichen Verbesserung und bewerten Sie Ihren Testprozess regelmäßig. Suchen Sie nach Bereichen, in denen Sie sich verbessern können, und führen Sie Änderungen ein, die Ihnen helfen, effektiver und effizienter zu testen.
  5. Fördern Sie eine Kultur der Qualität: Qualität sollte ein zentraler Wert Ihres Entwicklungsteams sein. Fördern Sie eine Qualitätskultur, indem Sie hohe Standards und Erwartungen an Ihr Team stellen und indem Sie Qualitätsarbeit anerkennen und belohnen.
  6. Bleiben Sie bei Branchentrends auf dem Laufenden: Die Softwareentwicklungsbranche entwickelt sich ständig weiter, und es ist wichtig, dass Sie über die neuesten Trends und Technologien auf dem Laufenden bleiben. Besuchen Sie Konferenzen, lesen Sie Fachpublikationen und tauschen Sie sich mit anderen Fachleuten aus, um auf dem Laufenden zu bleiben und neue Techniken und Strategien zu erlernen.
  • URL copied!