Opatz Consulting

/ Grundlagen

Der SDLC im Detail: Analyse

Jan Opatz

Jan Opatz

Der SDLC im Detail: Analyse

Warum diese Phase unterschätzt wird

Wenn Softwareteams über Probleme sprechen, landet die Schuld selten bei der Analyse. Zu komplex, zu abstrakt, zu weit weg von dem, was sichtbar schiefgelaufen ist. Stattdessen zeigt der Finger auf den Code, auf das Testing, auf die Architektur. Dabei fangen die meisten Probleme früher an. Iin dem Moment, in dem Anforderungen aufgenommen wurden, ohne wirklich verstanden zu werden.

Die Analysephase hat ein Imageproblem. Sie wirkt wie ein bürokratischer Zwischenschritt: Anforderungen sammeln, dokumentieren, freigeben und dann endlich mit der echten Arbeit beginnen. Dieses Bild ist nicht nur falsch, es ist gefährlich. Denn was in der Analyse nicht geklärt wird, taucht später auf: als Feature, das niemand nutzt; als Schnittstelle, die falsch spezifiziert wurde; als Erwartung, die still gewachsen ist, bis sie das Projekt sprengt.

Die Realität sieht so aus: In der Analysephase wird nicht nur dokumentiert, was das System tun soll, sondern es wird entschieden, welches Problem es wirklich lösen soll. Das ist ein fundamentaler Unterschied. Anforderungen sind keine neutralen Fakten, die irgendwo existieren und nur eingesammelt werden müssen. Sie entstehen im Dialog zwischen Menschen, die unterschiedliche Perspektiven, Interessen und blinde Flecken mitbringen. Wer die Analyse als reinen Dokumentationsprozess behandelt, übersieht genau das.

Ein Muster, das sich wiederholt: Ein Stakeholder beschreibt einen Wunsch. Das Analyseteam nimmt ihn auf, formuliert ihn als Anforderung, holt eine Unterschrift und geht weiter. Was dabei verloren geht: das Warum hinter dem Wunsch. Drei Monate später stellt sich heraus, dass das gebaute Feature das Problem gar nicht löst, weil niemand gefragt hat, welches Problem eigentlich dahintersteckt. Eine gut formulierte Anforderung, die das falsche Problem beschreibt, ist kein Fortschritt. Sie ist teurer als gar keine Anforderung.

Was diese Phase wirklich ist

Die Analysephase übersetzt das, was die Planung geliefert hat, in belastbare Anforderungen. Ziele werden konkret, Scope-Grenzen werden detailliert, Nutzerbedürfnisse werden sichtbar gemacht. Was in der Planung noch als gemeinsames Verständnis existierte, bekommt hier eine Form, die für Design und Entwicklung tatsächlich verwendbar ist. Dieser Übersetzungsprozess ist anspruchsvoller als er klingt, weil zwischen dem, was Menschen sagen, was sie wollen und dem, was sie wirklich brauchen, oft eine erhebliche Lücke liegt.

Im Kern geht es in der Analysephase um drei Fragen: Was soll das System tun? Für wen soll es das tun? Und unter welchen Bedingungen? Diese drei Dimensionen müssen vollständig und widerspruchsfrei beantwortet sein, bevor das Design beginnen kann. Funktionale Anforderungen beschreiben das Verhalten des Systems. Nicht-funktionale Anforderungen beschreiben, wie es sich verhalten soll: performant, sicher, skalierbar, wartbar. Beide sind gleichwertig, auch wenn nicht-funktionale Anforderungen in der Praxis häufig als nachrangig behandelt werden, bis sie zum Problem werden.

