Blog für Herrmann & Ehrlich. In diesem Blog geht es um die Arbeitsprozesse im Software Engineering, insbesondere um Requirements Engineering, Kreativität, Projekt- und Zeitmanagement und diverse weitere relevante Themen. Autorin: Andrea Herrmann
Heute hielt ich einen Vortrag mit dem Titel "Vision: Redefining the Role of the Software Engineer in the Age of Artificial Intelligence" auf den Software Quality Days (online). Morgen und übermorgen finden sie in Präsenz in München statt.
Der rote Faden meines Vortrags lautete: KI wie z.B. chatGPT ist so gut, dass sie tatsächlich Software Engineering Methoden auf konkrete Beispiele sinnvoll anwenden kann. Der Traum, dass unsere Arbeit automatisiert werden kann und wir dadurch effizienter werden, ist schon uralt. Bisher konnten aber nur physische und Routine-Aufgaben automatisiert werden, beispielsweise durch modellbasierte Entwicklung. Nun eben auch intelligente, kreative, komplexe. Ich stellte auch den Software Engineering Prozess mit KI vor, den wir im Arbeitskreis LehRE entwickelt hatten. Von acht Software Engineering Tätigkeiten blieb eigentlich keine übrig, die nur der Mensch ausführen kann. Ich stellte eine RACIQ-Matrix für die Software Engineering Aufgaben und deren Verantwortlichkeiten im Entwicklungsprozess ohne und mit KI auf. (Buchstabe Q steht für Qualitätssicherung.) Veränderungen habe ich farbig markiert, so dass klar wurde, dass die Experten wie Requirements Engineer, Architekt, Entwickler und Tester zum Qualitätssichererer der Ergebnisse der KI werden. Ich verglich die Entwicklung mit der bei den Übersetzern. Software Engineers werden KI-Tools benutzen, dadurch effizienter arbeiten und ihre Aufgaben werden unterschiedlich viel Zeit brauchen: weniger schreiben, mehr lesen. Es werden zusätzliche Skills gebraucht, insbesondere KI-Kenntnisse. Und zu guter Letzt stellte ich ein grobes vierstufiges Trainingskonzept vor, wie man Software Engineers zukünftig ausbilden sollte. Offensichtlich fand der Vortrag viel Interesse, denn es wurden sehr viele Fragen gestellt. Beispielsweise ob man als Berufsanfänger nun überhaupt noch einen Job finden kann. Möglicherweise werden manche Manager jetzt schon davon träumen, dass morgen die Mitarbeiter/innen doppelt so produktiv sind, und erstmal niemanden neu einstellen. Ich denke aber, dass die Entwicklung langsam voran gehen wird und es immer in jedem Unternehmen einfache Aufgaben für Anfänger gibt und ein Einarbeitungskonzept, bei dem man mit einem erfahrenen Kollegen mitläuft und von ihm lernt, was er macht. Da die erfahrenen Kollegen aber mit KI auch noch nicht so viel Erfahrung haben, bietet das sogar Chancen für die Neulinge. Die setzt man ja gerne an Aufgaben, in die jeder sich erst einarbeiten müsste.
Am Vormittag war ich im Track A über KI und People Skills. Den Vortrag von Simonetta Batteiger "AI products and the ethical considerations around testing them" fand ich inhaltlich sehr schön, aber halt weniger konkret als meine eigenen Vorträge zu diesem Thema. Es ging um Usability, Ethik und KI. Das Ziel der Softwareentwicklung muss es sein, die Welt schöner und besser zu machen. Ob mit oder ohne KI. Wichtig ist es, KI ethisch einzusetzen.
Um Ästhetik ging es auch in Avraham Poupkos Vortrag "Tomorrow I cease to be a puppet". Den Einstieg bildete die Geschichte von Pinocchio, der, seitdem er seine ersten Worte sprechen konnte, davon träumte, ein richtiger Junge zu werden. Doch dafür ist mehr nötig als sprechen zu können. Dasselbe gilt für KI. Exzellenz in der Softwareentwicklung und überall ist kein Zufall, sondern das Ergebnis von klugen Entscheidungen, Ästhetik, Gesamtkonzeption. Wichtig ist die Integrität des Produkts und des Handelnden. Eine integre Software-Architektur wirkt wie eine Kathedrale: stimmig, schön, beruhigend. Jeder Software-Architekt hat eine individuelle Persönlichkeit, die KI dagegen nicht. Also kann sie vermutlich auch keine Kathedralen erschaffen?
Petteri Kivimäki erklärte uns in "Journeying through Data Spaces - New Path to Interoperability?" wie Data Spaces funktionieren und welche Maßnahmen getroffen werden für Datensicherheit, Datenschutz und Vertrauensbildung.
Am Nachmittag war ich im Quality-Track.
Moritz Salein präsentierte in "Statische Codeanalyse und Softwaretest: Beißen sich hier zwei Welten?" die Möglichkeiten, die Sonarcube für die Codeanalyse bietet.
Julius Mischok stellte in "Teste deine Tests! - Mutation Testing mit PIT" das Konzept des Mutation Testing vor. Dabei werden gezielt Fehler in das zu testende Programm eingefügt, um zu prüfen, ob die Testfälle korrekt darauf reagieren.
Aus den Untiefen der Enterprise System Integration berichtete Maik Wojcieszak in "Die Evolution der Digitalisierung - Qualitätsmerkmale für umfassende und lückenlose Systemintegration". Es ging um Governance, Integrationsmuster, Abstraktion an den Schnittstellen und API-Antipatterns. Ein schönes Beispiel für die Abstraktion an einer Schnittstelle war die Kaffeemaschine. Als Kaffeetrinker möchte man nicht wissen, was innerhalb der Maschine passiert. Man möchte nur, dass auf Knopfdruck ein gutes Getränk herauskommt. Genau darum geht es bei der Integration von IT-Komponenten.