Los requisitos son condiciones o funcionalidades que el software debe tener o cumplir para resolver un problema o satisfacer un contrato. Se derivan de los Requerimientos.

Los requisitos pueden ser:

  1. Funcionales: indican qué hace el software. Son las funciones, servicios o tareas que ofrece. Es el comportamiento externo.
  2. NO Funcionales: son condiciones o restricciones que los usuarios imponen al software con aspectos de calidad. Son propiedades que indican cómo es el software. Pueden ser:
    • De producto: especifican o restringen el comportamiento del software.
    • Organizacionales: políticas y procedimientos existentes en la organización que afectan al proceso de desarrollo de software.
    • Externos: son leyes, regulaciones, aspectos éticos.
  3. De Información: describen la información a almacenar con el software. Identifican el concepto relevante y sus datos específicos.
  4. De Transición: son condiciones a cumplir para pasar de la situación actual a la nueva. Son temporales y ayudan a implementar el software en la organización.

Los requisitos deben ser:

  1. Posibles: bajo tecnologías actuales.
  2. Necesarios: el software es peor si no lo tuviese. La necesidad refiere al interés de los usuarios en que el software tenga la funcionalidad.
  3. Priorizados: según necesidad o urgencia.
  4. Concretos: no ambiguos.
  5. Verificables: medible en un lapso de tiempo.

La estabilidad de un requisito refiere a la probabilidad de que el requisito cambie. Algunos requisitos son volátiles, y por ende es importante la Gestión de Requisitos. Cada requisito debe ir acompañado de una estimación del Riesgo que supone realizarlo.

Priorización

Se clasifican los requisitos en:

  1. Mandatorios: deben estar para que el producto tenga valor.
  2. Deseables: al cliente le gustaría tenerlos, pero no son obligatorios.
  3. No prioritarios: son posibles pero también eliminables.

La priorización asegura que el esfuerzo se aplique primero a los requisitos más críticos. Se pueden usar técnicas como:

  • MoSCoW: Must, Should, Could, y Won’t.
  • KANO: necesidades básicas, de performance, deslumbrantes, y indiferentes.
  • DINO: Deseables, Importantes, No obligatorios, y Obligatorios.