¿Quién no ha vivido esto alguna vez en el día a día de un proyecto? Estás en una reunión, hablas y discutes, no avanzas, pero no sabes muy bien por qué. Te asalta la sensación de que no os estáis entendiendo. Eso puede tener muchas causas, y una de las principales candidatas es la falta de un entendimiento común de los términos.
Uno de esos términos es la palabra configuración, que según el contexto puede tener significados muy distintos:
- Configuración de variantes
- Configuración en el sentido de una gestión de la configuración
- Configuración en el sentido de una parametrización
Para completar la confusión: en ocasiones, en un proyecto o proceso te enfrentas a las tres interpretaciones a la vez, y además guardan cierta relación entre sí. Pero de eso hablaré más adelante.
Origen de la palabra
cōn-fīgere (latín) unir, clavar juntos
El prefijo con- significa en latín «junto-». Y figere, como ya te imaginas, significa «unir», «fijar», «sujetar». Una «figura» no es más que algo «unido» 😉. Y una configuración, por tanto, es algo «ensamblado», o más exactamente, el proceso de unir.
En una configuración, por tanto, uno junta componentes individuales para formar algo más grande. Y, visto con cierta perspectiva, esto también es válido para las tres interpretaciones.
Distintos significados de «configuración»
1. Configuración de variantes
Aquí también ayuda echar un vistazo al diccionario: en latín, variare significa «dar color», «alternar», «teñir». La variante es, por tanto, un «tono» determinado de mi producto, o el tono de un componente de mi producto. Y de eso trata precisamente la configuración de variantes: yo (por ejemplo, como cliente) junto componentes «teñidos» individualmente (variantes) para formar un producto (unión = configuración).
¿Un ejemplo? Configuro una variante de bicicleta. Quiero el cuadro en el «tono» bicicleta de trekking para hombre, 54 cm. Aquí «tono» no debe entenderse literalmente, me refiero a la variante del cuadro. Después, el cambio de marchas en la variante de 21 velocidades, el sillín de gel, y todo ello en azul marino (esta vez, el tono sí es literal).
Voilà, hemos combinado variantes individuales de los componentes para crear una (de las muchísimas posibles) variante de bicicleta — es decir, la hemos «configurado» 👍.
Dicho sea de paso, en mi opinión, en rigor en muchos casos habría que hablar más bien de selección de variantes que de configuración de variantes. Pero ese es otro tema, sobre el que seguro que también escribiré en algún momento 😉.
2. Gestión de la configuración (p. ej., ISO 10007)
Si buscas en el motor de búsqueda que prefieras, encontrarás diversas definiciones (por ejemplo, la ISO 10007 o la ANSI/EIA-649). Aquí tienes, por ejemplo, la de la ANSI:
La gestión de la configuración es un proceso de gestión para establecer y mantener la coherencia entre las prestaciones del producto y sus características funcionales y físicas, por un lado, y los requisitos, el diseño del producto y la información operativa, por otro, a lo largo de todo el ciclo de vida del producto.
Wikipedia sobre la ANSI/EIA-649
Me gusta mucho la definición de la ANSI, porque contiene afirmaciones importantes:
- Es un proceso de gestión
- Garantiza que el producto cumple sus requisitos
- … y todo ello a lo largo de todo el ciclo de vida del producto.
Da igual qué norma tomemos como base, en el fondo siempre funciona igual: si somos responsables de un producto, primero tenemos que determinar qué «elementos» son relevantes para nosotros (las llamadas unidades de configuración). El concepto de elemento debe entenderse en sentido amplio: no solo miramos los componentes físicos (piezas) de un producto, sino también toda la información relevante a lo largo del desarrollo (y de todo el ciclo de vida). Es decir, requisitos, planos, especificaciones, etc. — identificar estas unidades de configuración relevantes se denomina, acertadamente, en la jerga normativa, identificación de la configuración. La configuración es entonces el conjunto de unidades de configuración que hemos identificado en el marco de la identificación de la configuración. ¿Claro hasta aquí? 😉
Ahí va un ejemplo, lo reconozco, un tanto anacrónico y poco digitalizado, pero lo importante es el principio:
Ingo, el ingeniero jefe de un fabricante de bicicletas, tiene que desarrollar una bicicleta nueva. Para contar con una gestión de la configuración en condiciones, él (o su aprendiz, Anton) se monta primero una carpeta de archivo con varias pestañas, que podrían ser estas:
- Requisitos
- ISO 4210 (norma de construcción de bicicletas)
- Requisitos de ventas (qué quieren los clientes)
- Especificación
- Cuadro
- Sistema de frenos
- Transmisión/cambio
- Documentación de fabricación
- Plano de soldadura del cuadro
- Instrucciones de montaje
Con esto, la identificación de la configuración estaría lista y la configuración creada. En cada una de las pestañas se van archivando poco a poco las informaciones relevantes vigentes en cada momento. En la pestaña ISO 4210, por ejemplo, la ISO 4210:2023, la versión actual de la norma de construcción de bicicletas. Algo más tarde, en cuanto los ingenieros responsables terminan su trabajo, también los planos de construcción del cuadro, el freno, etc.
Entretanto, Anton (el aprendiz) puede fotocopiar toda la carpeta una vez por semana y archivarla (instantánea). A más tardar cuando el desarrollo se da por concluido y el ingeniero jefe Ingo aprueba el grado de madurez de la especificación, la carpeta fotocopiada recibe, con rotulador rojo grueso, la inscripción «diseño aprobado» (línea base AS-DESIGNED).
Cómo garantiza exactamente la gestión de la configuración que un producto cumpla sus requisitos, y qué tiene todo esto que ver con la trazabilidad… también sobre eso escribiré más en otra ocasión.
3. Parametrización de un producto inteligente
Configurar tu fondo de pantalla favorito en Windows, adaptar el sistema CAD a las necesidades de tu empresa, o introducir el tamaño de rueda en el ciclocomputador para que muestre la velocidad correctamente. Coloquialmente, todo esto también se engloba bajo el término «configurar». Para volver a situarlo en el contexto del origen de la palabra «configuración»: podría decirse que se unen los distintos interruptores y palancas que ofrece el producto.
Quizá un término más acertado que configuración en este caso sea parametrización. Mi producto (de software) me ofrece distintos interruptores y opciones de ajuste, para cada uno de los cuales puedo fijar un parámetro. En el caso del ciclocomputador, se trata incluso de un producto compuesto por elementos de software y electromecánicos. Quien tenga mucho trato con Linux conocerá los archivos *.conf (como configuration), y puede que alguien recuerde también los archivos .ini de Windows. Pero el principio es siempre el mismo. Ajustando estos interruptores se puede influir en el comportamiento del software o del producto.
Uniendo (😉) lo aprendido
En los apartados anteriores hemos visto que la palabra «configuración» puede emplearse en contextos muy distintos. En la introducción escribí que, para colmo de la confusión, los tres contextos pueden darse juntos en un mismo proyecto o proceso. Como prometí, aquí van también unas palabras al respecto.
O, mejor, empecemos con un ejemplo:
Viktor, de ventas, le escribió al ingeniero Ingo desde el principio en el pliego de condiciones que, por favor, la bicicleta debía poder pedirse con un cuadro de mujer y uno de hombre, además de en distintos tamaños de cuadro. Debían ser tres tamaños de disco de freno distintos, y en el cambio el cliente debía poder elegir entre 21 y 27 velocidades. Y, zas, el elemento de configuración «cuadro» de la configuración de la gestión de la configuración queda él mismo sujeto a una configuración (de variantes) 😉
El resultado, como es lógico, es que existen distintos (= variantes) planos de construcción para los distintos cuadros, y con ello también distintos números de referencia y de material con los que estos cuadros se identifican en el proceso logístico.
Si el fabricante de bicicletas es muy riguroso, hará que Anton, el aprendiz, una vez que yo haya pedido mi bicicleta, saque en el marco de la gestión de la configuración una nueva fotocopia de la carpeta y la etiquete como AS-ORDERED by Julian Weyer. Todo lo que pedí (bicicleta de trekking para hombre, 54 cm, sillín de gel, cambio de 21 velocidades, azul marino, ¿recuerdas?) se marca con rotulador en mi línea base, y todas las variantes que no pedí se tachan o se retiran de la carpeta (si yo mismo llegaré a ver esa fotocopia de la carpeta algún día es otra cuestión, pero lo importante es el principio).
También los distintos parámetros (coloquialmente, pues, la configuración) del ciclocomputador pueden ser unidades de configuración en el sentido de la gestión de la configuración. Es decir: antes de entregar la bicicleta, el montador que ha realizado el montaje y la parametrización archiva los datos de los parámetros en mi carpeta fotocopiada, para que siempre se pueda saber en qué estado se me entregó la bicicleta (AS-DELIVERED).
¿Suena complicado y confuso? La verdad es que a mí todo esto me parece bastante lógico y coherente, siempre que seas consciente de estos distintos aspectos y sepas situar correctamente el contexto del proyecto. En caso de duda, mejor preguntar una vez de más:
💬 ¿Qué quieres decir exactamente tú cuando hablas de configuración?