Programar no es suficiente

Programar no es suficiente

Autores: Carlos Manuel Lima y Lima; Josseline Griselda Montecinos Hernández

Palabras clave: Requerimientos, usuarios finales, dominio del negocio, historias de usuario.

Página 17 de 52

Introducción

Hoy en día, desarrollar software es más rápido que antes. Las herramientas de inteligencia

artificial pueden generar código, proponer soluciones e incluso ayudar a construir sistemas en

poco tiempo. Sin embargo, que un sistema funcione técnicamente no significa que resuelva el

problema para el que fue creado. Antes de programar, el ingeniero necesita comprender el

negocio, los usuarios, sus reglas y necesidades.

De aquí surge una pregunta clave: si el ingeniero puede programar una solución pero no

comprende el problema, ¿realmente está desarrollando el sistema correcto? Para evitar esto,

conocer el dominio del negocio y transformar las necesidades del usuario en requerimientos

adecuados es fundamental. En definitiva, el desarrollo no depende únicamente de escribir

código, sino de entender correctamente el problema desde el principio.

Desarrollo

Cuando un usuario necesita que los ingenieros resuelvan un problema, él ya tiene definido cuál

es su problema, porque conoce su negocio, ha interactuado con sus clientes y sabe todas sus

reglas y restricciones. Cuando transmite sus necesidades, la mayoría de ingenieros no son

expertos en el negocio; el experto es el solicitante. Pero no basta solo con escucharlo, para dar

una buena solución los ingenieros también deben conocer y comprender el negocio. La toma de

requerimientos no debe ser platicar con el cliente y escuchar que quiere un sistema para

monitorear sus ganancias. Los ingenieros deben comprender el área en la que trabaja, conocer

cuáles son sus ingresos y egresos, de qué forma obtiene sus materias primas, cómo las vende al

cliente, entre otras cosas. Solo al comprender estos procesos es posible identificar qué

información necesita realmente el sistema y cuáles son los requerimientos que deben

considerarse durante su desarrollo. El conocimiento del dominio no es un aspecto secundario durante la toma de requerimientos. El

International Institute of Business Analysis establece que, al preparar una actividad de toma de

requerimientos, se debe considerar el dominio del negocio y la participación de expertos en el

área, ya que estos pueden aportar información y orientar sobre las fuentes que deben

consultarse.¹ Esto permite comprender que el trabajo del ingeniero no consiste únicamente en

recopilar lo que el usuario expresa, sino en analizar la información obtenida y transformarla

posteriormente en requerimientos y diseños.²

Ilustración 1. Modelo simplificado del proceso de ingeniería de requisitos. Fuente: Bernárdez, Beatriz; Amador Durán Toro y Miguel Toro (2003), consultado en ResearchGate.

ResearchGate.

Por esta razón, el conocimiento del dominio adquiere importancia durante la toma de

requerimientos, ya que permite al ingeniero comprender las reglas, procesos y restricciones que

existen dentro de un determinado entorno. No se trata únicamente de saber qué sistema quiere el

cliente, sino de comprender por qué lo necesita y cómo funciona el contexto en el que será

utilizado. A partir de esta relación entre el conocimiento del dominio y la ingeniería de

requisitos, se puede analizar hasta qué punto un ingeniero debe involucrarse en el área para la

que desarrolla una solución.

Un requisito puede parecer claro para el usuario, pero resultar ambiguo para quien debe

convertirlo en una solución técnica. Por ejemplo, solicitar “un sistema para monitorear las ganancias” no permite determinar qué

Página 18 de 52

egresos, costos y ventas que deben registrarse y relacionarse para obtener la información

solicitada. Este análisis permite transformar una necesidad general en un requerimiento más

preciso y útil para las siguientes etapas del desarrollo.³

La inteligencia artificial también apoya durante la ingeniería de requerimientos, para organizar

información, analizar historias de usuario, identificar posibles inconsistencias y proponer

elementos relacionados con el dominio. Sin embargo, estas herramientas no sustituyen la

participación del ingeniero, quien debe revisar los resultados y comprobar que la información

obtenida corresponde con las necesidades, reglas y restricciones del negocio.³

Conclusiones

Comprender el problema antes de desarrollar permite que el sistema responda mejor a lo que

realmente necesita el usuario. No se trata únicamente de recopilar solicitudes, sino de entender

cómo funciona el negocio, qué restricciones existen y qué situaciones deben tomarse en cuenta

para convertirlas en requerimientos útiles. El ingeniero no necesita convertirse en experto del

negocio, pero debe comprenderlo lo suficiente para traducir sus necesidades en requerimientos.

Programar sigue siendo una parte fundamental del desarrollo de software, pero por sí sola no

garantiza una buena solución si se parte de una comprensión incompleta del problema. Por eso,

analizar, preguntar y validar antes de diseñar también forma parte del trabajo del ingeniero.

Referencias

●​ [1] International Institute of Business Analysis. The Business Analysis Standard. Toronto:

International Institute of Business Analysis, 2022.

●​ [2] International Institute of Business Analysis. IIBA Global Business Analysis Core

Standard. Toronto: International Institute of Business Analysis, 2021.

●​ [3] Bragilovski, Maxim, Ashley T. van Can, Fabiano Dalpiaz, y Arnon Sturm.

“Leveraging Machines to Derive Domain Models from User Stories.” Requirements

Engineering 30, no. 2 (2025).

Ver diseño original de las páginas
Página 17 de la Revista ECYS XXIX
Página 18 de la Revista ECYS XXIX