12. Restricciones técnicas, legales, operativas y comerciales

12.1 Introducción

Las restricciones son condiciones que limitan la solución de software. No siempre describen una función que el sistema debe ofrecer, pero sí establecen límites que el proyecto debe respetar.

Una restricción puede indicar qué tecnología debe usarse, qué norma legal debe cumplirse, en qué horario debe operar el sistema, qué presupuesto existe o con qué sistema externo debe integrarse.

Identificar restricciones temprano es fundamental. Si aparecen tarde, pueden obligar a cambiar diseño, arquitectura, alcance, pruebas, costos o fechas de entrega.

12.2 ¿Qué es una restricción?

Una restricción es una condición externa o interna que reduce las alternativas posibles para construir, desplegar, operar o mantener el sistema.

Una restricción no siempre dice qué función debe hacer el sistema; muchas veces dice qué condiciones debe respetar la solución.

Ejemplos:

  • El sistema debe integrarse con el sistema contable existente.
  • La aplicación debe funcionar en los navegadores aprobados por la organización.
  • Los datos personales deben tratarse según la normativa vigente.
  • La primera versión debe estar disponible antes del inicio de temporada alta.
  • El sistema debe instalarse en la infraestructura interna de la empresa.

12.3 Diferencia entre restricción, regla y requerimiento

Restricciones, reglas de negocio y requerimientos están relacionados, pero conviene distinguirlos.

Concepto Qué expresa Ejemplo
Regla de negocio Condición propia del dominio o forma de operar de la organización. Un cliente con deuda vencida no puede comprar a crédito.
Restricción Límite que condiciona cómo debe construirse, operar o entregarse la solución. El sistema debe integrarse con la base de clientes existente.
Requerimiento Condición o comportamiento que el sistema debe cumplir. El sistema debe validar deuda vencida antes de confirmar una venta a crédito.

Una restricción puede generar requerimientos funcionales o no funcionales, pero su origen suele ser un límite del contexto.

12.4 Tipos principales de restricciones

En requerimientos es común clasificar restricciones en varias categorías. Las más frecuentes son técnicas, legales, operativas y comerciales.

Tipo Qué limita Ejemplo
Técnica Tecnologías, arquitectura, integraciones, plataformas o infraestructura. La aplicación debe usar el proveedor de autenticación corporativo.
Legal Normas, leyes, contratos, regulaciones o cumplimiento obligatorio. Los datos personales deben conservarse y eliminarse según la normativa aplicable.
Operativa Forma de trabajo, horarios, disponibilidad de usuarios, soporte o procesos. El sistema no puede interrumpir la operación durante horario de atención.
Comercial Presupuesto, plazos, licencias, proveedores, contratos o mercado. La primera versión debe entregarse antes de una fecha contractual.

12.5 Restricciones técnicas

Las restricciones técnicas condicionan decisiones de tecnología, integración, infraestructura, arquitectura o compatibilidad.

Ejemplos:

  • El sistema debe funcionar sobre la infraestructura en la nube ya contratada por la organización.
  • La autenticación debe realizarse mediante el servicio corporativo existente.
  • La aplicación debe integrarse con una base de datos heredada.
  • Los reportes deben exportarse en el formato utilizado por el sistema contable.
  • El sistema debe ser compatible con los navegadores aprobados por el área de tecnología.
  • La solución debe exponer una API REST para integraciones internas.

Estas restricciones deben revisarse con el equipo técnico para evaluar factibilidad, riesgos e impacto.

12.6 Restricciones legales

Las restricciones legales provienen de leyes, normas, contratos, regulaciones sectoriales o políticas obligatorias. Son especialmente importantes cuando el sistema maneja datos personales, información financiera, salud, educación, contratos o registros auditables.

Ejemplos:

  • El sistema debe proteger datos personales según la normativa vigente.
  • Las facturas emitidas deben cumplir el formato exigido por la autoridad fiscal correspondiente.
  • Los registros de auditoría deben conservarse durante el período establecido por regulación.
  • El usuario debe aceptar términos y condiciones antes de usar el servicio.
  • La eliminación de datos debe respetar plazos legales de conservación.

Para este tipo de restricciones conviene involucrar a áreas legales, auditoría o cumplimiento normativo.

12.7 Restricciones operativas

Las restricciones operativas surgen de la forma en que la organización trabaja. Afectan horarios, procesos, soporte, capacitación, disponibilidad de usuarios, ambientes y procedimientos.

