Connect with us

Entwicklung & Code

Sanierungsfälle: Erfolgreiche Strategien gegen Projektchaos


close notice

This article is also available in
English.

It was translated with technical assistance and editorially reviewed before publication.


Andreas Monschau

Andreas Monschau

(Bild: 

Andreas Monschau

)

Andreas Monschau ist als Senior IT-Consultant bei Haeger Consulting in Bonn tätig. In Kundenprojekten hat er verschiedene Rollen ausgeübt, die vom Softwareentwickler über den Softwarearchitekten hin zum Testmanager, Teamleiter sowie Anforderungsmanager reichten. Nebenbei leitet er das umfangreiche Traineeprogramm von Haeger Consulting und unterstützt andere Unternehmen beim Aufbau gleichartiger Prozesse.

Es könnte so schön sein: Als neues Teammitglied wendet man sich einem Softwareprojekt zu, alle wissen, was sie zu tun haben, die Anforderungen sind klar und verständlich und das Team beherrscht die Technik (und nicht umgekehrt). Gibt es doch mal Probleme, dann kümmern sich eigens dafür vorgesehene Rollen darum, und räumen die Schwierigkeiten beiseite. Die Organisation sorgt dafür, dass alle in Ruhe arbeiten können. Am Ende hat man dann eine Sache ganz gewiss erreicht: Anwender beziehungsweise Kunden erhalten ein Produkt mit echtem Mehrwert. Das klingt doch zu schön, um wahr zu sein!

Weiterlesen nach der Anzeige

Aber ist es nicht häufig so, dass man als neues Teammitglied in ein Softwareprojekt hineingerät, und eben nicht alle wissen, was sie zu tun haben, und die Anforderungen ebenso wie die Technik unbeherrschbar sind? Mit den Problemen steht man häufig alleine da, Kunden und Anwenderinnen erhalten schließlich kein Produkt mit Mehrwert, und Projektziele erreicht das Team nur unzureichend.

Dazu gibt es tatsächlich Statistiken wie der Standish Group Chaos Report aus dem Jahre 2020. Die Teilnehmenden der zugrunde liegenden Umfragen waren überwiegend IT-Führungskräfte von Dienstleistern aus verschiedenen Branchen wie Banken, Versicherungen, Fertigung, Einzelhandel, Gesundheitswesen sowie aus öffentlichen Einrichtungen auf lokaler, staatlicher und föderaler Ebene. Dabei bezieht sich der Report auf den globalen Markt.

Die Zahlen besagen, dass 31 Prozent aller Softwareprojekte erfolgreich verlaufen, das heißt, die Projekte bleiben innerhalb der Zeitplanung, innerhalb des Budgets und liefern am Ende den besagten Mehrwert für die Anwender beziehungsweise Kunden. Aber was ist mit den restlichen 69 Prozent? Die Hälfte der Projekte haben zumindest enorme Probleme verschiedenster Art (u. a. wird das Budget überschritten), und 19 Prozent scheitern vollständig, das heißt sie kommen nicht zu einem befriedigenden Ende, und verursachen ausschließlich Kosten.

Im Fokus dieses Artikels stehen eben diese Projekte, die zu den 50 Prozent gehören, die Projekte, die (noch) nicht vollständig gescheitert sind, aber auch noch nicht auf gutem Kurs – also Sanierungsfälle, die man wieder in die richtige Richtung drehen kann. Und richtige Richtung bedeutet: Am Ende wird den Kunden tatsächlich ein Produkt mit Mehrwert geliefert.

Es gibt sehr viele Faktoren, die (nicht nur) in Softwareprojekten zu Problemen führen können. In Sanierungsfällen stößt man häufig unter anderem auf folgende Herausforderungen:

