Hallo Leser! Schön, dass ihr da seid. In diesem Interview werfen wir einen Blick hinter die Kulissen der IT-Projektwelt. Wir sprechen mit Daniel Undeutsch über die täglichen Herausforderungen im Projektmanagement, das oft komplizierte Verhältnis zu Kunden und Stakeholdern und die Frage, warum so viele IT-Projekte ihre Deadlines reißen. Außerdem geht es darum, welchen Stellenwert saubere Code-Qualität und Barrierefreiheit im stressigen Projektalltag wirklich haben – und warum „schnell schnell“ am Ende oft am teuersten ist. Viel Spaß beim Lesen!
Hallo Daniel! Schön, dass du dir heute die Zeit für dieses Gespräch nimmst. Als Frontend-Entwicklerin und Accessibility Advocate interessiert mich brennend die Perspektive der Projektleitung: Wie balanciert man harte Deadlines, sich ständig ändernde Kundenwünsche und den Anspruch, ein sauberes Produkt abzuliefern?
Du bist ja nun seit mehr als fünf Jahren in deinem Feld tätig und hast bestimmt schon viele Projekte von der Anfangsphase über den Go-Live-Termin bis hin zum Abschluss begleitet.
Hallo! Ja, da kommt im Laufe der Jahre einiges an Erfahrung zusammen. Schießen wir los!
Perfekt. Sag mal, wie viele dieser Projekte wurden denn eigentlich wirklich zeitgerecht abgeschlossen? Wie sieht da der allgemeine Durchschnitt aus?
Wenn ich ganz ehrlich bin: Die Projekte, an denen ich bisher beteiligt war, fielen hauptsächlich in den Bereich des Continuous Development. Es gab natürlich Meilensteine, bei denen es hier und da zu Verzögerungen, Verschiebungen oder Scope-Anpassungen kam. Aber ein Projekt mit einem klassischen, strikten Abschluss hatte ich bis dato eigentlich gar nicht.
Das überrascht mich im IT-Bereich ehrlich gesagt kaum. Deckt sich das auch mit der Theorie?
Absolut. Ich habe mich in meinen Bachelor- und Masterarbeiten intensiv mit der Analyse befasst, warum IT-Projekte so oft scheitern – sei es durch einen kompletten Abbruch oder durch verspätete Lieferungen.
Die Statistik ist da recht ernüchternd: Nur gut ein Drittel aller Projekte wird zeitgerecht beendet. Etwa 18 Prozent werden komplett vorzeitig gestoppt und rund 46 Prozent übersteigen das Budget oder können den Go-Live-Termin nicht halten. Man kann also sagen, dass fast 75 Prozent der Projekte nicht wie geplant geliefert werden.
Ein Wahnsinn, fast drei Viertel! Woran liegt das deiner Meinung nach? Liegt es an einer fehlerhaften Planung im Projektmanagement? Oder sind es eher spontane Personalausfälle, die alles verzögern?
Meiner Erfahrung nach liegt es vor allem in IT-Projekten am Anforderungsmanagement. Oft weiß der Kunde selbst nicht genau, was er eigentlich möchte. Die Anforderungen sind unklar, oder sie werden – falls sie anfangs klar waren – zu einem späteren Zeitpunkt wieder geändert.
Oh ja, das berühmte Scope Creep...
Genau. Das Anforderungsmanagement ist dadurch extrem beweglich. Die Folge: Projekte werden oft nur teilweise geliefert oder es kommt wegen neuer Anforderungen zu Kostenüberschüssen. Am Ende werden Meilensteine verschoben, Funktionalitäten gekürzt oder es ist schlicht kein Geld mehr übrig. Es liegt also nicht allein an der Planung. Der Kunde trägt hier eine riesige Mitverantwortung.
Aber die Planung erwischt es wahrscheinlich auch mal, oder?
Natürlich, ich hatte auch schon Planungen, die nicht ganz korrekt waren. Während einer Business Analyse habe ich beispielsweise nachgerechnet und gesehen, dass wir länger als geplant für den Go-Live brauchen würden. Wir haben dann im Dev-Team die Ressourcen hochgeschraubt und die Teamzusammensetzung optimiert. Dadurch konnten wir das abfangen. Aktuell sieht es in meinem Projekt so aus, als ob wir voll in der Zeit liefern können.
Du hast ja im Studium auch einen klaren Fokus auf PM und IT gelegt. Ich halte das für absolut notwendig, damit man als PM oder Business Analyst überhaupt richtig planen und technische Probleme verstehen kann. Wenn du auf deine Teams zurückblickst: Wie gut waren die Entwickler, Tester und Designer mit dem Tech-Stack vertraut? Und wie war das Verhältnis zwischen Seniors und Juniors?
Das ist viel Gefühlssache, die mit der Zeit kommt. Man muss den Entwicklern vertrauen, dass sie ihr Handwerk verstehen, und sich auf ihre Einschätzungen verlassen können. Sie müssen wissen, wie lange Aufgaben wie die API-Anbindung oder Datenbankanalysen dauern. Auf Basis dieser High-Level-Schätzungen mache ich dann meine Planung.
Und wie schätzt du das Know-how der Leute ein, die du zur Verfügung hast?
Die Leute, die ich bisher hatte oder selbst auswähle, sind mit ihrem Stack vertraut. Während meiner Zeit als BA im öffentlichen Sektor und im Steuerwesen waren die Leute oft noch auf Junior-Level. Das lag aber am fehlenden Fachwissen zum Thema Steuern, nicht am IT-Handwerk. Die Analysen konnten sie durchführen. Manche finden sich da einfach schneller in ein neues Thema ein, manche brauchen länger.
Bei den Entwicklern halte ich mich an den Lead Dev. Er schätzt das Team ein und bewertet, wie Junior jemand ist und wie lange er für die Arbeit braucht. In meiner Funktion kann ich die rein technische Tiefe nur schwer beurteilen.
Denkst du denn, dass ein besserer Wissensstand zum Tech-Stack und zum Applikationsaufbau geholfen hätte, die Termine besser einzuhalten?
Diese extreme Situation hatte ich an sich nicht. Ich habe mal in einem Team mit vielen Juniors gearbeitet, aber das war uns bewusst. Die Meilensteine wurden von vornherein so gewählt, dass es zum Setting gepasst hat.
Da hat die Planung also Rücksicht auf das Team genommen. Gab es auch mal Probleme mit Einzelpersonen?
Ja, in einem anderen Projekt hatten wir einen Junior, der leider nicht nur Junior war, sondern auch eine ziemliche Null-Bock-Einstellung hatte (Owezara, wie man in Österreich sagen würde). Das hat die anderen Juniors total runtergezogen. Da das ein externer Vendor war, haben wir das dort deponiert und die Person wurde ausgetauscht. Die neuen Kollegen kamen dann mit viel Motivation und Drive. Dieser Drive ist oft wichtiger als die reine Seniorität, weil er das ganze Team pusht.
Konntet ihr das auch an den Zahlen sehen?
Absolut. Wir haben uns die Velocity über die letzten Sprints angesehen und Prognosen erstellt. Man hat genau erkannt, dass wir seit dem Abgang des Kollegen performanter und zügiger unterwegs sind und unsere nächsten Meilensteine einhalten können.
Glaubst du, dass solche menschlichen oder fachlichen Missstände in Projekten oft genug offen angesprochen werden?
Ich habe es eigentlich nie anders erlebt als durch aktives Ansprechen. Das wurde in meiner Praxis immer so gehandhabt, um die Projektqualität zu sichern. Es geht ja nicht nur darum, schneller zu liefern, sondern zu verhindern, dass negatives Verhalten auf andere überschwappt und das ganze Team demotiviert. Deswegen: Immer sofort das Gespräch suchen und eine Lösung finden, zum Beispiel durch einen Team- oder Positionswechsel. Das ist die Aufgabe des PMs, hier nachzujustieren.
Jetzt muss ich dich aber fragen: Hast du dir den Code selbst mal hin und wieder angesehen? Konntest du Qualitätsmängel erkennen, die man leicht hätte verhindern können, wenn die Entwickler das Web – also HTML und CSS – besser verstehen würden? Das sind doch im Grunde ihre Werkzeuge!
Ja, ich habe schon hin und wieder mal in den Code reingeschaut und mitgelesen. Ich verstehe auch, was er macht. Aber ich kann beim besten Willen nicht beurteilen, ob man den Code besser, kürzer oder eleganter hätte schreiben können.
Das verlangt ja auch niemand vom PM.
Genau, das sehe ich am Ende des Tages auch nicht als meine Aufgabe. Dafür habe ich ja die Lead Devs im Team.
Wie wird das Dev-Team eigentlich gewählt? Hast du da Mitspracherecht? Hätte man da nicht schon im Vorfeld selektieren können, um nur Entwickler mit dem nötigen Wissen oder zumindest der richtigen Motivation zu nehmen?
Das ist unterschiedlich. Aktuell im Bankenwesen bin ich aus Dev-Sicht der Kunde, ich fordere also etwas an. Früher bei Accenture war ich der Dienstleister und habe für Kunden entwickelt. In meiner jetzigen Rolle als Kunde bekommen wir Profile und CVs, schauen uns die an und wählen aus. Oft gibt es Kundeninterviews. Aber ob jemand auf dem Projekt dann wirklich gute Arbeit leistet, sieht man halt erst, wenn es läuft.
Das stimmt, den Leuten kann man vorher nur vor den Kopf schauen.
Eben. Und ich glaube, dass Konsequenzen oft zu lange hinausgezögert werden. Nicht unbedingt unbemerkt, aber man hofft halt, dass sich das Blatt noch wendet. Das schadet dem Projekt letztendlich oft mehr, als es nützt. Ich glaube aber trotzdem nicht, dass das der ausschlaggebende Grund ist, warum Projekte scheitern. Ich habe es selten erlebt, dass es am Team oder der Qualität liegt – es liegt meistens am Kunden, weil er nicht weiß, was er will.
Ich sehe in der Praxis oft so eine „Ach, das passt schon“- oder „Bei mir funktionierts“-Mentalität. Ich habe schon Code-Merges gesehen, da kamen mir die Tränen. Wie siehst du das aus PM-Sicht?
Wie gesagt, das ist eigentlich die Aufgabe des Leads. Wenn solche Beschwerden aufkommen, liegt es oft am strengen Zeitplan. Der Entwickler sagt dann: „Ich musste den Code da jetzt so durchgehen lassen, weil wir fertig werden mussten.“
Ein Teufelskreis...
Ja, aber ich habe auch schon mit Leads gearbeitet, die sich extrem für Code-Qualität eingesetzt haben. Wenn mir der Lead sagt: „Es wird vielleicht ein bisschen mehr Zeit dauern, aber die Qualität ist dafür besser“, dann entscheide ich mich als PM ganz bewusst dafür. Ich finde, dass uns Qualität letztendlich viel mehr bringt, als zu diesem Zeitpunkt eine kleine Spur schneller zu sein.
Ganz genau! Ich hatte in meinen Projekten oft das Gefühl, wir hätten den Go-Live-Termin locker einhalten können, wenn von Anfang an Fokus auf Qualität gelegen wäre – beim Team und beim Code. Am Anfang wirkt Code-Qualität wie ein Zeitfresser, aber am Ende kostet es doch viel mehr Geld, die ganzen Bugs zu fixen, die durch diesen schnellen Pfusch entstanden sind. Wie man in Österreich so schön sagt: „Vom Hudeln kema de Kinda“. Wie ist da deine Erfahrung?
Weil die Anforderungen anfangs oft unklar sind, heißt es im Laufe des Projekts plötzlich: „Das muss jetzt auch noch schnell in den Release rein!“ Dadurch sinkt die Qualität im Code, es kommt zu mehr Bugs und man unterschätzt komplett, wie viel Aufwand das bedeutet. Statistisch gesehen gilt: Wenn ich den Bug sofort behebe, kostet es mich minimal Zeit und Geld. Je später ich ihn entdecke, desto teurer wird es am Ende des Tages.
Also siehst du den Fehlerteufel auch eher beim Kunden?
Ja, für mich bleibt der Kunde das Hauptproblem. Es kann natürlich sein, dass der Lead Dev sagt: „Das bekommen wir schon irgendwie hin“, und dann insgeheim Abstriche bei der Code-Qualität macht. Aber das weiß ich dann als PM oft nicht, weil ich mich darauf verlasse, dass Qualität geliefert wird.
Das heißt, du hast noch nie zum Team gesagt: „Mach ma das jetzt schnell und pfuschig fertig und schreiben den Code später schön“?
Nein, das habe ich noch nie gesagt. Ich will immer, dass die Qualität hoch bleibt. Ich finde, wenn Personen ihr Handwerk verstehen, sollte das ihr oberstes Ziel sein. Aber ich denke schon, dass es PMs gibt, die vielleicht nicht die richtige Ausbildung haben, sondern eher über Learning by Doing reingerutscht sind. Die arbeiten dann oberflächlicher, legen keinen Wert darauf oder wissen es einfach nicht besser. Die sehen nur: „Es ist rechtzeitig und im Budget geliefert worden, also passt es.“
Ich hatte mal ein Projekt, da kamen über Monate hinweg nur Bugs wegen CSS-Pixelarbeit rein. Kaum hat eine Seite gepasst, war die andere wieder fehlerhaft. Als ich fragte, warum niemand das fertige Seitentemplate aus dem Designsystem benutzt, kam raus: Die Kommunikation lief seit Monaten komplett schief und alle haben aneinander vorbeigeredet. Ich habe dann drei Tage lang alle Pages mit dem Template neu gebaut – zack, alle Bugs weg. Das ist für mich auch ein Thema von Team-Qualität. Erlebst du sowas auch?
Dass innerhalb des Projektteams aneinander vorbeigeredet wird, kommt definitiv vor. Ich habe das auch schon am Rande mitbekommen. So ein Problem sollte natürlich sofort aufgelöst werden, sobald man es merkt. Das über Monate hinweg zu verschleppen, ist ein riesiges Problem. Aber letztendlich ist das für mich auch wieder ein Stakeholder-Problem: Was wollen wir eigentlich genau haben?
Für viele Entscheider ist das Wort „Barrierefreiheit“ ja ein rotes Tuch. Etwas „Extra“ für die „zwei, drei Behinderten da draußen“ – in dicken Anführungszeichen, du weißt, was ich meine. Meiner Meinung nach ist aber genau das, worüber wir gerade gesprochen haben, der Grund, warum Barrieren entstehen: Weil Entwickler ihr Handwerk nicht richtig machen. Da muss man das Wort Barrierefreiheit noch gar nicht in den Mund nehmen. Wie siehst du das?
Das kenne ich und habe es selbst schon erlebt. Wenn ein Entwickler ein <div> statt eines semantischen <button>-Elements nimmt, steht das für mich gar nicht zur Debatte – das ist einfach schlechtes Handwerk.
Absolut! Aber wo fangen für dich als PM die Probleme an?
Explizit wird es für uns meistens bei Dingen wie barrierefreien PDFs. Wenn ich das testen und auditieren muss, ist das extra Zeit und extra Geld. Aber auf den reinen Code im Web bezogen, sollte Barrierefreiheit eigentlich kaum ein Problem sein. Kann ich das als PM beurteilen? Eher nicht, das muss der Lead Dev wissen und das muss im Ticket stehen, besonders wenn ein Audit ansteht. Aber Barrierefreiheit auf Code-Ebene sollte definitiv nicht als „Extra-Aufwand“ oder Kostenfresser gesehen werden.
Ich muss aber auch sagen: Es gab Projekte, da hätten die Entwickler gerne bessere Arbeit geleistet, bekamen aber nicht die Zeit, weil der PO oder PM das Feature „unbedingt noch heute“ live sehen wollte – auch wenn es zwei Tage später wieder auf der Bugliste landete. Woran liegt dieses kurzfristige Denken? Ist das eine österreichische Mentalität?
Nein, das liegt einfach daran, dass man versucht, diverse Stakeholder kurzfristig zufrieden zu stellen. Der Stakeholder sieht: „Das Feature ist da, für mich passt es erst mal.“ Dass danach Bugs auftreten, ist ihm in dem Moment egal. Hauptsache, das Feature ist da. Nach mir die Sintflut.
Also sind die Stakeholder da einfach nicht lernfähig?
Selten. Sie sehen das neue Feature und freuen sich.
Also zusammenfassend würd ich sagen: Das Anforderungsmanagement und die Stakeholder sind meiner Meinung nach das Hauptproblem. Das habe ich in meinen wissenschaftlichen Arbeiten herausgefunden und das erlebe ich tagtäglich in der Praxis. Das ist der Grund, warum IT-Projekte nicht rechtzeitig geliefert werden. Man macht eine High-Level-Schätzung, merkt dann, dass es viel komplexer ist und die Analyse länger dauert – und schon verschiebt sich der Einsatz um ein paar Wochen.
Das ist ein perfektes Schlusswort. Vielen lieben Dank, dass du dir die Zeit genommen hast, um uns deine Perspektive zu schildern!