Künstliche Intelligenz
Warum Softwareentwicklung oft wie ein Escape Room ist
Ich habe vor kurzem eine Analogie gehört, die auf den ersten Blick ungewöhnlich wirkt, sich bei näherem Nachdenken jedoch als erstaunlich treffend erweist:
„Softwareentwicklung ist wie ein Escape Room.“
Golo Roden ist Gründer und CTO von the native web GmbH. Er beschäftigt sich mit der Konzeption und Entwicklung von Web- und Cloud-Anwendungen sowie -APIs, mit einem Schwerpunkt auf Event-getriebenen und Service-basierten verteilten Architekturen. Sein Leitsatz lautet, dass Softwareentwicklung kein Selbstzweck ist, sondern immer einer zugrundeliegenden Fachlichkeit folgen muss.
Je länger ich über dieses Bild nachgedacht habe, desto passender erschien es mir. Und weil ich diesen Vergleich für ausgesprochen gelungen halte, widme ich ihm heute diesen Beitrag. An dieser Stelle übrigens ein herzliches Dankeschön an Jörg für diese großartige Analogie.
Willkommen im Escape Room!
Stellen Sie sich also vor, Softwareentwicklung wäre wie ein Escape Room. Nur eben – ein bisschen anders. Oder genauer gesagt: ganz erheblich anders. Denn in diesem Escape Room hat ihn zuvor niemand für Sie getestet. Es hat Ihnen niemand gesagt, wie viele Räume es überhaupt gibt. Es existiert kein Spielleiter, der Ihnen Tipps gibt. Und es gibt nicht einmal die Garantie, dass überhaupt irgendwo ein Ausgang vorhanden ist. Das Beste daran: Während Sie sich darin befinden, zahlt jemand, der draußen wartet – und zwar auf Stundenbasis.
Empfohlener redaktioneller Inhalt
Mit Ihrer Zustimmung wird hier ein externes YouTube-Video (Google Ireland Limited) geladen.
Softwareentwicklung ist ein Escape-Room // deutsch
Das Ziel ist natürlich klar: Sie wollen einen Weg nach draußen finden. Im übertragenen Sinne heißt das: Sie möchten, dass die Anwendung live geht, dass das Feature deployed wird, dass die CI/CD-Pipeline grün ist und die Kundin oder der Kunde zufrieden. Nur: Wie genau Sie dorthin gelangen, weiß zu Beginn niemand.
In einem Escape Room erhalten Sie immerhin ein kurzes Briefing, etwa:
„Sie haben 60 Minuten Zeit, hier ist Ihre Geschichte, viel Erfolg!“
Am Ende, egal ob Sie es geschafft haben oder nicht, öffnet jemand die Tür und sagt:
„Immerhin, Sie haben es versucht und ein paar Schlösser geknackt.“
In der Softwareentwicklung läuft das etwas anders:
„Wir benötigen dieses Feature so schnell wie möglich, am besten gestern.“
Wenn Sie dann nachfragen, was das Feature denn genau leisten soll und worum im Detail es gehe, kommt häufig eine Antwort wie:
„Ach, das ist nicht viel, nur ein paar Buttons.“
Das klingt harmlos – bis Sie die Aufgabe genauer betrachten und feststellen, dass dort im Grunde steht:
„Bitte entwickeln Sie uns kurzfristig ein Flugzeug. Nur eben ohne Tragflächen, die können wir später ergänzen. Aber fliegen sollte es schon jetzt.“
Was Sie hinter der Tür erwartet
Dann betreten Sie also Ihren Escape Room. Sie öffnen die erste Tür, stoßen auf das erste Rätsel – zum Beispiel: Welche Schnittstellen benötigen wir? Liefern diese tatsächlich die Daten, die laut Confluence dokumentiert sind? Oder kommt am Ende lediglich ein leeres JSON-Objekt zurück, weil irgendjemand irgendwo ein return
hingeschrieben hat, dabei jedoch den Rückgabewert vergessen hat?
Trotzdem denken Sie sich, dass alles in Ordnung sei und Sie das schon irgendwie hinbekommen werden. Und tatsächlich lösen Sie das erste Rätsel. Sie öffnen die nächste Tür – und stehen plötzlich in einem Raum mit zwölf weiteren Türen, einer Falltür und einem zufällig umherfahrenden Laser, der Ihnen zuerst einmal Ihren gesamten Data-Layer zerschießt.
So geht es weiter. Manchmal lösen Sie ein Problem und sind sicher, es fast geschafft zu haben. Dann öffnen Sie die nächste Tür – und plötzlich bricht die Performance komplett ein. Oder die Security wird zum Problem. Oder Ihre CI/CD-Pipeline stürzt ab. Selbstverständlich nur bei jedem zweiten Durchlauf, mit einer ominösen Meldung wie „exit code 137“, einfach weil Jenkins gerade beschlossen hat:
„Nö, heute mal nicht.“
Vielleicht stellen Sie auch fest, dass das Legacy-System auf der Gegenseite noch auf Java 6 läuft, ausschließlich SOAP spricht und aus unerfindlichen Gründen zufällige Timeouts produziert. (Spoiler: Die Timeouts sind gar nicht zufällig. Das System hasst Sie einfach.)
Typische Probleme
Dann natürlich der Klassiker:
„Also bei mir läuft’s.“
Diesen Satz kennen Entwicklerinnen und Entwickler zur Genüge. Natürlich läuft es bei der Kollegin oder dem Kollegen auf dem Notebook, weil dort die Umgebungsvariable NODE_ENV
auf „chaos“ gesetzt ist und noch fünf Docker-Container von vor drei Jahren laufen, die aber ausschließlich auf diesem einen Rechner jemals funktioniert haben.
Mitunter sieht ein Problem riesig aus, lässt sich dann jedoch in zwei Tagen erledigen, weil irgendeine Library es längst gelöst hat. Manchmal halten Sie es für trivial – und es kostet Sie Wochen, weil Sie plötzlich Merge-Konflikte in Dateien haben, die eigentlich gar nicht mehr existieren (sollten). So nach dem Motto:
„Warum liegt hier eigentlich noch eine package-lock.json von 2018 herum?“
In einem Escape Room hängt immerhin eine Uhr an der Wand. 60 Minuten, dann ist Schluss. In Softwareprojekten hingegen heißt es meist:
„Wir schätzen das auf etwa drei Monate.“
Was, wenn man ehrlich ist, bedeutet:
„Drei Monate plus minus alles.“
Denn Sie wissen schlicht nicht, ob Sie hinter der nächsten Tür ein kleines Zahlenschloss finden oder eine riesige Hydra aus zwanzig Services, die sich gegenseitig aufrufen und natürlich komplett auseinanderfallen, sobald Sie versuchen, auch nur einen davon zu aktualisieren.
Spaß mit Stakeholdern …
Dann treten die Stakeholder auf den Plan. Im Escape Room stehen die wenigstens nicht mit Ihnen im Raum. In Softwareprojekten schon. Oder sie kommen alle fünf Minuten herein und fragen:
„Könnt ihr kurz zeigen, wie weit ihr schon seid?“
Und das, während Sie gerade herauszufinden versuchen, warum Ihr Deployment plötzlich alle Assets verschluckt und der Health-Check Ihrer API neuerdings nur noch den HTTP-Status-Code 418
zurückliefert („I’m a Teapot“). Wie sieht der Fortschritt also aus, den Sie zeigen könnten? Ein komplett rotes Dashboard und ein Entwickler, der seit drei Stunden reglos auf sein Terminal starrt …
… und Anforderungen
Mein persönliches Lieblingsrätsel sind die Anforderungen. Am Anfang heißt es:
„Wir brauchen nur dieses eine Feature.“
Eine Woche später:
„Ach übrigens, könntet ihr das bitte alles Event-basiert umsetzen? Oder doch lieber mit synchronen REST-Calls? Am besten noch mit Dark Mode, Predictive AI und einem Self-Service-Portal, das Forecasts für die nächsten zwölf Monate liefert.“
Klar, warum nicht. Für mich entwickeln sich Requirements oft wie Pokémon: Zuerst ist es nur ein kleiner Button. Dann wird es ein Formular. Und irgendwann mutiert das Ganze zu einem Workflow mit OAuth, Approval-Chain und einem komplexen Dashboard.
„Aber beim Hausbau …“
Wenn man das – vielleicht etwas nüchterner als hier – im geschäftlichen Alltag zu erklären versucht, kommt garantiert jemand und sagt:
„Aber beim Hausbau geht das doch auch.“
Ja, aber wissen Sie was? Beim Hausbau ist auch alles bekannt. Da gibt es einen Plan. Hier stehen die Wände, dort kommen die Fenster hin, fertig. Kein Architekt kommt zwei Monate nach Baubeginn auf die Baustelle und sagt:
„Wir haben uns das noch einmal anders überlegt. Das Dach hätten wir jetzt gern aus Käse.“
In der Softwareentwicklung passiert genau das – und zwar ständig. Entweder, weil die Kundin oder der Kunde merkt, dass eigentlich etwas ganz anderes benötigt wird. Oder weil Sie unterwegs feststellen, dass sich unter dem Fundament noch ein riesiger Sumpf aus Altlasten verbirgt. Oder aus hundert anderen Gründen. Dann sind Sie schon froh, wenn Sie zumindest ein paar stabile Pfosten einziehen können, bevor Ihnen alles absäuft.
Wie geht man damit um? Indem man iterativ arbeitet. Man versucht nicht, den gesamten Escape Room mit allen Rätseln auf einmal zu lösen, sondern nimmt sich ein Rätsel nach dem anderen, Raum für Raum, Tür für Tür. Man testet regelmäßig, schreibt Logs (bevor es knallt), baut Metriken ein, macht Fehler früh sichtbar. Und man hat vor allem keine Angst, einmal das Licht anzuschalten und nachzusehen, was dort wirklich kreucht und fleucht.
Das Team ist entscheidend
Dabei macht das Team einen erheblichen Unterschied. Es ist ein großer Unterschied, ob Sie mit einem eingespielten Team von drei Personen in einem Escape Room stehen, die das schon hundertmal gemacht haben – oder mit einem Haufen planloser und nervöser Menschen, die von nichts eine Ahnung haben. Ein gutes Team erkennt Muster. Ein gutes Team weiß, wo man Tests sofort hinschreibt, statt später hektisch die Coverage zu schönen. Ein gutes Team baut Logging nicht erst dann ein, wenn es bereits brennt. Und es richtet CI/CD nicht fünf Minuten vor Schluss ein, wenn die Kundin oder der Kunde schon danebensteht und fragt, warum auf Staging noch das Feature von letzter Woche läuft.
Aber auch das beste Team kann Ihnen nicht garantieren, dass sich hinter der nächsten Tür nicht ein Monster verbirgt, das sagt:
„Hallo, ich bin Ihr zehn Jahre altes Legacy-CRM. Ich spreche nur EBCDIC und bin fest verdrahtet mit einer Oracle-Version, die offiziell seit 2012 nicht mehr unterstützt wird.“
Wenn Sie auf dieser Datenbank dann einmal ein SELECT
ausführen, erhalten Sie entweder 200.000 Zeilen – oder eben gar nichts. Bei derselben Query, mal so, mal so. Aus Gründen.
Die letzte Tür – geschafft?
Doch irgendwann kommt (hoffentlich) dieser Moment, in dem Sie tatsächlich vor der finalen Tür stehen. Alle Tests sind grün. Die Pipeline läuft. Das Deployment ist sauber. Das fühlt sich ungefähr so an, wie wenn Sie im Escape Room den letzten Schlüssel drehen, die Tür aufspringt und draußen jemand mit einer Konfettikanone auf Sie wartet. Zumindest so lange, bis jemand sagt:
„Könnten wir jetzt noch schnell einen Admin-Bereich einbauen? Am besten bis morgen, das wäre super.“
Das Schöne daran ist: All das gehört irgendwie auch dazu und macht ein Stück weit den Reiz dieses Berufs aus. Softwareentwicklung ist ein Escape Room. Nur größer, chaotischer, unvorhersehbarer. Manchmal extrem nervenaufreibend, manchmal frustrierend, aber immer mit diesem kleinen Kick, wenn Sie ein Rätsel gelöst haben. Wenn Sie eine Tür öffnen und dahinter nicht noch ein Drache wartet, sondern tatsächlich der Ausgang. Dann können Sie hinausgehen, sich kurz schütteln und voller Stolz sagen, dass Sie es geschafft haben. Zumindest bis jemand von hinten ruft:
„Übrigens, wir hätten da noch ein neues Projekt. Dieses Mal mit Machine Learning, IoT und Blockchain. Das sollte jetzt aber schnell gehen, oder?“
(rme)
Künstliche Intelligenz
Notizen-App: Mehr Funktionen, erstmals auf der Apple Watch
Apple gönnt zwei seiner populärsten Apps eine Reihe interessanter Neuerungen: Notizen (Notes) und Erinnerungen (Reminders). Das geht aus den Entwickler-Vorabversionen (aktuell: Beta 3) von macOS 26, iOS 26 und watchOS 26 hervor. Dazu gehört auch, dass eine der Apps überraschend auf einer neuen Plattform landet.
Telefongespräche und Markdown
Notizen- und Erinnerungen-App sind eigentlich vergleichsweise einfach gestrickt, doch Apple hat über die Jahre immer mehr Funktionen hinzugefügt. Zunächst fällt auf, dass die Apps nun im „Liquid Glass“-Design der neuen Betriebssysteme kommen, was allerdings eher zurückhaltend umgesetzt ist. Die Notizen-App kann erstmals auf iPhone, Mac und iPad Telefongespräche aufzeichnen und deren Transkript automatisch abspeichern. Die Gegenstelle wird über die Aufnahme informiert. Mittels Apple Intelligence lassen sich auch Zusammenfassungen erzeugen. Freunden von Markdown schenkt Apple erstmals eine Exportfunktion im File-Format .md – man muss also nicht mehr zu PDFs greifen.
Das erlaubt leichtere Archivierung oder Weiterverarbeitungen mit anderen Textwerkzeugen. Beim Export bleibt es nicht: .md-Dateien kann Notizen auch importieren (via Share-Sheet). Auf dem iPad kommt Notizen jetzt mit kalligrafischen Eingaben besser zurecht – dazu wird extra ein eigener Stift („Reed Pen“) hinzugefügt. Dieser versteht sich auf verschiedene Andruckstufen und Stifthaltungen.
Apple Watch kriegt Notizen, Kontext für Erinnerungen
Zum ersten Mal überhaupt landet Notizen auf der Apple Watch. Damit bekommt man einen Überblick über alle hinterlegten Notizen, kann aber auch neue kreieren – sowohl per Siri / Sprachbefehl, als auch mittels On-Screen-Tastatur, für die man allerdings gewohnt spitze Finger braucht. Man kann weiterhin Notizen anpinnen, entsperren und Checklisten abhaken.
Apples Reinnerungen-App ist hingegen schon lange auf der Apple Watch. Dafür gibt es Verbesserungen auf iPhone, iPad und Mac: Künftig kann Apple Intelligence dazu verwendet werden, aus E-Mails oder Notizen Aufgabenlisten zu erstellen, genauso wie Einkaufslisten. Laut Apple passt sich das System dem Nutzer an, es sei personalisiert und kontextabhängig. Wie gut das tatsächlich funktioniert, bleibt abzuwarten – ein wenig erinnert die Ankündigung an Apples verschobene kontextsensitive Siri.
(bsc)
Künstliche Intelligenz
Österreich: Nationalrat beschließt Bundestrojaner | heise online
Österreichische Ermittler dürfen bald Malware („Bundestrojaner“) kaufen, in Geräte von Bürgern einschleusen und diese überwachen. Unbeteiligte Dritte, darunter Betreiber von Messengerdiensten, werden per Gesetz dazu verpflichtet, heimlich an der Überwachung anderer mitzuwirken. Der Verdacht einer Straftat ist nicht erforderlich. Es reicht, wenn eine Person verdächtigt wird, in Zukunft eine schwere Straftat begehen zu wollen. Andere Ermittlungsmaßnahmen müssen aussichtslos erscheinen, ein Verwaltungsgericht zustimmen. Die entsprechende Regulierungsvorlage für den in Österreich als „Messengerüberwachung“ bekannten Bundestrojaner hat der Nationalrat, die direkt gewählte Kammer des österreichischen Parlaments, mit 105 zu 71 Stimmen beschlossen.
Dafür gestimmt haben Abgeordnete der Regierungsfraktionen: ÖVP und SPÖ geschlossen, die liberalen NEOS mehrheitlich. Dagegen stimmten die Abgeordneten der FPÖ, der Grünen, sowie von den NEOS Stephanie Krisper und Nikolaus Scherak. Die beiden Klubobmann-Stellvertreter unterwarfen sich dem Klubzwang nicht. Sieben weitere der insgesamt 183 Nationalratsabgeordneten haben nicht an der namentlichen Abstimmung teilgenommen.
Die Gegner halten die Überwachungsmaßnahme für verfassungswidrig, die Grünen möchten den Verfassungsgerichtshof anrufen. Die NEOS waren eigentlich auch dagegen, haben sich aber einen Kompromiss abringen lassen: Der Einsatzbereich der Bundestrojaner ist auf „Vorbeugung bestimmter, besonders schwerwiegender verfassungsgefährdender Angriffe“, die mit zehn Jahren oder längerer Haft bedroht sind, sowie Spionageabwehr beschränkt. Umgekehrt war die FPÖ früher dafür, ist jetzt aber dagegen. Im öffentlichen Begutachtungsverfahren gab es eine Flut ablehnender Stellungnahmen von Bürgern wie Experten.
Kein Verwertungsverbot
Innenminister Gerhard Karner (ÖVP) argumentierte im Plenum des Nationalrates für die Überwachungsmaßnahme. Sie sei notwendig zur Bekämpfung von Terroristen und zur Verhinderung von Anschlägen. Kommunikation habe sich verändert, daher bräuchten Polizei und Geheimdienst die staatlich finanzierte Malware. Die Handys der Bevölkerung seien dabei „völlig wurscht“, zitierte der Minister einen Ermittler. Unterminiert wird diese Argumentation durch das Fehlen eines Verwertungsverbotes von Zufallsfunden sowie den Umstand, dass Karner noch vor dem Beschluss eine Ausweitung der Messenger-Überwachung gefordert hat. Der Minister möchte, dass Bundestrojaner bei einem größeren Kreis des Verdachts möglicher zukünftiger Straffälligkeit eingesetzt werden.
Die Gesetzesnovelle wandert nun in die zweite Kammer des österreichischen Parlaments, den Bundesrat. Dort haben ÖVP und SPÖ eine Zweidrittelmehrheit, sodass die Abstimmung als Formsache gilt. Noch nicht bekannt ist, wie das einzige NEOS-Mitglied im Bundesrat, die Wiener Juristin Julia Deutsch, abstimmen wird. Ab kommendem Jahr werden Millionen aus dem österreichischen Bundeshaushalt in den Schwarzmarkt für noch unbekannte Sicherheitslücken fließen.
(ds)
Künstliche Intelligenz
Bundestag: Petitionsausschuss bleibt bei Opt-out zu elektronischer Patientenakte
Eine Petition, der zufolge elektronische Patientenakten (ePA) nur mit ausdrücklichem Einverständnis der Betroffenen eingerichtet werden dürften (Opt-in), haben Volksvertreter zu den Akten gelegt. Der Petitionsausschuss des Bundestages hat am Mittwoch mit den Stimmen der Koalitionsfraktionen CDU/CSU und SPD die Empfehlung an den Bundestag abgegeben, das Petitionsverfahren abzuschließen. Die Abgeordneten begründen das damit, dass aktuell keine Anhaltspunkte für parlamentarische Aktivitäten zu erkennen seien. Ein entsprechender Beschluss im Plenum gilt damit als Formsache.
Die Online-Eingabe vom Mai 2023 erreichte binnen kurzer Zeit 58.188 Mitzeichnungen. Sie überschritt damit das Quorum von 30.000 Unterstützern, sodass der Ausschuss sich mit dem Anliegen auseinandersetzen musste.
Die Petentin begründete ihre Initiative damit, dass die elektronische Patientenakte für alle Bürger automatisch ab Geburt auf zentralen Servern angelegt werde. Personen, die rechtzeitig davon erfahren, könnten zwar widersprechen. Das reiche aber nicht zum Schutz intimer medizinischer Daten. Sie verweist darauf, dass der Bundestag bei Organspenden den Opt-out-Ansatz abgelehnt hat. Zudem dürften nach dem Gesundheitsdatennutzungsgesetz Forscher und andere Interessierte auf sensible Informationen aus den elektronischen Patientenakten zugreifen.
Politik setzt auf große Potenziale der ePA
Der Ausschuss sieht indes mehrheitlich große Potenziale darin, die ePA flächendeckend verfügbar zu machen. Auch andere EU-Länder wie Österreich und Frankreich hätten eine Widerspruchlösung. Damit Versicherte stets „Herr ihrer Daten“ seien, hätten sie Widerspruchsmöglichkeiten.
Mit der erhöhten Verfügbarkeit wichtiger Gesundheitsdaten könnten medizinische Therapieentscheidungen auf besserer Datengrundlage erfolgen, heben die Abgeordneten der Regierungskoalition hervor. Zudem habe der Gesetzgeber dem besonderen Schutzbedürfnis von Gesundheitsdaten mit der Beschränkung des Kreises der Zugriffsberechtigten Rechnung getragen. Über das Forschungsdatenzentrum erhielten Berechtigte nur in virtuellen Verarbeitungsräumen kontrollierten Zugang zu anonymisierten oder pseudonymisierten Daten. Es gibt aber Zweifel, ob das zur Verhinderung von Reidentifizierung reicht.
(ds)
-
Online Marketing & SEOvor 4 Wochen
TikTok trackt CO₂ von Ads – und Mitarbeitende intern mit Ratings
-
Apps & Mobile Entwicklungvor 4 Wochen
Metal Gear Solid Δ: Snake Eater: Ein Multiplayer-Modus für Fans von Versteckenspielen
-
UX/UI & Webdesignvor 4 Wochen
Philip Bürli › PAGE online
-
Social Mediavor 4 Wochen
Aktuelle Trends, Studien und Statistiken
-
Social Mediavor 3 Wochen
LinkedIn Feature-Update 2025: Aktuelle Neuigkeiten
-
Social Mediavor 4 Wochen
“Wir haben doch nichts zu erzählen…” – 3 Tricks für neue Social Media Content Ideen
-
Online Marketing & SEOvor 4 Wochen
#WantaFanta: Warum Fanta und Nico Santos der Gen Z Wünsche erfüllen
-
UX/UI & Webdesignvor 4 Wochen
Wie gelingt eine einwandfreie Zusammenarbeit?