Weiterlesen nach der Anzeige

  • Unklare Anforderungen: Der Kunde ist nicht in der Lage, das, was er haben will, klar zu artikulieren, wodurch Anforderungen widersprüchlich oder unbrauchbar sind. Immer neue Sonderfälle führen zum gefürchteten Scope Creep: Die schleichende Ausweitung des Projektumfangs, wobei häufig weder Zeit noch Budget oder Ressourcen entsprechend angepasst werden.
  • Unrealistische Deadlines: Den Kunden werden Lieferzeitpunkte von Features versprochen, ohne vorher mit dem Entwicklungsteam gesprochen zu haben. Das Team kann jedoch nicht rechtzeitig liefern, weil es zu viel zu tun gibt. Dadurch entsteht Unzufriedenheit, und auf Dauer leidet die Qualität der Software, da das Team nebenbei immer neue Brandherde löschen muss.
  • Strukturlose Agilität: Es wird viel von agilen Methoden oder agilen Transformationen gesprochen, aber die Umsetzung erfolgt oft nur halbherzig. Prioritäten ändern sich täglich, weil man „agil arbeitet“, und aus dem gleichen Grund existiert auch keine langfristige Planung. Stakeholder beginnen, sich in Meetings und kurzfristigen Planungen einzumischen, da sie das Gefühl haben, die Kontrolle zu verlieren.
  • Unkontrolliert eskalierende technische Schulden: Aus Zeitgründen wird schnell etwas implementiert, und „wir verbessern das später“ ist das Mantra innerhalb des Projekts. Die Zahl von Workarounds und Quickfixes steigt, und irgendwann verbringen Entwicklerinnen und Entwickler mehr Zeit damit, über den Code und das Projekt zu fluchen, als neue Features zu implementieren. Davor haben sie ohnehin Angst, denn jede Codeänderung kann unvorhersehbare Konsequenzen mit sich bringen.
  • Politik und Machtkämpfe: Es gibt viele Projektbeteiligte, die etwas zu sagen haben, was dazu führt, dass es häufig lange dauert, bis Entscheidungen getroffen werden, da niemand für vermeintlich falsche Entscheidungen verantwortlich sein möchte. Es gibt aus dem Management unterschiedliche, teilweise sich widersprechende Anforderungen, und Features werden aus politischen Gründen entwickelt oder blockiert.

Diese Liste lässt sich beliebig fortsetzen und soll nur einen kleinen Eindruck vermitteln, welche Problematiken häufig anzutreffen sind. Oftmals ist es jedoch so, dass sich diese Probleme zunächst verstecken und neuen Mitarbeitenden erst nach einiger Zeit im Projekt auffallen.

Wie sieht die Praxis aus? Zur Veranschaulichung dienen zwei beispielhafte Sanierungsfälle. Sie zeigen, wie dort eingesetzte Kollegen aus dem Unternehmen des Autors mit den dort vorherrschenden Problemen umgegangen sind.

Ein Disclaimer vorab: Ähnlichkeiten mit „lebenden oder toten Projekten“ sind rein zufällig – niemand sollte sich in einem der Projekte wiedererkennen können, Inhalte und Branchen sind verschleiert, einige Stellen sind überzeichnet, andere vereinfacht. Die zugrundeliegenden Probleme entsprechen jedoch der Realität.

Das erste Beispiel führt in den E-Commerce-Sektor. Inhaltlich geht es um das Thema Identitätsmanagement. Grundsätzlich soll die SSO-(Single Sign-on)-Funktionalität von Keycloak, einer Open-Source-Software für Identitäts- und Zugriffsmanagement (Identity and Access Management, IAM) um weitere Services angereichert werden. Als besonderer Bonus: Das Projekt soll annähernd auf der sogenannten grünen Wiese starten – für den Kollegen, der als Lead-Developer fungiert und dem ein neues Team versprochen wird, scheinbar ein Glücksgriff. Bei diesem Sanierungsfall lagen die Probleme allerdings kurz nach Start in das Projekt bereits klar auf der Hand:

