linkedin

Wenn Sie eine der Anwendungen oder Software, die Sie täglich benutzen, beschreiben sollten, würden Sie wahrscheinlich das beschreiben, was wir “funktionale Anforderungen” nennen Das ist das, was ein Produkt tun muss. Wir assoziieren die Verwendung von Dingen mit ihrem Nutzen und ihrer Fähigkeit, Dinge zu tun. Es gibt jedoch unzählige andere Aspekte der Produkte, auf die wir uns verlassen, die nicht speziell mit der Funktionalität zu tun haben. Diese nichtfunktionalen Anforderungen.

Funktionale Anforderungen legen fest, was ein Produkt tun muss und welche Eigenschaften und Funktionen es hat. Nichtfunktionale Anforderungen (NFR) beschreiben die allgemeinen Eigenschaften eines Systems, die seine Struktur einschränken und prägen. In diesem Beitrag werfen wir einen genaueren Blick auf die NFRs, ihre Rolle und Bedeutung und stellen Ihnen eine Checkliste für nicht-funktionale Anforderungen zur Verfügung, die Sie überprüfen können.

Was sind nichtfunktionale Anforderungen (NFRs)?

Zu den nichtfunktionalen Anforderungen gehören alle standardisierten, grundlegenden Eigenschaften eines Systems. Dazu gehören Verfügbarkeit, Benutzerfreundlichkeit, Leistung, Sicherheit, Skalierbarkeit, Portabilität und Zugänglichkeit. Auch wenn Sie bei der Verwendung eines Produkts vielleicht nicht an diese Aspekte denken, haben Menschen angeborene Vorlieben und Bedürfnisse in Bezug auf ihre Benutzererfahrung. NFRs sorgen dafür, dass diese Bedürfnisse zur richtigen Zeit und am richtigen Ort erfüllt werden.

Einfach ausgedrückt: Während die funktionalen Anforderungen die Fähigkeiten des Systems darstellen, den Benutzern wertvolle Lösungen zu bieten, sind die NFRs die kritischen Vorgänge, die sie unterstützen.

non-functional-requirements

Warum sind NFRS wichtig?

NFRs sind genauso wichtig wie funktionale Anforderungen, aber in einer Weise, die dem System eher Form als Substanz verleiht.

Eine Website kann noch so gut aussehen und funktionieren, wenn sie nur zeitweise verfügbar ist, kann sie niemandem dienen. Ebenso kann alles hervorragend aussehen und nahtlos funktionieren, aber wenn es nicht sicher ist, sind die Benutzer einem ständigen Risiko ausgesetzt, was für jedes Unternehmen, das Markentreue und einen guten Ruf aufbauen will, katastrophal ist.

Ein weiterer Grund, warum NFRs so wichtig sind, ist, dass sie oft nicht als solche wahrgenommen werden. Sie werden immer wieder übersehen, nicht gemeldet und unterschätzt, was dem gesamten Projekt schadet. Wenn sie übersehen werden, riskiert das Projekt ein Scheitern oder eine kostspielige Überarbeitung, wenn es auf eine Reihe von Einschränkungen stößt, die im System nicht definiert sind.

Werden sie zu wenig beachtet, werden sie oft falsch implementiert, was sofort und im weiteren Verlauf eine Reihe weiterer Probleme verursacht. Wenn sie unterschätzt werden, läuft das Projekt Gefahr, das Budget zu überschreiten, was sich negativ auf die Gewinnspanne des Produkts auswirkt

Da sie für den Projekterfolg so wichtig sind, werden Entwickler und Designer gleichermaßen von unserer Checkliste für nichtfunktionale Anforderungen profitieren.

Checkliste für nicht-funktionale Anforderungen

Diese Checkliste für nichtfunktionale Anforderungen führt den Benutzer durch alle Typologien, die bei der Erstellung seiner NFRs zu berücksichtigen sind. Beachten Sie, dass es sich hierbei keineswegs um eine erschöpfende Liste handelt, sondern eher um einen Leitfaden für diejenigen, die mit der Erforschung von NFRs beginnen.

non-functional-requirements-checklist

Grundlegende Typologien, die Sie berücksichtigen sollten

1. Leistung (Effizienz)

