Si inizia un processo di sviluppo identificandone innanzitutto gli utenti, gli obiettivi che un utente desidera raggiungere o un particolare problema da risolvere, quindi individuando la funzionalità e l'ambiente del sistema che raggiungerà questi obiettivi o risolverà il problema. Vengono raccolte informazioni, documenti e requisiti funzionali e vengono identificati i requisiti associati a funzioni, attività o comportamenti specifici del sistema.
Una volta identificati i requisiti, è possibile creare un modello caso di utilizzo che descriva la funzionalità, nei termini di come il sistema verrà utilizzato.
Durante la raccolta, i requisiti vengono strutturati e illustrati nei dettagli. I requisiti possono provenire da origini diverse, ma i documenti dei requisiti e le interviste degli utenti sono comuni. È possibile gestire la raccolta e la documentazione dei requisiti mediante IBM Rational RequisitePro.