Ejemplos:

  • La migración de datos debe realizarse fuera del horario de atención al público.
  • El sistema debe poder operar con conectividad intermitente en sucursales remotas.
  • El soporte de primer nivel será realizado por el equipo interno de mesa de ayuda.
  • Los usuarios solo estarán disponibles para pruebas los viernes por la tarde.
  • La puesta en marcha debe realizarse sin detener el sistema actual hasta finalizar la transición.

Ignorar restricciones operativas puede hacer que una solución técnicamente correcta sea difícil de implementar en la práctica.

12.8 Restricciones comerciales

Las restricciones comerciales se relacionan con presupuesto, fechas, contratos, licencias, proveedores, acuerdos de servicio o condiciones del mercado.

Ejemplos:

  • La primera versión debe estar disponible antes del inicio de la campaña comercial.
  • El proyecto no debe requerir licencias adicionales durante el primer año.
  • La solución debe utilizar proveedores ya aprobados por compras.
  • El costo mensual de operación no debe superar el presupuesto asignado.
  • La entrega debe cumplir hitos establecidos en el contrato.

Estas restricciones pueden afectar alcance, tecnología, prioridades y estrategia de versiones.

12.9 Restricciones de datos

Además de las categorías principales, muchos proyectos tienen restricciones relacionadas con datos: origen, calidad, conservación, migración, propiedad, privacidad y disponibilidad.

Ejemplos:

  • Los datos históricos de clientes deben migrarse desde planillas existentes.
  • No se migrarán operaciones anteriores a determinada fecha.
  • Los datos de pagos deben almacenarse solo en el proveedor de pagos autorizado.
  • Los registros eliminados deben conservar una marca lógica para auditoría.
  • Los datos sensibles deben mostrarse parcialmente ocultos para ciertos perfiles.

Estas restricciones suelen afectar diseño de base de datos, seguridad, migración y pruebas.

12.10 Restricciones de integración

Cuando el sistema debe comunicarse con otros sistemas, aparecen restricciones específicas de integración.

Ejemplos:

  • El sistema debe enviar comprobantes al sistema contable al finalizar cada jornada.
  • La consulta de stock debe realizarse mediante el servicio existente de inventario.
  • La pasarela de pagos solo informa resultados mediante notificaciones externas.
  • El sistema de logística recibe pedidos en un formato de archivo predefinido.
  • La sincronización con el sistema heredado debe ejecutarse cada noche.

Las integraciones son una fuente frecuente de dependencias y riesgos, por lo que deben aclararse temprano.

12.11 Cómo identificar restricciones

Para identificar restricciones, conviene hacer preguntas específicas durante la elicitación:

  • ¿Hay tecnologías obligatorias o prohibidas?
  • ¿Existen sistemas existentes con los que haya que integrarse?
  • ¿Qué leyes, normas o auditorías deben cumplirse?
  • ¿Qué presupuesto o plazo condiciona la solución?
  • ¿Hay horarios donde no se puede interrumpir la operación?
  • ¿Qué proveedores, licencias o contratos deben respetarse?
  • ¿Qué datos deben migrarse, conservarse o protegerse?
  • ¿Qué áreas deben aprobar decisiones técnicas o de cumplimiento?

Estas preguntas ayudan a descubrir límites que no siempre aparecen en pedidos funcionales.

12.12 Cómo documentar restricciones

Una restricción debe documentarse de manera clara y con suficiente contexto. Puede incluir:

  • Identificador.
  • Tipo de restricción.
  • Descripción.
  • Origen o fuente.
  • Responsable de validación.
  • Impacto en el sistema o proyecto.
  • Requerimientos afectados.
  • Riesgo si no se cumple.
  • Estado de validación.

Esta información facilita evaluar consecuencias y tomar decisiones informadas.

12.13 Ejemplo de documentación

Campo Ejemplo
Identificador RT-001
Tipo Técnica
Descripción La autenticación de usuarios debe realizarse mediante el proveedor corporativo existente.
Fuente Área de tecnología.
Impacto Condiciona el diseño de inicio de sesión, permisos e integración de usuarios.
Riesgo Si el proveedor no está disponible para pruebas, se retrasa la validación de acceso.
Requerimientos afectados Inicio de sesión, gestión de roles, cierre de sesión, auditoría de accesos.

12.14 Restricciones y decisiones de diseño

Las restricciones influyen en decisiones de diseño, arquitectura y planificación. Algunas limitan alternativas; otras obligan a elegir un camino específico.

Por ejemplo, si la organización exige usar una base de datos existente, el diseño de datos debe considerar su estructura, rendimiento y limitaciones. Si una norma exige auditoría, el sistema debe registrar eventos relevantes desde el inicio.