Beim versprochenen Entwicklerteam handelte es sich um drei Mitarbeitende, die zwar aus IT-affinen Umfeldern kamen, jedoch nicht über eine klassische Entwicklerausbildung verfügten. Tatsächlich handelte es sich mehr oder weniger um Hobbyprogrammierer, die nie zuvor mit Java Software entwickelt haben, und Java war als Sprache gesetzt.

Diese drei hatten bereits angefangen, etwas zu implementieren, es war jedoch unbrauchbar – sowohl vom Design als auch von der konkreten Codequalität her. Darüber hinaus erwiesen sich die Anforderungen als vollkommen unklar. Unterschiedliche fachliche Ansprechpartner lieferten verschiedene Aussagen, die sich häufig sogar widersprachen. Detailwissen über Prozesse und Use Cases existierte nicht.

Im Projekt gab es niemanden, der die wenigen vorliegenden Anforderungen entgegennahm, um sie für die Entwicklung aufzubereiten und zu priorisieren – in agilen Projekten wäre das etwa ein Product Owner.

So konnte das Entwicklungsteam zunächst nur auf Basis der wenigen bekannten Anforderungen arbeiten, und wenn man den fachlichen Ansprechpartnern den aktuellen Stand zeigte, führte das häufig dazu, dass das Entwicklungsteam wieder zurück in den Code musste, weil (vorher unbekannte) Sonderfälle nicht berücksichtigt wurden.

Zu guter Letzt gab es kein Vorgehensmodell sowie kein wirkliches Projektmanagement. Es gab lediglich das Entwicklungsteam mit einem Lead-Developer und einige am Projekt beteiligte Mitarbeitende, die gelegentlich Aussagen über die Anforderungen machten. Unabhängig davon gab es natürlich ein Management, das Ergebnisse sehen wollte, aber nicht verstehen konnte, warum das Entwicklungsteam nicht vernünftig arbeitet.



Source link

Entwicklung & Code

Software Testing: Mensch vs. Maschine – wer urteilt fairer?


Bei Richard Seidl ist in dieser Episode Sam Goetjes zu Gast. Die beiden sprechen über Vertrauen, Vorurteile und Fairness in algorithmischen Entscheidungen. Ausgangspunkt ist Goetjes‘ Masterarbeit: Ein Bewerbungsszenario mit menschlichen und maschinellen Empfehlungen und gezielt gesetztem Gender-Bias. Die Studie zeigt, wie sich das Vertrauen über die Zeit verschiebt und der Algorithmus oft schneller Vertrauen erhält.

Weiterlesen nach der Anzeige

Für Tests heißt das: nicht nur Modelle messen, sondern Bias-Risiken beobachten, Datenquellen offenlegen und Pilotphasen sauber designen. Agil gedacht heißt es, Feedback-Schleifen ernst zu nehmen und Entscheidungen überprüfbar zu machen.

Bei diesem Podcast dreht sich alles um Softwarequalität: Ob Testautomatisierung, Qualität in agilen Projekten, Testdaten oder Testteams – Richard Seidl und seine Gäste schauen sich Dinge an, die mehr Qualität in die Softwareentwicklung bringen.

Die aktuelle Ausgabe ist auch auf Richard Seidls Blog verfügbar: „Mensch vs. Maschine: Wer urteilt fairer? – Sam Goetjes“ und steht auf YouTube bereit.


(mai)



Source link

Weiterlesen

Entwicklung & Code

Die Produktwerker: Welchen Einfluss auf die Retrospektive hat ein Product Owner?


