28. Negociación de requerimientos y resolución de conflictos

28.1 Introducción

En proyectos de software es normal que existan conflictos entre requerimientos, prioridades, restricciones e intereses de distintas personas. La negociación de requerimientos permite buscar acuerdos realistas cuando no todo puede satisfacerse al mismo tiempo.

Negociar no significa imponer una decisión ni aceptar todo lo que se pide. Significa analizar necesidades, valor, costos, riesgos y alternativas para llegar a una solución aceptable para el proyecto.

La resolución de conflictos es una habilidad esencial en ingeniería de requerimientos porque el software se construye dentro de organizaciones con objetivos, áreas y restricciones diferentes.

28.2 ¿Por qué aparecen conflictos?

Los conflictos aparecen porque los interesados tienen perspectivas distintas. Cada área observa el sistema desde sus necesidades y responsabilidades.

Causas frecuentes:

  • Objetivos de negocio diferentes.
  • Recursos limitados.
  • Prioridades incompatibles.
  • Restricciones técnicas o legales.
  • Procesos actuales diferentes entre áreas.
  • Distintas interpretaciones de una regla.
  • Expectativas no explicitadas.
  • Presión por fechas o presupuesto.

28.3 Tipos de conflictos

Los conflictos pueden clasificarse según su origen.

Tipo Ejemplo
Conflicto de alcance Un área quiere incluir pagos en línea en la primera versión, pero el alcance aprobado lo excluye.
Conflicto de prioridad Ventas prioriza registro rápido de pedidos y administración prioriza controles de crédito.
Conflicto de reglas Un área permite cancelar pedidos confirmados y otra lo prohíbe.
Conflicto técnico El negocio pide tiempo real, pero el sistema externo solo permite sincronización nocturna.
Conflicto de calidad Se quiere máxima seguridad, pero también acceso sin pasos adicionales.
Conflicto de recursos El presupuesto no alcanza para todas las integraciones solicitadas.

28.4 Negociar desde necesidades, no desde posiciones

Una posición es lo que alguien pide. Una necesidad es el motivo que hay detrás del pedido.

Ejemplo:

  • Posición: "necesitamos una aplicación móvil nativa".
  • Necesidad: los vendedores necesitan registrar pedidos durante visitas a clientes.

Si se negocia solo la posición, parece que la única solución es una aplicación móvil. Si se entiende la necesidad, pueden evaluarse alternativas: sitio web adaptable, modo sin conexión, mejora del sistema actual o integración con herramientas existentes.

28.5 Criterios para negociar

La negociación debe apoyarse en criterios explícitos, no solo en opiniones.

Criterios útiles:

  • Valor para el negocio.
  • Impacto en usuarios.
  • Riesgo técnico.
  • Obligatoriedad legal o contractual.
  • Esfuerzo y costo.
  • Dependencias.
  • Urgencia.
  • Alineación con objetivos del producto.
  • Impacto en seguridad, operación y mantenimiento.

Estos criterios ayudan a discutir con más objetividad.

28.6 Alternativas de solución

Negociar muchas veces implica encontrar alternativas. Una necesidad puede satisfacerse de distintas formas.

Pedido inicial Necesidad posible Alternativas
Crear un tablero avanzado. Ver reclamos críticos rápidamente. Lista filtrada, alerta por correo, tablero simple inicial.
Integración en tiempo real. Tener datos actualizados para decidir. Sincronización cada hora, consulta puntual, actualización nocturna con alerta.
Formulario con muchos campos obligatorios. Evitar datos incompletos. Guardar borrador, validación por etapa, campos obligatorios solo al confirmar.

28.7 Concesiones

Una concesión es aceptar modificar una expectativa para lograr un acuerdo viable. Las concesiones deben ser explícitas.

