As principais técnicas de elicitação de requisitos podem ser classificadas em quatro categorias: tradicionais, colaborativas, cognitivas e abordagens contextuais. Na categoria colaborativa encontram-se:
A maior dificuldade na construção de um software é decidir precisamente o que construir. Em geral, nenhuma outra parte do trabalho conceitual é mais difícil quanto estabelecer detalhadamente os requisitos técnicos. Entre as 5 principais dificuldades relatadas na literatura da área de engenharia de requisitos não se inclui: