FURPS+

Was ist das?
Was kann das?

FURPS+: Ein Framework für Qualitätsanforderungen in der Softwareentwicklung

In der Welt der Softwareentwicklung spielen Qualitätsanforderungen eine entscheidende Rolle. Um sicherzustellen, dass Softwareprodukte den Anforderungen der Nutzenden gerecht werden und die gewünschten Funktionalitäten bieten, bedarf es einer strukturierten Herangehensweise speziell im Bereich des Nicht-funktionalen. In diesem Blogbeitrag stellen wir ein bewährtes Modell zur Bewertung und Verbesserung der Software-Qualitätsanforderungen vor.

Was ist FURPS+?

FURPS steht für Functionality (Funktionalität), Usability (Benutzerfreundlichkeit), Reliability (Zuverlässigkeit), Performance (Leistungsfähigkeit) und Supportability (Wartbarkeit). Das „+“ in FURPS+ hilft uns auch bei der Berücksichtigung von weiteren Aspekten wie:

• Designanforderungen
• Implementierungsanforderungen
• Schnittstellenanforderungen
• Physische Anforderungen

Es handelt sich um ein umfassendes Framework, das von Robert Grady bei Hewlett-Packard entwickelt wurde und als Leitfaden für die Entwicklung von Softwareprodukten dient.

Funktionalität (Functionality):

Die Funktionalität einer Software bezieht sich auf die Erfüllung der funktionalen Anforderungen. Das bedeutet, dass die Software die gewünschten Aufgaben und Funktionen erfüllen muss, um den Anforderungen der Nutzenden gerecht zu werden. Ein Schwerpunkt liegt auf der Spezifikation, Implementierung und Prüfung der Funktionalität, um sicherzustellen, dass sie korrekt und vollständig ist. Beispielsweise die funktionale Vollständigkeit oder auch die funktionale Adäquatheit ist hierzu sinnvoll mit Anforderungen zu spezifizieren.

Benutzerfreundlichkeit (Usability):

Benutzerfreundlichkeit bezieht sich auf die einfache und intuitive Bedienung einer Software. Hier ist eine sorgfältige Gestaltung der Benutzeroberfläche entscheidend, damit Nutzende die Software effizient und effektiv verwenden können. Aspekte wie Navigation, Anordnung der Funktionen und die Verständlichkeit der Benutzeroberfläche spielen dabei eine wichtige Rolle. Zu spezifizierende Anforderungen können beginnen bei generellen Bedienkonzepten bis hin zu konkret designten Oberflächen (UI, GUI) bspw. mittels Prototypen (Wireframen oder Mockups).

Zuverlässigkeit (Reliability):

Zuverlässigkeit ist ein kritischer Aspekt jeder Software. Hier geht es um die fehlerfreie Arbeitsweise und die Erfüllung der gestellten Aufgaben. Die Identifizierung und Behebung von Fehlern sowie die Vermeidung von Abstürzen oder Datenverlusten sind zentral. Tests und Überwachungsmechanismen tragen dazu bei, die Zuverlässigkeit sicherzustellen. Anforderungen hierzu sollten immer spezifische Werte enthalten – achten Sie also darauf, keinerlei Adjektive/Adverbien in Ihrer Anforderungsspezifikation zu verwenden.

Leistungsfähigkeit (Performance):

Leistungsfähigkeit bezieht sich auf die Geschwindigkeit, Antwortzeit und Skalierbarkeit einer Software. Eine optimierte Codebasis und Algorithmen sind entscheidend, um eine schnelle und effiziente Arbeitsweise zu gewährleisten. Die Messung und Überwachung der Leistung helfen dabei, Engpässe zu identifizieren und die Leistung zu verbessern. Anforderungen können einerseits spezifisch zu einzelnen Funktionen formuliert werden oder andererseits als recht generische Performance-Klassen als Stellvertreter für eine Gruppe von Funktionen (dies spart viel Zeit beim Anforderungen spezifizieren).

Wartbarkeit (Supportability):

Wartbarkeit beschreibt die Fähigkeit, eine Software effizient zu warten und zu aktualisieren. Eine modulare und gut strukturierte Softwarearchitektur erleichtert Entwicklern Änderungen und Fehlerbehebungen. Dokumentation, Kommentierung und bewährte Entwicklungspraktiken spielen hierbei eine wichtige Rolle. Beachten Sie hierbei, dass nicht die „üblichen Verdächtigen“ Stakeholder wie fachlich orientierte EndanwenderInnen diese Anforderungen benennen, sondern Beteiligte Personen aus den Bereich IT-Betrieb und -Service oder auch -Test.