Ejemplos:

  • Postergar una función para una segunda versión.
  • Reducir el alcance de un reporte inicial.
  • Aceptar sincronización programada en lugar de tiempo real.
  • Implementar una regla manualmente hasta automatizarla después.
  • Entregar primero el flujo principal y luego excepciones menos frecuentes.

Las concesiones deben registrarse para evitar que luego se interpreten como omisiones.

28.8 Negociación de alcance

La negociación de alcance aparece cuando hay más requerimientos de los que pueden construirse en una entrega.

Preguntas útiles:

  • ¿Qué requerimientos son indispensables para operar?
  • ¿Qué puede quedar para una versión posterior?
  • ¿Qué requerimientos reducen riesgos críticos?
  • ¿Qué funciones aportan mayor valor con menor esfuerzo?
  • ¿Qué exclusiones deben comunicarse claramente?
  • ¿Qué dependencias condicionan el orden?

El alcance negociado debe quedar documentado.

28.9 Negociación de calidad

También pueden negociarse niveles de calidad, siempre que no se comprometan aspectos obligatorios o críticos.

Ejemplos:

  • Disponibilidad del 99% en lugar de 99,9% para una primera etapa interna.
  • Soporte para navegadores corporativos aprobados, no para todos los navegadores posibles.
  • Reporte generado en 30 segundos en lugar de tiempo real si se usa una vez al mes.
  • Auditoría completa solo para operaciones sensibles.

La calidad no debe quedar indefinida. Si se negocia, debe especificarse el nivel acordado.

28.10 Conflictos entre seguridad y usabilidad

Un conflicto frecuente aparece entre seguridad y facilidad de uso.

Ejemplo:

  • Seguridad quiere autenticación frecuente para operaciones sensibles.
  • Usuarios quieren completar tareas sin interrupciones.

Una solución negociada podría ser solicitar confirmación adicional solo para operaciones críticas, mantener sesión activa por un tiempo razonable y registrar auditoría detallada.

La clave es entender el riesgo y el impacto en la operación.

28.11 Conflictos entre áreas

Los sistemas suelen cruzar varias áreas. Cada una puede optimizar su propio trabajo, pero el proceso completo necesita equilibrio.

Ejemplo:

  • Ventas quiere confirmar pedidos sin controles extensos.
  • Administración quiere validar deuda antes de confirmar.
  • Depósito quiere recibir pedidos solo cuando tengan datos completos.

El análisis debe buscar una solución que mantenga velocidad comercial sin romper controles necesarios.

28.12 Rol del facilitador

En una negociación de requerimientos, el facilitador ayuda a ordenar la conversación y mantener foco en el objetivo del producto.

Responsabilidades:

  • Hacer visible el conflicto.
  • Separar posiciones de necesidades.
  • Recordar objetivos y restricciones.
  • Promover alternativas.
  • Evitar que una parte domine sin análisis.
  • Registrar acuerdos y pendientes.
  • Escalar decisiones cuando corresponde.

El facilitador no siempre decide, pero ayuda a que la decisión sea más clara.

28.13 Toma de decisiones

No todos los conflictos pueden resolverse por consenso. A veces se necesita una persona o grupo con autoridad para decidir.

Conviene definir:

  • Quién decide prioridades.
  • Quién aprueba cambios de alcance.
  • Quién acepta riesgos técnicos o legales.
  • Quién puede aprobar excepciones.
  • Cómo se documenta la decisión.

Sin responsables claros, los conflictos pueden permanecer abiertos y bloquear el avance.

28.14 Registro de acuerdos

Todo acuerdo importante debe registrarse.

El registro puede incluir:

  • Conflicto tratado.
  • Alternativas consideradas.
  • Decisión tomada.
  • Justificación.
  • Responsable de aprobación.
  • Fecha.
  • Impacto en alcance, prioridad o versión.
  • Pendientes o condiciones.

Documentar acuerdos evita discusiones futuras basadas en recuerdos distintos.

28.15 Ejemplo de negociación