Im Gesamtsystem des SDLC ist die Analysephase das Bindeglied zwischen Absicht und Umsetzung. Sie empfängt das, was die Planung vorbereitet hat und gibt der Entwicklung das weiter, was sie braucht: klare, priorisierte, umsetzbare Anforderungen. Dieser Übergang ist nie rein linear. Gute Analyse deckt Lücken auf, die in der Planung übersehen wurden und erzwingt damit manchmal eine Rückkehr in den vorherigen Schritt. Das ist kein Fehler, sondern ein Zeichen dafür, dass die Analyse ihre Arbeit macht.

Das Verhältnis zu den angrenzenden Phasen:

Vorher

Nacher

Phase

Planung

Design

Was kommt rein

Projektziele, Scope, Stakeholder-Map

Validierte, priorisierte Anforderungen

Was geht raus

Strukturierter Anforderungsrahmen

Grundlage für Architektur- und UI-Entscheidungen

Typische Gefahr

Zu vage Ziele, ungeklärte Erwartungen

Zu viele Details, zu früh, bevor Prioritäten klar sind

Menschen, nicht nur Prozesse

Anforderungen entstehen nicht am Schreibtisch, sie entstehen im Gespräch. Die Analysephase ist deshalb vor allem eine kommunikative Disziplin. Das Analyseteam fungiert als Übersetzer: zwischen dem Fachbereich, der weiß, was er braucht, aber nicht, wie es technisch umsetzbar ist; und dem Entwicklungsteam, das weiß, was technisch möglich ist, aber nicht immer, was fachlich gemeint ist. Diese Übersetzungsleistung klingt einfach. In der Praxis scheitert sie regelmäßig.

Formell sind in der Analysephase Business Analysten, Product Owner, Fachbereichsvertreter und technische Architekten beteiligt. Informell entscheidet oft eine andere Dynamik: Wer hat den lautesten Wunschzettel? Wessen Anforderungen werden priorisiert, weil sie von jemandem mit Durchsetzungskraft kommen? Wessen Bedürfnisse bleiben unsichtbar, weil die eigentlichen Nutzer im Analyseprozess gar nicht befragt werden? Diese Fragen sind unbequem, aber sie bestimmen, was am Ende im Anforderungsdokument steht.

Besonders kritisch ist das Verhältnis zwischen dem, was Stakeholder sagen und dem, was Nutzer brauchen. Stakeholder sprechen oft aus einer organisatorischen Perspektive: Prozesse optimieren, Kosten senken, Kontrolle gewinnen. Nutzer haben andere Bedürfnisse: intuitiv, schnell, zuverlässig. Wenn die Analyse ausschließlich mit Stakeholdern arbeitet und Nutzer nicht direkt einbezieht, entsteht ein System, das alle formalen Anforderungen erfüllt und trotzdem im Alltag nicht funktioniert.

Typische Reibungspunkte in dieser Phase:

  • Anforderungsinflation: Jeder Stakeholder bringt seine Wunschliste mit. Ohne Priorisierung und Konsolidierung wächst der Scope still, bis er unrealistisch ist.

  • Widersprüchliche Anforderungen: Zwei Fachbereiche wollen dasselbe System, aber mit entgegengesetzten Erwartungen. Wird der Widerspruch nicht aufgelöst, landet er im Design oder in der Entwicklung.

  • Implizites Wissen: Experten setzen Selbstverständlichkeiten voraus, die niemand aufschreibt, bis das Entwicklungsteam genau dort scheitert, wo es eigentlich klar sein sollte.

  • Zustimmung ohne Verständnis: Stakeholder unterschreiben Anforderungsdokumente, ohne sie wirklich gelesen zu haben. Das gibt dem Team ein falsches Sicherheitsgefühl.

Die wirksamste Gegenmaßnahme: Anforderungen nicht nur aufnehmen, sondern aktiv hinterfragen. Die entscheidende Frage ist nicht „Was soll das System tun?", sondern „Welches Problem soll es lösen und für wen?" Wer diese Frage konsequent stellt, landet bei besseren Anforderungen. Und bei einem deutlich ehrlicheren Bild davon, was das Projekt wirklich leisten kann.

