Prinzipiell kann man alles programmieren. Die Art wie man eine Anforderung umsetzt, begrenzt diese unendliche Vielfalt.
Überlege also wo Flexibilität notwendig ist (jetzt), und welche ggf. später mit welchem Aufwand eingebaut werden kann.
Lasse dich also von dem Gedanken leiten, dass das Werk schon da ist, und du nur den Umriss aufzeigen musst. Beschränke also die Möglichkeiten durch die Codierung. D.h. entscheide bei dem Entwurf, welche Möglichkeiten damit (zunächst) verbaut werden. Der Rest sollte der Anforderung entsprechen.
Kann man daraus Rückschlüsse auf die Anforderungsdefinition ableiten?