Una empresa solicita que el sistema de pedidos consulte stock en tiempo real. El equipo técnico informa que el sistema de inventario no soporta tantas consultas sin afectar rendimiento.

Después de analizar la necesidad, se descubre que los vendedores solo requieren confirmar disponibilidad antes de cerrar pedidos importantes.

Acuerdo:

  • La primera versión mostrará stock actualizado cada 30 minutos.
  • Para pedidos de alto importe, se realizará una consulta puntual al inventario.
  • Si la consulta puntual falla, el pedido quedará pendiente de validación.
  • La integración en tiempo real para todos los pedidos se evaluará en una versión posterior.

La solución no satisface exactamente el pedido inicial, pero atiende la necesidad principal dentro de una restricción técnica.

28.16 Acuerdos temporales

A veces se acepta una solución temporal para poder avanzar. Esto es válido si se registra claramente.

Ejemplos:

  • Resolver una validación manualmente durante la primera versión.
  • Importar datos por archivo hasta que exista una API.
  • Generar un reporte simple hasta definir indicadores avanzados.
  • Usar una configuración fija hasta construir administración de reglas.

El riesgo es que lo temporal se vuelva permanente sin revisión. Por eso debe quedar trazado.

28.17 Señales de conflicto no resuelto

Algunas señales indican que un conflicto sigue abierto:

  • Distintos interesados explican el mismo requerimiento de forma diferente.
  • Se evita tomar una decisión de alcance.
  • Los criterios de aceptación no pueden cerrarse.
  • El equipo técnico recibe instrucciones contradictorias.
  • Una regla tiene excepciones no aprobadas.
  • Las prioridades cambian en cada reunión sin justificación.

Cuando esto ocurre, conviene detenerse y resolver antes de construir sobre una base inestable.

28.18 Errores frecuentes

Al negociar requerimientos, suelen aparecer estos errores:

  • Tratar todas las solicitudes como obligatorias.
  • No distinguir necesidad de solución propuesta.
  • Evitar conflictos en lugar de hacerlos visibles.
  • Decidir sin criterios explícitos.
  • No incluir a quienes tienen autoridad para aprobar.
  • No evaluar impacto técnico o legal.
  • No documentar acuerdos.
  • Postergar decisiones críticas hasta etapas tardías.

28.19 Buenas prácticas

Algunas buenas prácticas son:

  • Identificar el conflicto con claridad.
  • Separar posiciones de necesidades reales.
  • Usar criterios como valor, riesgo, costo, urgencia y cumplimiento.
  • Buscar alternativas antes de decidir.
  • Involucrar a interesados con autoridad.
  • Registrar decisiones, concesiones y pendientes.
  • Relacionar acuerdos con alcance y prioridades.
  • Revisar acuerdos temporales en versiones posteriores.
Un conflicto visible puede resolverse; un conflicto oculto suele reaparecer como cambio, demora o rechazo de la entrega.

28.20 Qué debes recordar de este tema

  • Los conflictos entre requerimientos e interesados son normales.
  • Negociar requiere entender necesidades, no solo posiciones.
  • Los criterios explícitos hacen la negociación más objetiva.
  • Las alternativas permiten satisfacer necesidades sin aceptar siempre la primera solución propuesta.
  • Las concesiones deben documentarse.
  • Algunos conflictos necesitan decisión de una autoridad definida.
  • Registrar acuerdos evita malentendidos futuros.

28.21 Conclusión

La negociación de requerimientos y la resolución de conflictos permiten convertir necesidades distintas en acuerdos posibles. Son actividades fundamentales cuando existen restricciones de tiempo, presupuesto, tecnología, normativa o prioridades incompatibles.

Un buen acuerdo no siempre satisface todos los deseos iniciales, pero debe responder a objetivos reales, respetar restricciones y quedar claramente documentado.

En el próximo tema estudiaremos la especificación de requerimientos de software, donde se formaliza la información analizada, refinada y acordada.