En el proyecto de desarrollo de software se pueden abordar requisitos de distintos tipos. En general, se abordan requisitos del proceso y del producto. Los requisitos del proceso básicamente constituyen restricciones respecto de la forma en que se debería desarrollar el software. Es decir, impone que se ejecuten ciertas actividades, o que se utilicen recursos con ciertas características para crear el software. Esto incluye aspectos asociadas las certificaciones de la empresa que desarrolla y de los integrantes de los equipos. Por ejemplo, que la empresa esté certificada con el estándar ISO 9000, que los programadores tengan el certificado de desarrollador en Java, que el tiempo de entrega sea menor a seis meses. Estos requisitos pueden ser impuestos por el cliente, por la organización que desarrolla software o por terceros, como organizaciones reguladoras que certifican que se ha aplicado algún estándar de interés en el sector industrial de que se trate.
Estos requisitos, aunque muy importantes para satisfacer las necesidades del cliente, corresponden al ámbito del proyecto. Se deberán negociar con el cliente según los requisitos establecidos en el ámbito del software por desarrollar. Así, si el requisito del proyecto es entregar un producto de software en un año para pasar el sistema manual de expediente clínico de un hospital regional a un sistema basado en computadora, se deberán negociar el ámbito del software. Es decir, qué tipos de funciones proveerá el sistema para qué tipo de involucrados y sobré qué datos del expediente clínico.
Los requisitos del producto de software, por su parte, abordan las capacidades que los usuarios pueden acceder una vez que el sistema esté en operación. Dentro de los requisitos del producto también se incluyen las propiedades que deberán estar presentes en el software así como una variedad de requisitos de calidad asociados. Cuando se abordan los requisitos del producto, generalmente, el concepto se refiere a las características que mostrará el software cuando esté en operación en el ambiente destino. Estas características se describen en los documentos de especificación de requisitos del usuario y especificación de requisitos del sistema, o el documento de visión y alcance.
Durante el desarrollo de software también se pueden imponer requisitos a otros productos generados, como son el diseño del software y los casos de prueba. En estos casos los requisitos asociados a las decisiones de diseño, por ejemplo características de las interfaces de usuario, o mecanismos de verificación de autenticidad del usuario, se establecen en la etapa de diseño de software. Requisitos respecto de los procedimientos de prueba y la cobertura de pruebas, se establecen en los documentos correspondientes. Además, en el desarrollo de sistemas críticos, como aquellos que controlan los trenes, o dispositivos computacionales para el control de los signos vitales humanos, se exige que se realicen ciertos procedimientos de análisis riguroso para garantizar que ha pasado las pruebas que se consideran pertinentes para su uso general.