Die Geschwindigkeit, mit der ein System bestimmte Aufgaben ausführt, ist entscheidend für ein bereicherndes Benutzererlebnis. Wenn Benutzer auf das Laden von Seiten oder die Aktualisierung von Daten warten müssen, kann dies ihren Arbeitsablauf stören. Obwohl dies hauptsächlich in der Verantwortung des Lösungsarchitekten des Projekts liegt, gibt es für bestimmte Teile eines Systems Leistungserwartungen, die je nach den Bedürfnissen des Kunden erfüllt werden sollten.

2. Sicherheit

Ein Hauptanliegen für jedes System ist die Frage, wie gut es in der Lage ist, unbefugten Zugriff oder Verhaltensänderungen zu verhindern und gleichzeitig die Benutzerfreundlichkeit zu erhalten. Alles, von Sitzungszeitüberschreitungen bis hin zu Kennworteinschränkungen, sollte für alle Rollen und Berechtigungen berücksichtigt werden. Auch dies ist größtenteils Sache der Architekten des Projekts, aber die Business-Analysten sollten sich mit dem Entwicklungsteam und dem Product Owner abstimmen, damit alle an einem Strang ziehen.

3. Skalierbarkeit/Wartbarkeit

Skalierbarkeit bezieht sich nicht nur auf die Größe eines Systems, sondern auch auf seine Fähigkeit, Wachstum und Veränderungen in der Zukunft, oft unter anderen Umständen, zu bewältigen. Diese Überlegungen müssen von Anfang an in die Architektur und den Entwurf einfließen. Die Skalierbarkeit kann sich auch auf ein größeres Publikum oder eine höhere Verarbeitungslast beziehen.

4. Zugänglichkeit

Technologie verbindet uns, und manche Menschen haben unterschiedliche Fähigkeiten, die sich auf ihre Nutzungspraktiken auswirken. Daher sind NFRs, die den Zugang zu einem möglichst großen Personenkreis erleichtern sollen, äußerst wichtig. Der Americans with Disabilities Act (Amerikanisches Gesetz für behindertengerechtes Design) enthält spezifische Richtlinien für die Erreichung von Barrierefreiheit.

Auch diese Anforderungen müssen bereits zu Beginn eines Projekts berücksichtigt werden, um zu vermeiden, dass die Arbeit im Nachhinein wiederholt werden muss. Dies ist ein wichtiger Bereich für die Automatisierung, da die Normen in regelmäßigen Abständen veröffentlicht und weit verbreitet werden.

5. Lokalisierung/Globalisierung

Lokalisierung ist eine weitere NFR, die unbedingt von Anfang an berücksichtigt werden muss, insbesondere wenn Ihr Produkt international eingesetzt werden soll. Im Wesentlichen geht es bei diesen Anforderungen darum, die Verwendung in unterschiedlichen kulturellen, sprachlichen und geografischen Umgebungen zu erleichtern. Dazu gehören Dinge wie Sprachen und Dialekte, kulturelle Empfindlichkeiten oder Datums- und Zeitformate.

Selbst so etwas Spezifisches wie Zeitzonen können zu einem Desaster werden, wenn sie nicht korrekt formatiert sind. Da Finanztransaktionen zunehmend digitalisiert werden, sind auch die Anforderungen an Währung und Umtausch für die erfolgreiche Nutzung von Produkten an jedem Ort unerlässlich geworden.

6. Übertragbarkeit (Kompatibilität)

Unsere Welt ist voller Geräte, und es ist wichtig, dass Sie festlegen, mit welchen Geräten Ihre Endbenutzer auf Ihre Produkte und Dienstleistungen zugreifen können. Welche Art von Hardware? Werden mobile Geräte einbezogen? Wie viele Auflösungen werden Sie unterstützen? Wie viele Browser? All diese Fragen müssen gestellt und beantwortet werden, bevor die Entwicklung beginnt.

7. Benutzerfreundlichkeit

Die Mehrheit der Software wird heute von Menschen genutzt, die sie nicht selbst entwickelt haben. Ein gut kodiertes Backend ist nur so gut wie das Front-End-Design und die Benutzerfreundlichkeit. Das Konzept der Benutzerfreundlichkeit beinhaltet die Einbeziehung von Überlegungen zu Benutzer-Personas und der allgemeinen Zielgruppe(n) in das Design und Verhalten des Systems.