Woran du erkennst, ob es läuft

Gute Analyse ist unsichtbar. Sie fällt erst auf, wenn sie fehlt. Im Betrieb, wenn Nutzer das System nicht annehmen. Im Testing, wenn Akzeptanzkriterien fehlen. In der Entwicklung, wenn Anforderungen täglich neu interpretiert werden. Das Ziel der Analysephase ist deshalb nicht ein möglichst dickes Dokument, sondern ein geteiltes Verständnis, das trägt.

Messbar wird Qualität in der Analyse dort, wo Anforderungen nicht nur vollständig, sondern auch verwendbar sind:

  • Vollständig: Alle relevanten Szenarien, Randfälle und nicht-funktionalen Bedingungen sind erfasst.

  • Widerspruchsfrei: Keine zwei Anforderungen schließen sich gegenseitig aus.

  • Priorisiert: Es ist klar, was Muss, was Soll und was Kann ist. Nicht alles hat die gleiche Dringlichkeit.

  • Testbar: Jede Anforderung lässt sich in einen konkreten Akzeptanztest übersetzen. Was nicht testbar ist, ist nicht anforderbar.

  • Verstanden: Entwicklung kann die Anforderungen ohne Rückfragen interpretieren und der Fachbereich erkennt sich darin wieder.

Die weichen Warnsignale sind dabei mindestens so wichtig wie die messbaren Kriterien. Wenn das Entwicklungsteam beginnt, Anforderungen selbst zu interpretieren statt nachzufragen, fehlt Klarheit. Wenn Stakeholder in Reviews sagen „Das meinten wir eigentlich anders", war die Analyse zu oberflächlich. Und wenn das Anforderungsdokument nach der Freigabe niemand mehr öffnet, war es nie wirklich ein Arbeitsdokument, sondern nur ein Formalitätsnachweis.

Die Übergabe in die Designphase ist der Belastungstest. Was diese Phase konkret liefern sollte:

Übergabeartefakt

Warum es zählt

Anforderungsdokument / User Stories

Beschreibt, was das System leisten soll (funktional und nicht-funktional)

Priorisiertes Backlog

Gibt Design und Entwicklung eine klare Reihenfolge

Akzeptanzkriterien

Macht Testing und Abnahme planbar

Prozessmodelle / Use Cases

Zeigt den Kontext, in dem das System verwendet wird

Offene Fragen & Risiken

Transparent kommuniziert, was noch nicht geklärt ist

Glossar / Fachbegriffe

Stellt sicher, dass alle dasselbe meinen, wenn sie dasselbe sagen

Das letzte Artefakt ist dabei häufig das unterschätzteste: Ein geteiltes Vokabular verhindert mehr Missverständnisse als jedes noch so detaillierte Anforderungsdokument.

Entscheidungen, die morgen noch gelten

In der Analysephase schrumpft der Spielraum für Fehlentscheidungen schneller als viele denken. Was hier als Anforderung festgehalten wird, prägt die Architektur, beeinflusst die Testbarkeit und definiert letztlich, woran das Projekt gemessen wird. Wer in der Analyse ungenau arbeitet, kauft sich keine Zeit, sondern er verschiebt die Kosten nur in die teuereren Phasen.

Nachhaltige Analysearbeit bedeutet, Anforderungen so zu formulieren, dass sie auch dann noch gültig sind, wenn sich der Kontext leicht verändert. Das heißt konkret:

  • Problemfokus statt Lösungsfokus: Eine Anforderung, die das Problem beschreibt, bleibt länger gültig als eine, die bereits eine Lösung vorschreibt. „Das System soll den Nutzer über Statusänderungen informieren" ist robuster als „Das System soll eine E-Mail senden".

  • Annahmen benennen: Jede Anforderung basiert auf Kontextannahmen. Wer sie explizit macht, schützt das Team vor Überraschungen, wenn sich der Kontext ändert.

  • Prioritäten konsequent verteidigen: In der Analyse werden oft alle Anforderungen als gleich wichtig behandelt, weil niemand Nein sagen will. Das rächt sich. Prioritäten sind keine Ablehnung, sie sind Realismus.

