Wenn wir Software nicht für uns selber schreiben, sondern weil andere Menschen sie einsetzen sollen, müssen wir eine andere Messlatte, als bei uns selbst, anlegen. Es geht um die Frage, wie das Produkt gebaut sein muss, damit es den Wünschen und Vorstellungen des Kunden am besten dient. Dabei gibt es drei grundlegende Aspekte, die wir betrachten müssen:

1. Nutzer-, Nutzungs- und Nutzenorientierung

Nutzerorientierung

…​ bezeichnet das Identifizieren und Verstehen der Bedürfnisse des Nutzers der Software. In dieser Definition steckt bereits eine große Herausforderung: den Nutzer gibt es in den seltensten Fällen, eher verschiedene Nutzergruppen.

Nutzungsorientierung

…​ beschreibt das Befriedigen der ermittelten Nutzerbedürfnisse. Dabei spielen, neben den fachlichen Aspekten dessen was die Anwendung leisten soll, auch die Gebrauchtauglichkeit (Usability) und das Nutzungserlebnis (User Experience) eine Rolle.

Nutzenorientierung

…​ heißt, dass eine Anwendung der Unternehmung als Ganzes einen Nutzen bringen soll. Das kann beispielsweise in Form von Kostenersparnis durch Produktivitätssteigerung der Fall sein.

Diese Aspekte finden wir im Bereich der Anforderungsanalyse im Detail wieder.