Integration von Künstlicher Intelligenz ins Requirements Engineering: Ein Praxisbeispiel mit ChatGPT

Teil 2 der Blog-Serie

Integration von KI ins Requirements Engineering: Ein Praxisbeispiel mit ChatGPT

Herzlich willkommen zum zweiten Teil unserer Blogserie über die Integration von Künstlicher Intelligenz (KI) ins Requirements Engineering! Im ersten Teil unserer Serie lag der Fokus auf der Identifikation relevanter Abschnitte der Datenschutz-Grundverordnung (DSGVO) zur Ableitung von Systemanforderungen. Dabei haben wir mithilfe von KI, genauer gesagt ChatGPT 4, den Einsatz im Kontext der Entwicklung eines Multimediasystems für PKWs untersucht. Jetzt gehen wir einen weiteren Schritt, indem wir die Ergebnisse des ersten Teils vertiefen und weiterverarbeiten.

Ein kurzer Rückblick auf Teil 1 der Blogserie

Weiterlesen

“Alles unter vier Releases im Jahr ist Wasserfall“ – Releaseplanung im agilen Systems Engineering

„Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.” ist eines der zwölf Prinzipien des agilen Manifests für Softwareentwicklung. Man könnte also je nach Auslegung dessen, was „couple of months“ bedeutet, ableiten, dass alles unter einer gewissen Anzahl von Releases pro Jahr keine agile Entwicklung mehr ist. Das mag vielleicht ein Indikator sein, Sie sollten sich jedoch auch bewusst machen, ob in Ihrem konkreten Kontext überhaupt die Notwendigkeit, Möglichkeit und Sinnhaftigkeit für eine solche Releasefrequenz besteht. Die Frage nach der Zweckmäßigkeit haben wir bereits im ersten Beitrag unserer Serie adressiert und im letzten Beitrag sowie in einem Fachartikel sind wir auf eine in vielen Bereichen essenzielle Voraussetzung für Releases eingegangen, die Dokumentation – oder genauer gesagt einen Ansatz („Continuous Documentation“), um diese aktuell und in einem releasefähigen Zustand zu halten. In diesem Beitrag möchten wir nun auf die aus unserer Erfahrung heraus wichtigsten Punkte eingehen, die bei der Releaseplanung im Rahmen einer Produktentwicklung zu berücksichtigen sind.

Weiterlesen

Keine Continuous Delivery ohne Continuous Documentation! – agiles Systems Engineering im regulierten Umfeld

Kurze Releasezyklen oder Releases-on-Demand? Der Usus in der technischen Entwicklung (Systems Engineering) geht eher in Richtung ein oder maximal zwei Releases pro Jahr. Ein häufiger Grund dafür, den wir in unseren Kundenprojekten beobachten, ist, dass die Dokumentation nicht auf dem aktuellen Stand ist und damit – zumindest in Bereichen, in denen die Dokumentation regulatorisch für ein Release erforderlich ist – kein Release stattfinden kann. Den ersten wichtigen Schritt, um dem entgegenzuwirken haben wir bereits im letzten Blogbeitrag unserer Serie zum agilen Systems Engineering beschrieben. Nämlich die systemische, gesamtheitliche Betrachtung dessen, was dazu erforderlich ist, um das Produkt auf den Markt zu bringen, z.B. eben die Dokumentation. Ein konkreter Ansatz, dem das Verständnis der Dokumentation als Teil des Produktes zu Grunde liegt, ist Continuous Documentation. Das Ziel: Die Dokumentation zu jedem Zeitpunkt der Entwicklung in einem potenziell releasebaren Stand zu halten, um dadurch den Gedanken des auslieferbaren Inkrements der agilen Softwareentwicklung auch im technischen Umfeld zu erfüllen.

Weiterlesen

Den Blick für das Wesentliche wahren – wertschöpfende Tätigkeiten im agilen Systems Engineering

„Was ist der Betrachtungsgegenstand in der Entwicklung?“ – eine Frage, die wir unseren Kunden immer wieder stellen und die überraschend häufig zu längeren Diskussionen zwischen den an der Entwicklung beteiligten Personen führt. Warum ist diese Frage im Kontext der Entwicklung von Systemen so wichtig? Ganz einfach! Wenn Sie nicht wissen, was das Ergebnis Ihrer Systementwicklung sein soll, fällt es Ihnen schwer, die für dessen Erzeugung notwendigen Tätigkeiten festzulegen und mit dem erforderlichen Aufwand durchzuführen.

Weiterlesen

Agiles Systems Engineering – Spagat zwischen Problemlöser und Selbstzweck

„Entwickeln Sie Ihre technischen Systeme auch schon agil?“ – In den vergangenen 2-3 Jahren beobachten wir als SOPHISTen bei unseren Kunden einen Trend, dass Züge der agilen Softwareentwicklung Einzug in die Entwicklung von technischen Systemen (Systems Engineering) halten. Die Werte und Prinzipien des Manifests für agile Softwareentwicklung sind, sofern man den Begriff „Software“ durch „System“ ersetzt, grundsätzlich unabhängig von der Art des zu entwickelnden Systems. Aber was macht Systems Engineering agil? Oder anders formuliert: Was bedeutet agiles Systems Engineering? Da die Literatur bisher keine Definition oder eine Bedeutung liefert, haben wir als SOPHIST uns eine eigene Interpretation überlegt:

Weiterlesen