Por eso, las restricciones deben comunicarse al equipo técnico antes de comprometer una solución.

12.15 Restricciones y riesgos

Muchas restricciones introducen riesgos. Un proveedor externo puede no entregar documentación a tiempo, una migración puede encontrar datos incompletos, una norma puede requerir interpretación legal o una fecha comercial puede obligar a reducir alcance.

Al analizar una restricción conviene preguntar:

  • ¿Qué ocurre si no se cumple?
  • ¿Qué tan probable es que genere problemas?
  • ¿Qué partes del sistema afecta?
  • ¿Qué decisiones dependen de ella?
  • ¿Quién puede resolver dudas o aprobar excepciones?
  • ¿Existe una alternativa si la restricción cambia?

Registrar estos riesgos ayuda a planificar mejor.

12.16 Restricciones negociables y no negociables

No todas las restricciones tienen el mismo grado de flexibilidad. Algunas son obligatorias; otras pueden negociarse.

Tipo Descripción Ejemplo
No negociable Debe cumplirse por ley, contrato, seguridad crítica o decisión firme. Los datos fiscales deben cumplir el formato exigido por normativa.
Negociable Puede modificarse si se evalúan costos, beneficios y alternativas. Usar una herramienta específica para reportes si existe una alternativa aprobada.
Condicional Aplica solo bajo ciertas condiciones o para una etapa determinada. La primera versión no incluirá integración en tiempo real, solo sincronización nocturna.

Conocer el grado de flexibilidad evita discusiones innecesarias y ayuda a priorizar.

12.17 Ejemplo aplicado

Supongamos que se construirá un sistema de reclamos para una empresa de servicios. Durante el relevamiento aparecen estas restricciones:

  • Técnica: debe integrarse con el sistema actual de clientes.
  • Legal: los reclamos deben conservarse durante el plazo exigido por regulación.
  • Operativa: la mesa de ayuda trabaja de lunes a viernes de 8 a 18 horas.
  • Comercial: la primera versión debe estar disponible antes de renovar un contrato importante.
  • Datos: los reclamos históricos están en planillas con formatos diferentes.

Cada restricción afecta decisiones: alcance de la primera versión, integración, migración, reportes, horarios de soporte y pruebas.

12.18 Errores frecuentes

Al trabajar con restricciones, suelen aparecer estos errores:

  • Descubrir restricciones técnicas después de diseñar la solución.
  • No consultar a áreas legales, seguridad, operaciones o compras.
  • Confundir una preferencia con una restricción obligatoria.
  • No registrar fuente ni responsable de validación.
  • No evaluar impacto en alcance, costo y tiempo.
  • No distinguir restricciones negociables y no negociables.
  • Ignorar restricciones de integración y migración de datos.
  • No revisar restricciones cuando cambia el contexto del proyecto.

12.19 Buenas prácticas

Algunas buenas prácticas son:

  • Preguntar explícitamente por restricciones desde el inicio.
  • Clasificarlas por tipo: técnicas, legales, operativas, comerciales y de datos.
  • Registrar fuente, responsable e impacto.
  • Validar restricciones críticas con las áreas correspondientes.
  • Analizar riesgos y dependencias asociadas.
  • Relacionarlas con requerimientos afectados.
  • Distinguir restricciones obligatorias, negociables y condicionales.
  • Revisarlas al definir alcance y versiones.
Una restricción ignorada no desaparece: normalmente reaparece como problema de diseño, costo, plazo o aceptación.

12.20 Qué debes recordar de este tema

  • Las restricciones limitan las alternativas de solución.
  • Pueden ser técnicas, legales, operativas, comerciales, de datos o de integración.
  • No siempre son funciones, pero afectan requerimientos y diseño.
  • Deben identificarse temprano para evitar cambios costosos.
  • Conviene documentar fuente, responsable, impacto y riesgo.
  • Algunas restricciones son obligatorias y otras negociables.
  • Las restricciones deben revisarse junto con alcance, arquitectura, pruebas y planificación.

12.21 Conclusión

Las restricciones técnicas, legales, operativas y comerciales son parte esencial del contexto de los requerimientos. Definen límites que la solución debe respetar y pueden influir fuertemente en decisiones de diseño, arquitectura, planificación y aceptación.

Trabajarlas correctamente permite evitar sorpresas, evaluar riesgos y construir una solución viable dentro de las condiciones reales del proyecto.

En el próximo tema estudiaremos interfaces externas y dependencias con otros sistemas, un tipo de restricción y requerimiento especialmente importante cuando el software debe comunicarse con aplicaciones, servicios o dispositivos externos.