Das häufigste nachhaltige Problem der Analysephase ist keines, das sofort sichtbar wird: Es ist der stille Scope Creep. Anforderungen wachsen durch kleine Ergänzungen, gut gemeinte Erweiterungen und Missverständnisse, die als Features umgesetzt werden. Am Ende hat das Team etwas gebaut, das größer, komplexer und teurer ist als geplant und trotzdem nicht das leistet, was ursprünglich gemeint war.

Am Ende der Analysephase lohnt sich deshalb eine ehrliche Rückfrage:

Wenn wir diese Anforderungen morgen an ein Team übergeben würden, das uns nicht kennt – würden sie dasselbe System bauen, das wir im Kopf haben?

Wenn die Antwort zögerlich ist, ist die Analyse noch nicht fertig.

Weiterdenken

Die Analysephase ist die Phase im SDLC, in der der Kontakt zur Wirklichkeit am engsten ist und am schnellsten verloren gehen kann. Hier treffen echte Nutzerbedürfnisse auf organisatorische Interessen, technische Grenzen auf fachliche Wünsche, Machbares auf Gewünschtes. Wer diese Spannung produktiv hält, schafft Anforderungen, die tragen. Wer sie vermeidet, schreibt Anforderungen, die gut aussehen, aber niemanden wirklich verpflichten.

Nimm dir etwas Zeit und reflektiere die folgenden Fragen:

  • Werden in deiner Analysephase wirklich Probleme verstanden oder nur Lösungswünsche aufgeschrieben?

  • Wer kommt in euren Analysegesprächen zu Wort und wer nicht?

  • Wie viele eurer Anforderungen wären testbar, wenn jemand morgen danach fragt?

  • Wann habt ihr zuletzt eine Anforderung abgelehnt oder zurückgegeben, weil sie das falsche Problem beschrieben hat?

Die nächste Phase, das Design, baut direkt auf dem auf, was die Analyse geliefert hat. Dort werden aus Anforderungen Architekturen, aus Nutzerbedürfnissen Interfaces, aus Systemgrenzen technische Strukturen. Wie elegant und tragfähig dieses Design wird, hängt direkt davon ab, wie präzise und vollständig die Analyse gearbeitet hat. Der Übergang ist kein Übergabetermin, sondern der Moment, in dem sich zeigt, ob die Analyse wirklich fertig war.

Tags
  • Softwareentwicklung
  • SDLC

Unsere neuesten Beiträge

Jan Opatz

Jan Opatz

/ Grundlagen

Der SDLC im Detail: Planung

Die Planungsphase ist der erste Schritt im SDLC und der am häufigsten unterschätzte. Hier werden keine Features gebaut aber alle Weichen gestellt: Was entsteht, für wen, mit welchen Ressourcen und unter welchen Bedingungen.

Jan Opatz

Jan Opatz

/ Grundlagen

Was genau ist eigentlich ein Software Development Lifecycle (SDLC)?

Der Software Development Lifecycle ist kein Prozesshandbuch für Entwickler, sondern ein gemeinsamer Denkrahmen für alle, die an der Entstehung und dem Betrieb von Software beteiligt sind. Dieser Artikel erklärt, was sich hinter den sieben Phasen verbirgt und warum der größte Fehler nicht das Überspringen einer Phase ist, sondern ihre Unterschätzung.

Jan Opatz

Jan Opatz

/ Grundlagen

Was genau ist eigentlich Softwareentwicklung?

Softwareentwicklung bezeichnet den kreativen und strukturierten Prozess, bei dem aus Nutzeranforderungen und Geschäftsstrategien sichere und leistungsfähige Produkte entstehen.