La création doit être basée sur une solide compréhension des attentes et des usages des utilisateurs. Les spécifications ne doivent pas uniquement concerner l'architecture technique mais doivent également prendre en compte la manière dont raisonnent et procèdent les utilisateurs pour accomplir des tâches au sein d'un processus.
Avant de lancer un développement coûteux, il est fortement recommandé de spécifier des fonctionnalités allant dans le sens des connaissances et du raisonnement des utilisateurs.