DEV Community

Edgardo Genini
Edgardo Genini

Posted on

Elicitación, metodologías... charlemos

Hablemos bien que no cuesta un carajo y deja un beneficio de la gran p**a

Introducción

Durante mucho tiempo he leído y escuchado cosas que, por algún motivo, empecé a cuestionarlas, porque me parece que las palabras importan. Sus significados nos remiten a conceptos, y éstos a representaciones y a modelos.
En software (el siguiente no es un proceso, es sólo un mapa mental):

 Palabra
 ↓ 
 Significado 
 ↓ 
 Concepto 
 ↓ 
 Modelo mental 
 ↓ 
 Análisis 
 ↓ 
 Software
Enter fullscreen mode Exit fullscreen mode

Este artículo no pretende establecer qué palabras son correctas o incorrectas ni cuestionar el uso de términos provenientes de otros idiomas. Su propósito es reflexionar sobre los conceptos que esas palabras representan y sobre las consecuencias de perder distinciones conceptuales relevantes.

Pérdida de significado

Metodologías: parece que todo es metodología. ¿Ya nada es un método? "Aquí utilizamos metodologías ágiles": frases como esta son muy frecuentes, pero en realidad... ¿estudian los métodos ágiles?

Definición de metodología:

  1. Ciencia del método.
  2. Conjunto de métodos que se siguen en una investigación científica o en una exposición doctrinal.

Definición de método:

  1. Modo de decir o hacer con orden. Hay otras 3 más pero esta es suficiente.

No es un problema en sí mismo que una palabra como metodología se use por moda o porque suena mejor o más grandilocuente en comparación con método. El problema es sacrificar el significado de una palabra en pos de la moda y/o de sonar mejor. Si a metodología se le asigna la definición de método, no hay metodología, y creo que es lo que más falta: estudiar más a los métodos de forma científica.

Conceptos ocultos

Muchas veces vemos o escuchamos hablar de validaciones, quizás convenga detenernos un momento sobre esto.
Creo que es conveniente realizar una distinción, porque se usa el término "validar" para cosas como:
Monto: debe ser un número con 3 decimales.
Edad: mayor a 16 y haber rendido el examen de manejo.

El concepto oculto aquí es que el segundo caso es una condición que es inherente a un ámbito, y en el primer caso esa condición es inherente a la naturaleza del dato.

Suelo usar validación para cuando un dato debe cumplir la condición que exige la naturaleza del dato que representa. Ejemplos:
Edad es de tipo numérico, por lo tanto se le exige que sea un número.
Fecha de nacimiento es una fecha y tiene que cumplir con los requisitos que son inherentes a su tipo.

Cabe aclarar que hay datos que son más complejos como un número de teléfono, el cual establece una naturaleza y tiene un método de validación en cuanto a su formato; algo similar ocurre con la geolocalización cuando usa latitud y longitud.

El segundo caso es lo que se suele llamar regla de negocio, que se trata de una o más condiciones que se deben cumplir pero que, a diferencia del caso anterior, pueden variar no sólo en el tiempo sino que de un área política a otra: en un lugar pueden exigirse que sea mayor a 18 o 20 años.
Una condición que tiene una consecuencia es una regla, y una o más reglas implican una decisión.

En software:

Condición
↓
Consecuencia
↓
Regla
↓
Decisión
Enter fullscreen mode Exit fullscreen mode

No nombré negocio: en su lugar, mencioné ámbito. Esto se debe a que negocio es la traducción de la palabra business en inglés, que en ese idioma tiene varias acepciones, pero que en español suena a comercio. Hablar de negocio en organizaciones sin fines de lucro no parece pertinente, ya que tales organizaciones no implican comercio. Podría resultar más apropiado, entonces, hablar de ámbito para referirse al que establece el contexto de la decisión. Las regulaciones tanto externas como internas no son del negocio de las regulaciones, pertenecen a ese ámbito, no a un tipo de comercio. De hecho, se puede tornar más confuso aún, porque dentro de una organización conviven decisiones de diferentes ámbitos.
Cuando digo decisiones me refiero a que en lo que respecta al software son decisiones que ya se han tomado, existen antes que exista el software que las implementa.

Las validaciones actúan sobre la naturaleza del dato y suelen ser inmutables o de baja mutabilidad e independientes del ámbito (son transversales): por ejemplo, un número siempre debe ser un número.

Las reglas de decisión, en cambio, son propias de un ámbito específico y están sujetas a cambio.

En virtud de lo dicho, entonces es conveniente hablar de validaciones y de decisiones.

Solapamiento

Requerimiento y requisito: no son lo mismo. En inglés se usa requirement, pero en español existen dos palabras que significan cosas distintas:

  • Requerimiento: es lo que se requiere, lo que se deriva de una necesidad.
  • Requisito: es lo que debe cumplir.

Se parecen pero no son lo mismo, aunque el lenguaje común pueda tratarlos como equivalentes. Distinguirlos aporta trazabilidad: el requerimiento es previo al requisito, y expresa la necesidad, mientras que el requisito establece aquello que el sistema debe cumplir. De hecho, no es nada extraño que de un requerimiento se desprendan varios requisitos.

Necesidad

Requerimiento

Requisitos

Implementación
Enter fullscreen mode Exit fullscreen mode




Complejidad innecesaria

Elicitación no es una palabra que exista en español, proviene de una traducción literal del inglés elicit. Pero, más allá de si existe o no, se trata de establecer si vale la pena incorporar una nueva palabra. Podría valer la pena por el concepto detrás de su significado, y en este punto no veo ningún valor, puesto que el término relevamiento expresa lo mismo. Más palabras sólo agregan una complejidad innecesaria, ya que parece que se está hablando de cosas diferentes, cuando en realidad no lo son.
Relevar es buscar conocimiento o mejorar el saber, lo que implica utilizar todas las técnicas existentes para obtener el objetivo. No veo una nueva capacidad descriptiva.

Conclusiones

No se trata de cuestionar palabras ni su procedencia, sino de su pertinencia y de cómo pueden afectar a la capacidad descriptiva en una disciplina en diferentes aspectos, como son:

  • La pérdida del significado, cuando una palabra absorbe el significado de otra y ambos conceptos terminan fusionándose hasta que uno de ellos desaparece.
  • Los conceptos ocultos, cuando una misma palabra agrupa fenómenos diferentes e impide reconocer distinciones relevantes.
  • El solapamiento, cuando distintas palabras se utilizan como sinónimos o con significados difusos, opacando el valor conceptual que las diferencia.
  • La complejidad innecesaria, cuando se incorporan nuevos términos sin aportar nuevas capacidades descriptivas ni distinciones conceptuales.

Una disciplina no sólo necesita precisión terminológica. Necesita preservar las distinciones conceptuales sobre las que construye sus modelos. Cuando esas distinciones se pierden, el lenguaje deja de ayudar al análisis y comienza a dificultarlo.

Top comments (0)