In dieser Podcastfolge spricht Tim Klein mit Bernd Joussen über den Einfluss auf die Retrospektive, den Product Owner tatsächlich haben. Bernd Joussen ist erfahrener Produkt- und Projektmanager, Scrum Master und Agile Coach und war schon mehrfach Gast im Podcast. Beide erleben in ihrer Arbeit mit Teams, dass viele Product Owner den Raum der Retro missverstehen. Manche treten zu dominant auf und hemmen den Austausch. Andere ziehen sich so weit zurück, dass sie kaum Wirkung entfalten. Dabei ist die Retrospektive ein gemeinsamer Ort des Lernens. Der Product Owner gehört dorthin, weil er Teil des Teams ist und mit seinem Verhalten darüber entscheidet, wie offen gesprochen werden kann.

Weiterlesen nach der Anzeige


Product Owner Day 2025, Online-Konferenz

Product Owner Day 2025, Online-Konferenz

(Bild: deagreez/123rf.com)

So geht Produktmanagement: Auf der Online-Konferenz Product Owner Day von dpunkt.verlag und iX am 13. November 2025 kannst du deinen Methodenkoffer erweitern und dich von den Good Practices anderer Unternehmen inspirieren lassen.

Bernd Joussen beschreibt, dass eine Retro ohne Vertrauen keine Wirkung zeigt. Wenn Teams einmal darum bitten, eine Runde ohne Product Owner durchzuführen, sei das ein Signal, das ernst genommen werden sollte. Kein Anlass zur Verteidigung, sondern zur Selbstreflexion. Denn Vertrauen entsteht nicht durch Argumente, sondern durch Haltung. Wer als Product Owner offen zuhört, statt zu bewerten, gibt dem Team die Sicherheit, auch heikle Themen anzusprechen.

In vielen Organisationen hängt der Einfluss auf die Retrospektive stark von der Persönlichkeit des Product Owners ab. Wer laut ist, prägt die Dynamik schnell. Wer zurückhaltend ist, verliert an Gewicht. Beides kann den Austausch verzerren. Ein guter Product Owner kennt die Wirkung seiner Präsenz und achtet darauf, Raum zu geben. Joussen betont, dass die Moderation des Scrum Masters hier entscheidend ist. Sie schafft Balance zwischen allen Stimmen und schützt den Raum vor einseitigen Perspektiven.

Der Einfluss auf die Retrospektive zeigt sich nicht in Redebeiträgen, sondern in der Haltung. Ein Product Owner, der echtes Interesse am Team zeigt, Fragen stellt und neugierig bleibt, trägt mehr zur Verbesserung bei als jemand, der Ergebnisse einfordert. Gute Retrospektiven entstehen, wenn alle gemeinsam Verantwortung übernehmen. Wenn der Product Owner das Team unterstützt, Lösungen zu finden, statt sie vorzugeben.

Gerade in produktorientierten Teams schaut die Retro laut Tim Klein oft zu stark auf Prozesse und zu wenig auf Wirkung. Dabei bietet sie die Chance, über Outcomes zu sprechen, über den Beitrag des Teams zum Produktwert. Wenn der Product Owner diesen Blick einbringt, erweitert er die Perspektive, ohne den Rahmen zu sprengen. Dann wird die Retrospektive zu einem Ort, an dem Teamleistung und Produkterfolg zusammenfinden.

Weiterlesen nach der Anzeige

Bernd Joussen sieht in reifen Teams eine Selbstverständlichkeit, mit der Product Owner und Scrum Master gemeinsam für diese Qualität sorgen. Sie verstehen sich als Tandem, das das Team befähigt, eigene Lösungen zu entwickeln. Wo diese Verbindung fehlt, bleibt die Retro oberflächlich. Gute Zusammenarbeit zwischen Scrum Master und Product Owner sorgt dafür, dass Themen wie Vertrauen, Konflikte oder Verantwortung auch mit Blick auf den Produkterfolg besprochen werden.

Der Einfluss auf die Retrospektive hängt also davon ab, wie bewusst ein Product Owner seine Rolle lebt. Wer mit Neugier und Ruhe in die Retro geht, stärkt das gemeinsame Lernen. Wer sich als Teil des Teams begreift, fördert Offenheit. Und wer Verantwortung für die Wirkung seiner Worte übernimmt, schafft die Grundlage für Weiterentwicklung. Gute Retrospektiven entstehen dort, wo Menschen zuhören, lernen und handeln – gemeinsam und mit echtem Interesse aneinander.

