고객이 소프트웨어에서 기대하는 요구 사항과 제한 사항을 개발할 수 있는 형태로 옮겨가는 것
요구 사항은 고객 입장에서 잘 사용하고 이해하는 기능이라면 쉽고 기술적으로 자세하게 이야기하지만, 소프트웨어가 만들어져 있지 않거나 이해도가 낮은 상태라면 추상적으로 표현될 수 있다. 또는 기존 시스템의 개선이나 구체적인 목표에서 구체적인 숫자를 요구하는 정량적 기준이 있는 요구 사항도 있다.
큰 프로젝트를 계약함에 있어 추상적, 구체적 요구사항을 빠짐없이 정의해야 한다.
요구 사항은 고객에게 소프트웨어의 이해에 대한 기초자료 및 결과에 대한 검증 자료로 사용되며, 제작자 입장에서는 만들어야 되는 내용으로 사용된다.
높은 추상화 수준에서 세세한 정량적 기준까지 요구 사항은 다양하기 때문에, 다양한 요구사항을 듣고 구현할 수 있도록 system requirement에 담는 것이 필요하다.