Das FURPS+ Framework bietet einen umfassenden Ansatz zur Qualitätssteigerung Ihrer Anforderungsspezifikationen in der Softwareentwicklung. Es unterstützt Entwickler dabei, die Anforderungen an (Qualität der) Funktionalität, Benutzerfreundlichkeit, Zuverlässigkeit, Leistungsfähigkeit und Wartbarkeit zu erfüllen. Durch die Anwendung dieses Frameworks können Softwareentwicklungsprojekte effizienter gestaltet werden, da die Qualitätsanforderungen von Anfang an vollständiger berücksichtigt werden. Die Verwendung dieses Frameworks ermöglicht es Ihnen, Softwareprodukte von hoher Qualität zu liefern, die den Erwartungen der Benutzenden hinsichtlich vor allem nicht-funktionaler Aspekte zielgerichtet entsprechen.

Quellen:

FURPS+ von Robert Grady, Hewlett Packard:
https://www.researchgate.net/figure/Mccalls-Triangle-Quality-FURPS-SOFTWARE-QUALITY-MODEL-The-FURPS-model-was-initially_fig1_331305223

Arc42:
FURPS+ for Classifying Requirements:
https://quality.arc42.org/articles/quality-models#eeles

Canada calling – das SOPHIST Lumberjack Summercamp

Man muss nicht in die Ferne schweifen, wenn das Gute liegt so nah ? 
 
Fast 4 Tage waren die SOPHISTen im Kanada-Fieber. Nein, wir waren nicht auf der anderen Seite des Globus – das hätte sich für die paar Tage nicht gelohnt – aber wir hatten trotzdem nature-vibes, als wären wir in den kanadischen Rockys.  
 
Wir waren in Bavarian Canada, einem kleinen Stückchen Land in Niederbayern in unmittelbarer Nähe von Viechtach. Die Landschaft, die wirklich sehr an Kanadas wild-romantische Westküste erinnern lässt, war einfach traumhaft. Der niederbayrische Slang und die Gastfreundschaft der Ortsansässigen, die Location Schnitzmühle und das grandiose Wetter haben uns komplett entschleunigt. Das liebevoll von uns titulierte SOPHIST Lumberjack Summercamp war einfach grandios. 

Am vergangenen Freitag ging es direkt morgens los. Fahrt nach Viechtach – Dauer von Nürnberg aus ca. 2 Stunden und bei der Ankunft erstmal ein Gläschen Aperol Spritz oder ein kleiner Cocktail oder ein lokales, erfrischendes Bier. (Natürlich gab es auch anti-alkoholische Getränke). Bei dieser Gelegenheit hat auch noch jeder ein kleines Survival-Bag bekommen, welches neben ein paar Wasserflaschen und Snacks auch eine mit 50€ aufgeladene Getränke-Gutscheinkarte und eine „Aufgabe“ beinhaltet hat. Ja, so kann eine Firmenreise losgehen. Ankommen, runterkommen, entspannen. Ein guter Start! 

Weiterlesen

Wie war das jetzt noch mal mit Assessment-Unterstützung?

Wir SOPHISTen sind bekannt für unser Know-how, unsere Methodenentwicklung und unsere Expertise im Requirements Engineering und im Systems Engineering. Aber was viele nicht wissen, ist, dass wir auch seit mehr als 25 Jahren unsere Kunden bei Assessments unterstützen. Oder präziser ausgedrückt, wir führen bei und mit unseren Kunden sogenannte Vor-Assessments durch. Sei es nun als Vorbereitung, um eine Zertifizierung eines gewissen Standards wie A-SPICE im Automobilbereich oder VAIT-Vorgaben im Versicherungsbereich zu erhalten oder um auf ein „etwas unfreiwilliges“ Assessment einer Behörde gut vorbereitet zu sein.

Wir haben im vergangenen halben Jahr insgesamt 4 Artikel über Assessments bzw. Vor-Assessments veröffentlicht, um etwas tiefer zu beleuchten, wie SOPHIST dabei helfen kann.

Ein halbes Jahr ist eine lange Zeit und vielleicht haben Sie ja einen der Artikel verpasst oder vielleicht wurden Sie nicht schlau daraus.

Genau deswegen gibt es jetzt eine kleine Zusammenfassung, bei der wir jeweils noch kurz auf die einzelnen Artikel eingehen.

Weiterlesen

Das richtige Vorgehen bei Auswahl und Definition von Qualitätskriterien