Frühere Episoden mit Bernd Joussen in diesem Podcast:

Wer direkt mit Bernd Joussen in Kontakt treten möchte, erreicht ihn am besten über sein LinkedIn-Profil. Weitere Informationen über ihn und sein Angebot als Konfliktbegleiter, Experte für Retrospektiven mit Führungskräften und als Teamentwickler bietet seine Website.

Ein Format rund um Retrospektiven vor allem für Scrum Master und Team Coaches bietet er alle 14 Tage jeweils dienstags (8.00 bis 9.00 Uhr) mit den „Lean Coffee Retrospektiven“ an. Die Einladung erfolgt von Bernd Joussen via LinkedIn-Gruppe „Lean Coffee Retrospektiven – Community of Practice„.

Die aktuelle Ausgabe des Podcasts steht auch im Blog der Produktwerker bereit: „Welchen Einfluss auf die Retrospektive hat ein Product Owner?


(mai)



Source link

Weiterlesen

Entwicklung & Code

Google veröffentlicht Magika 1.0 zur KI-gestützten Dateityp-Erkennung


close notice

This article is also available in
English.

It was translated with technical assistance and editorially reviewed before publication.

Die erste stabile Version von Googles Open-Source-Werkzeugs Magika zur KI-gestützten Dateityp-Erkennung liegt vor. Die Anwendung wurde für Version 1.0 in Rust neu entwickelt und unterstützt mehr als 200 verschiedene Dateitypen – doppelt so viele wie in der Alpha-Version vom vergangenen Jahr.

Weiterlesen nach der Anzeige

Die Neuentwicklung in Rust sorgt laut Google für deutliche Performance-Verbesserungen. Auf einem MacBook Pro mit M4-Chip verarbeite Magika knapp 1000 Dateien pro Sekunde. Das Tool nutzt die ONNX Runtime für schnelle KI-Inferenz und Tokio für asynchrone Parallelverarbeitung. Neben dem neuen nativen Client für die Kommandozeile stehen außerdem Module für Python und TypeScript zur Verfügung.

Die erweiterte Typerkennung deckt auch spezialisierte Formate aus verschiedenen Bereichen ab: Data-Science-Formate wie Jupyter Notebooks, NumPy-Arrays oder PyTorch-Modelle gehören ebenso dazu wie moderne Programmiersprachen (Swift, Kotlin, TypeScript, Dart, Solidity, Zig) und DevOps-Konfigurationsdateien (Dockerfiles, TOML, HashiCorp HCL). Magika kann zudem genauer zwischen ähnlichen Formaten unterscheiden – etwa zwischen JSON und JSONL oder zwischen C- und C++-Code.

Für das Training des erweiterten Modells musste Google nach eigenen Angaben zwei Herausforderungen bewältigen: Der Trainingsdatensatz wuchs auf über 3 Terabyte an, was den Einsatz der hauseigenen SedPack-Bibliothek zum effizienten Streaming erforderte. Für seltene oder spezialisierte Dateitypen, von denen nicht genügend reale Beispiele verfügbar waren, setzte das Unternehmen auf generative KI: Googles Gemini-Modell erzeugte synthetische Trainingsdaten durch Übersetzung von Code und strukturierten Dateien zwischen verschiedenen Formaten.

Magika lässt sich auf Linux, macOS und Windows einrichten. Ferner können Entwickler das Tool als Bibliothek in Python-, TypeScript- oder Rust-Projekte integrieren. Laut Google verzeichnet das Projekt seit der Alpha-Version über eine Million Downloads pro Monat.


(fo)



Source link

Weiterlesen

Beliebt