Extraer los requisitos de un producto de software es la primera etapa para crearlo. mietras que los clientes piensan que ellos saben lo que el software tiene que hacer, se requiere de habilidad y experiencia en la ingenieria de software para reconocer requisitos incompletos, ambiguos o contradictorios.