Historisch gesehen lag der Fokus in IT-Projekten auf funktionalen Anforderungen: was das System tun soll. Dabei blieben Fragen der Leistung, Zuverlässigkeit, Skalierbarkeit, Verfügbarkeit, Sicherheit und Wartbarkeit (diese Merkmale werden unter dem Begriff „nicht-funktionale Anforderungen“, NFA, zusammengefasst) lange Zeit nebensächlich und wurden oft gar nicht formalisiert.
Die Ignorierung oder formale Beschreibung von NFA führt zu erheblichen Problemen im Betrieb: das System ist nicht auf die erwarteten Lasten vorbereitet, hält Cyberangriffe nicht stand, ist schwierig zu warten und zu skalieren oder ist für die benötigte Anzahl von Nutzern nicht zugänglich.
Ein moderner Systemanalytiker muss NFA initiieren, formalisieren, analysieren und dokumentieren. Dazu gehört:
Wichtige Merkmale:
Was ist der Unterschied zwischen "Produktqualität" und "nicht-funktionalen Anforderungen"?
Produktqualität ist ein weiter gefasster Begriff, der nicht nur formal erfassbare Parameter, sondern auch subjektive Bewertungen (z. B. UX/UI-Bedienbarkeit) umfasst. NFA sind klar messbare Merkmale (Leistung, Zuverlässigkeit usw.), die einer automatischen Validierung unterliegen.
Kann der Analyst die Definition aller nicht-funktionalen Anforderungen dem Architekten übertragen?
Nein, der Analyst muss gemeinsam mit dem Architekten und dem Unternehmen diese Anforderungen in der Analysephase ermitteln, da sonst die Anforderungen unvollständig oder nur aus technischer Sicht beschrieben werden, ohne die geschäftlichen Bedürfnisse zu berücksichtigen.
Kann man nicht-funktionale Anforderungen nur in Form allgemeiner Phrasen formulieren ("das System muss zuverlässig sein")?
Nein, solche Formulierungen sind nicht für die Kontrolle und Tests geeignet. Eine Konkretisierung ist erforderlich: zum Beispiel, "die Wiederherstellungszeit des Dienstes nach einem Ausfall darf 10 Minuten nicht überschreiten".
Negativer Fall: Das Projekt des nationalen Portals für staatliche Dienstleistungen hat die Anforderungen an Spitzenlasten nicht formalisiert. Das System „fiel“ an den Tagen, an denen beliebte Dienste gestartet wurden, und es kam zu Sicherheitsvorfällen.
Vorteile:
Nachteile:
Positiver Fall: Der Analyst stellte zu Beginn des Projekts eines industriellen Automatisierungswerks gemeinsam mit dem Betrieb fest, dass die Ausfallzeiten des Systems wichtiger sind als neue Funktionen. Er arbeitete an SLA, Notfallszenarien und spezifizierte konkrete Kennzahlen.
Vorteile:
Nachteile: