-
-
-
-
URL copied!
Die Entwicklung neuer Software ist eine schwierige und komplexe Angelegenheit. Um die Vorhersehbarkeit und Steuerbarkeit von IT-Projekten zu verbessern, haben wir als Community eine Reihe von Standards und Prozessen entwickelt und implementiert. Allerdings können wir diesen Bereich noch nicht mit Fertigungsprozessen vergleichen. In der Produktion kommt nach dem Design des Produktproduktionsprozesses die Verifizierungs- und Debugging-Phase, sodass wir nach mehreren Iterationen einen relativ effizienten und stabilen Prozess sehen können, bei dem am Ende der Linie ein Produkt in regelmäßigen Abständen mit einem Minimum von Abfall und unfertige Produkte - sei es ein Handy oder aber auch ein Auto.
Andererseits können wir bei der Softwareentwicklung jede Anfrage als neues Produkt betrachten, das schließlich integriert in das Ganze das Endprodukt bildet. Jede Anfrage ist einzigartig und ihre Variabilität ist enorm. Daher wird das zum Debuggen einer physischen Produktproduktionslinie verwendete Verfahren nicht funktionieren. Aber es gibt mehrere Ansätze, wie wir versuchen, dieses Problem zu lösen. Solange die Software nicht kritisch ist und somit keine Gefahr besteht, dass ihre Unvollkommenheit die Gesundheit von Menschen gefährdet oder große finanzielle Schäden verursacht, setzen wir sogenannte agile Prozesse ein. Durch die Implementierung dieser Prozesse können wir in relativ kurzer Zeit stabile Software genau nach den Anforderungen in der vorgegebenen Zeit und zu den geschätzten Kosten erstellen.
Kritische Softwareentwicklung und agiler Ansatz
Was aber, wenn es sich um kritische Software handelt, die extremen Anforderungen an Zuverlässigkeit (z. B. 99,95 % Verfügbarkeit während der Produktlebensdauer), Sicherheit oder Performance unterliegt? Einige Bereiche können sich Softwarefehler nicht leisten, da sie zu Verletzungen, Tod oder umfangreichen Schäden führen können. Das sind zum Beispiel Automotive, Medizin, Industrie und andere.
Die Anforderungen an die Softwareentwicklung für diese Anwendungen erfordern einen ganzheitlichen Ansatz, der durch das sogenannte V-Modell definiert wird. Dieses Modell erfordert zunächst die Definition von Systemanforderungen, Systemarchitektur, Softwareanforderungen und Design. Erst dann geht es an die Umsetzung selbst, die anschließend auf verschiedenen Ebenen getestet wird.
Feige. 1: V-Modell
In diesem Fall empfiehlt uns ein intuitiver Ansatz, zunächst Zeit für die Analyse aller Anforderungen aufzuwenden und basierend auf dieser Analyse Systemanforderungen vorzuschlagen. Diese Anforderungen werden anschließend in einer Reihe von Reviews überprüft und ausgeschmückt und anschließend dem Design der Systemarchitektur gewidmet. Viele von Ihnen kennen diesen Ansatz unter dem Namen Wasserfallsystem. Wir wissen bereits aus Erfahrung, dass dieses System nicht die notwendigen Ergebnisse bringt.
Also, was sind die Optionen? In unserem Projekt haben wir dieses Problem gelöst, indem wir einen agilen Ansatz angepasst haben . Allerdings ist das kein ScrumBut, wenn statt eines funktionierenden agilen Systems viele Kompromisse implementiert werden, die das ursprünglich gut konzipierte und komponierte Regelwerk letztlich zunichte machen. Mit einem maßgeschneiderten agilen Vorgehen haben wir das gesamte Projektteam in den sogenannten System- und Softwareteil aufgeteilt .
Das Systemteam besteht aus einer Gruppe von Analysten und einem Product Owner, der sie zusammenbringt und ihre Aktivitäten synchronisiert. Andererseits besteht das Softwareteam aus mehreren unabhängigen, sogenannten komponenten- und funktionsübergreifende Feature-Teams. Das bedeutet, dass jedes Implementierungsteam die erforderlichen Rollen hat, um die gesamte Bandbreite an Artefakten zu erstellen, die vom Entwicklungsstandard gefordert werden. Dazu gehören ein Requirements Engineer, ein Softwarearchitekt, ein Entwickler, ein Tester und nicht zuletzt ein Scrum Master, der in diesem Team den Entwicklungsprozess verantwortet.
Das Systemteam arbeitet dann in sechswöchigen Iterationen, in denen Analysten Anforderungen analysieren und klären. Anschließend trifft das Software-Team ein, das in drei zweiwöchigen Iterationen die vorgegebenen Systemanforderungen umsetzt. Während der Implementierung arbeitet das Systemteam an den Anforderungen für die nächsten 3 zweiwöchigen Iterationen. Auf diese Weise arbeiten beide Teams ohne Ausfallzeiten parallel.
Feige. 2: Know-how-Transfer zwischen System- und Softwareteam
Wie ist der Know-how-Transfer zu begreifen?
Es sieht einfach aus, aber der typischerweise problematische Vorgang des Know-how-Transfers zwischen diesen beiden Gruppen ist einem erfahrenen Leser sicherlich nicht entgangen . Um die klassischen Wehwehchen des Know-how-Transfers zu vermeiden, haben wir ein Maßnahmenpaket vorgeschlagen , das uns hilft, diese Kernaufgabe mit möglichst geringem Informations- und Zeitverlust durchzuführen:
- Eine Reihe von Workshops von Analysten für Implementierungsteams. Hier stellt jeder Analyst vor, welche Veränderungen in dem von ihm betreuten Bereich geplant sind. Der Workshop ist eine energieintensive und teure Aktivität, da fast das gesamte Team daran teilnimmt, daher sind Zeitmanagement und ehrliche Vorbereitung entscheidende Erfolgsfaktoren.
- Analyse der Systemanforderungen durch Softwarearchitekten , die Teil von Implementierungsteams sind; Dies ist eine Offline-Aktivität, bei der Architekten in Workshops die Systemanforderungen durchgehen, sie verstehen und ein Lösungskonzept vorschlagen müssen. Dieses Konzept wird in Form von Softwaretickets nach Priorität sortiert im Product Backlog festgehalten.
- WAS Planung , wo die Funktionalität in ein, zwei Sätzen nochmal vorgestellt wird. Das Team hat die Möglichkeit, Fragen zu stellen und der Analyst und der Softwarearchitekt antworten. Wie der Name des Treffens schon sagt, steht die Frage nach dem WAS im Vordergrund, aber auch kurze Reflexionen zu WIE-Fragen sind zulässig.
- Die WIE-Planung ist bereits ein internes Team-Event. Ziel ist es, eine detaillierte Lösung vorzuschlagen und einen Plan zu erstellen, wer sich um welche Funktionalität kümmert.
Die Erfahrungen aus dem laufenden Projekt zeigen, dass eine solche Synchronisierung trotz einiger Zeitaufwendigkeit in Form eines reibungslosen Ablaufs und einer guten Vorhersehbarkeit des Tempos, in dem wir als Team arbeiten können, Früchte trägt.
Kontaktieren Sie uns um mehr zu erfahren.
Top Insights
Top Authors
Blog Categories
Auf gute Zusammenarbeit!
Ähnliche Themen
GenAI und mein Familientreffen
Bei den Geschäftssitzungen im letzten Jahr habe ich ein kleines Spiel mit mir selbst entwickelt: Wie lange dauert es wohl, bis das Thema GenAI zur Sprache kommt - unabhängig von der geplanten Tagesordnung? Meistens dauert es nicht lange. Ich glaube, der Rekord für die längste Zeit bis zur ersten Erwähnung am Arbeitsplatz lag kürzlich bei … Continue reading Sichere Software durch agile Entwicklung →
Mehr erfahren
Über Autos, die man noch nicht einmal in der Werbung sieht – Ein Blick auf die Arbeit der Innovatoren bei GlobalLogic
Die Arbeit in der Automobilindustrie, insbesondere wenn es um die Entwicklung von Innovationen geht, die die Hersteller ständig vorantreiben, um auf Trends und Erwartungen der Autofahrer zu reagieren, kann äußerst spannend sein. Es gibt kaum ein besseres Gefühl, als in ein neues Auto einzusteigen und eine Lösung zu entdecken, die man selbst entwickelt hat. Ein … Continue reading Sichere Software durch agile Entwicklung →
Mehr erfahren
Wie bauen Sie Ihre Interdisziplinarität auf? – 7 Tipps für IT-Spezialisten
Die Zukunft gehört denen, die sich nicht in Schubladen stecken lassen. Interdisziplinarität - unser Schlüsselwort - ist die Fähigkeit, Wissen und Fähigkeiten aus verschiedenen Bereichen zu kombinieren, um Herausforderungen und Probleme besser zu verstehen und effizienter zu lösen. Ein IT-Spezialist, der diese Fähigkeit besitzt, profitiert von zahlreichen Vorteilen - von einer größeren beruflichen Flexibilität und … Continue reading Sichere Software durch agile Entwicklung →
Mehr erfahren
Der Einzelhandel als Verschwörungstheorie
Ich war einer der ersten Käufer der ersten Version des Apple Vision Pro AR-Headsets Anfang des Jahres. Ich bin um 5 Uhr morgens aufgestanden, um eine Online-Bestellung aufzugeben, als das Gerät zum ersten Mal zur Vorbestellung verfügbar war. Dann habe ich einen Termin in meinem örtlichen Apple Store vereinbart, um es so früh wie möglich … Continue reading Sichere Software durch agile Entwicklung →
Mehr erfahren
Beim „Hype Cycle“ geht es um den Hype, nicht um die Technologie
Der Hype Cycle hat wenig mit den Vorzügen einer bestimmten Technologie zu tun. Er hat einfach mit dem Ausmaß der Werbung zu tun, die die Technologie erhalten hat. Vor allem, wenn die Publicity das übersteigt, was die Technologie unmittelbar leisten kann, wird die Technologie schnell als "überbewertet" bezeichnet. Das ist nicht die "Schuld" der Technologie, … Continue reading Sichere Software durch agile Entwicklung →
Mehr erfahren
Fünf Trends und Erkenntnisse aus Google Cloud Next
Führungskräfte, Entscheidungsträger, technische Experten und Google Cloud-Partner trafen sich auf der Google Cloud Next, um sich über aktuelle Innovationen und Branchentrends zu informieren. GlobalLogic war dabei, sprach über Modernisierungsstrategien und hielt einen Cube-Vortrag über die intelligente Entwicklung der nächsten GenAI-Plattform, die wir für Hitachi entwickeln. Auf der GCN 2024 standen die Nutzung von GenAI für … Continue reading Sichere Software durch agile Entwicklung →
Mehr erfahren
GenAI und das Treffen der Geister
Bei einer kürzlich stattgefundenen Hitachi-Energy-Konferenz habe ich eine sehr interessante Präsentation von nVidia, einem Partner von Hitachi, gesehen. nVidia, ein fabless-Halbleiterunternehmen, dessen GPUs treibende Kräfte der GenAI-Revolution sind, wurde von dem Redner nicht als GPU-Unternehmen, sondern als „Simulationsunternehmen“ beschrieben. Der Redner erklärte, dass nVidia eine Reihe von Simulationstechnologien unterstützt, die von „physikbasiert“ bis „datenbasiert“ reichen. … Continue reading Sichere Software durch agile Entwicklung →
Mehr erfahren
GenAI als eine befähigende Technologie: Sich selbst befördern und einen Mitarbeiter gewinnen
Wir sind uns alle darin einig, dass es sich lohnt, eine Beförderung zu erhalten. Ein höheres Gehalt, einen besseren Jobtitel, höheren Einfluss und möglicherweise auch ein höheres Prestige. Das ist jedoch nicht problemlos. Wie viele Ingenieure fing ich an, einen Code zu verfassen. Mir gelang es, und die Nachfrage der Kunden nach meinen Dienstleistungen nahm … Continue reading Sichere Software durch agile Entwicklung →
Mehr erfahren
Share this page:
-
-
-
-
URL copied!