8. Einhaltung der Vorschriften

Je mehr unser Leben online abläuft oder mit der Technologie verflochten ist, desto mehr Gesetze und Vorschriften kommen zum Tragen, wie unsere Technologie produziert wird und sich verhalten muss. Dabei gibt es natürlich verschiedene Ebenen, von der lokalen über die staatliche bis zur nationalen und internationalen Ebene. Ihr Engagement hängt größtenteils von Ihrem Zielpublikum ab. Bestimmte Dinge, wie die Einhaltung des HIPAA, sind jedoch für bestimmte Märkte vorgeschrieben.

Der Grund dafür, dass die Einhaltung der Vorschriften schon früh in Betracht gezogen werden sollte, liegt darin, dass sie oft mit Daten- und Berichtsanforderungen verbunden sind, die von Anfang an berücksichtigt werden müssen.

9. Verfügbarkeit/Zuverlässigkeit

Am wichtigsten für webbasierte Produkte ist die Verfügbarkeit, d. h. die Zeit, in der das System zwischen Wartungsarbeiten oder Ausfällen aktiv ist. Um diese Eigenschaft zu quantifizieren, verwenden Analysten Datenpunkte wie den Durchschnitt der Zeit zwischen Systemausfällen. Dies gibt uns eine Vorstellung von der Leistung des Systems, die wir zur Festlegung von Benchmarks verwenden können.

NFRs dokumentieren

Das Verständnis der Arten und Identitäten von NFRs ist eine wesentliche Fähigkeit, da die Kunden ihre Komplexität und Bedeutung oft nicht verstehen oder schätzen. Da es sich bei den NFRs um dauerhafte Eigenschaften und Einschränkungen handelt, die einem System Struktur verleihen, müssen ihre Auswirkungen so organisiert werden, dass die Integrität der Referenzen während der gesamten Projektlaufzeit gewährleistet ist. Wir empfehlen, diese Checkliste für nichtfunktionale Anforderungen leicht zugänglich aufzubewahren, damit Sie in Zukunft darauf zurückgreifen können.

Ein guter Weg, um über NFRs und ihre Dokumentation nachzudenken, ist sicherzustellen, dass jede von ihnen die folgenden Eigenschaften hat. Sie sollten begrenzt sein, d. h. durch eine quantifizierte Grenze eingeschränkt werden. Wie wird die Anforderung gemessen und was ist das Ziel oder die Obergrenze?

Sie sollten unabhängig sein, d. h. sie sollten über einen eigenen Satz von Bewertungskriterien verfügen. Da es sich um systemimmanente Merkmale handelt, die sich auf die gesamte oder den größten Teil der zu leistenden Arbeit auswirken, müssen sie verhandelbar sein. Schließlich sollten sie testbar sein, und schließlich werden für alle NFRs detaillierte Testskripte geschrieben.

nfr-qualities

NFRs Implementierung

Eine der größten Herausforderungen bei der Umsetzung von NFRs besteht darin, dass sie im Gegensatz zu funktionalen Anforderungen die Arbeit während des gesamten Projektzeitraums und manchmal sogar während des gesamten Lebenszyklus beeinflussen. Die NFR-Implementierung sollte auf zwei verschiedenen Wegen erfolgen.

Wenn die NFR eine beiläufige Implementierung erfordert, wie z. B. Änderungen zur Einhaltung von Vorschriften, muss Ihr Team die Arbeit für die Frist organisieren. Andere Anforderungen erfordern Änderungen im Laufe der Zeit, und Verbesserungen können auf dem Weg dorthin vorgenommen werden. In jedem Fall ist die wichtigste Überlegung, wie die Anforderungen mit den verschiedenen Teilen des Systems zusammenhängen, sein Verhalten beeinflussen und wie sich dies im Laufe der Zeit auf seine Entwicklung und Wartung auswirkt.

Haben Sie eine Frage zu NFRs oder unserer Checkliste für nichtfunktionale Anforderungen? Kontaktieren Sie uns hier.

Brauchen Sie weitere Hilfe?

Denken Sie, dass es an der Zeit wäre, zusätzliche Hilfe in Anspruch zu nehmen?

Door3.com