In unserer Artikel-Serie zu den Qualitätskriterien von Anforderungen sind wir mit diesem Artikel bereits beim vierten und letzten Artikel angekommen.
Im ersten Artikel haben Sie erfahren, wozu Qualitätskriterien eingesetzt werden.
Kurze Wiederholung: Zur Verbesserung des Verständnisses über Systemeigenschaften, Systemfunktionen und -verhalten aller Stakeholder, welche über Anforderungen kommuniziert werden.

Im zweiten Artikel haben wir Ihnen gezeigt, dass Qualitätskriterien für die Einschätzung und Bewertung von Anforderungen wichtig sind. Es geht also um die Qualität von Anforderungen.

Und im dritten Artikel haben Sie gelernt, wie Sie die Qualitätskriterien für die Bewertung von Anforderungen einsetzen und welche Regeln Sie zur Verbesserung der Anforderungen ableiten können.

Im heutigen und damit letztem Artikel dieser Blogserie lernen Sie ein Vorgehen kennen, um entsprechend der gewünschten Qualitätsziele der Anforderungen die entsprechenden Qualitätskriterien auszuwählen und dazu messbare Subkriterien und Regeln abzuleiten.

Qualitätsziele definieren

Falls Sie schon mal nach Qualitätskriterien gegoogelt oder verschiedene Quellen konsultiert haben, waren Sie sicher überrascht, wie sich die Qualitätskriterien in den unterschiedlichen Quellen unterscheiden.

Ein pragmatischer Ansatz ist es, die ausgewählten Qualitätskriterien nach den Qualitätszielen auszurichten, die Ihre Anforderungen erfüllen sollen. Sie werden gleich feststellen, dass sich die Qualitätsziele teilweise mit den Namen der Qualitätskriterien decken, doch vielmehr geht es um die Denkweise und um einen pragmatischen Ansatz, der dahintersteht.
Was macht also die Qualität einer Anforderung aus?

Weiterlesen

Arten von Assessments: A ≠ A

SOPHIST bietet vorbereitende Assessments (nachfolgend Vor-Assessments genannt) im Bereich Requirements and Systems Engineering für verschiedene Assessments in unterschiedlichen Branchen wie beispielsweise A-Spice für die Automobil-Branche an.

Im letzten Blogbeitrag (Wie-läuft-eigentlich-ein-Assessment-mit-SOPHIST-ab/) stellten wir Ihnen vor, wie Sie von einer Vorbereitung für ein reales Assessment mit Unterstützung von SOPHIST profitieren können. Heute möchten wir Ihnen die Unterschiede zu einem realen Assessment erläutern und Unterschiede der Assessments in verschiedenen Branchen aufzeigen.

Unterschiede eines vorbereitenden Assessments zu einem realen Assessment

Der Umfang kann sich von einem Vor-Assessment zu einem realen Assessment unterscheiden. In einem Vor-Assessment ist es möglich, bestimmte Teilbereiche der Entwicklung zu prüfen. Ein reales Assessment bewertet zudem weitere Prozessbereiche wie beispielsweise das Projektmanagement und damit den gesamten Entwicklungsprozess. Somit werden in einem realen Assessment auch weitere Disziplinen wie die Implementierung und das Testmanagement oder die funktionale Sicherheit abgeprüft. Verschiedene Beratungsunternehmen haben in deren verschiedenen Wirkungsbereichen in der Gesamtentwicklung ihre Stärken und Schwächen. Eruieren Sie, welche Beratungsunternehmen Ihnen für die speziellen Teilbereiche/Disziplinen in der Vorbereitung des Assessments weiterhelfen können. Die ausgewählten Beratungsunternehmen werden Sie zudem in der Regel auch bei Nachbereitung des realen Assessments unterstützen. Wir SOPHISTen können Ihnen in den Bereichen Requirements and Systems Engineering weiterhelfen.

Der zweite Unterschied liegt im Zweck der beiden Assessments. Mit einem Vor-Assessment können Sie sich langsam an das “kalte Wasser” gewöhnen, in das Sie sich mit dem realen Assessment wagen. Sie haben die Möglichkeit, Einblick in den Ablauf des realen Assessments zu bekommen. Sie bekommen ein Gefühl für die Fragen, die gestellt werden, wie Ihre Antworten bewertet werden, wie eine Gesamt-Auswertung aussieht und wie es nach dem Assessment weitergeht und welche Aspekte Sie vor dem realen Assessment schon verbessern können. Durch ein Vor-Assessment bekommen Sie ein sichereres Gefühl, um das reale Assessment zu bestreiten.

Unterschiede im Ziel der Assessments

Weiterlesen