Buscando una definición para “fábrica software” encontramos, como suele ser habitual en ingeniería del software, un amplio y heterogéneo conjunto. Ejemplos destacados:
- Enfoque de desarrollo de aplicaciones en el que confluyen el desarrollo basado en componentes, el desarrollo dirigido por modelos y las líneas de producto software. (Definición de Greenfield y Short (2003), en lo que sería el modelo de fábrica software de Microsoft)
- Fábrica de Software = X {Soporte de herramientas} (Li et al. (2001), en lo que es el modelo de fábrica de software para organizaciones chinas)
Pero además, y con independencia de las anteriores, en las conversaciones “de la calle” en que sale el término podemos descubrir otro conjunto de definiciones, las que llamamos “de facto”, y que podemos agrupar en las siguientes:
- “Empresa que crea productos software “comoditizados” (traducción poco lograda que se está introduciendo del término commodity) “ (generalmente esta es la definición que utilizan los que ven a una fábrica de software desde el punto de vista de la producción o del desarrollo)
- “Empresa de desarrollo de software “llave en mano” o de “proyectos cerrados” (también desde el punto de vista de la producción o del desarrollo, junto con la parte de negocio)
- “Centro de costes separado y asociado exclusivamente al desarrollo software” (para aquellos quienes lo ven desde el punto de vista financiero)
- “Escisión del departamento de desarrollo software para crear una empresa cuyo objetivo (línea de negocio) es desarrollar y mantener software” (desde el punto de vista de la localización)
- “Empresa de desarrollo software en un país lejano u otra región” (también desde la localización, outsourcing – offshoring, nearshoring, etc.)
Además podríamos añadir las históricas, como la de Bemer quien en 1968 afirmaba como “parece que tenemos pocos entornos específicos (instalaciones de fábrica) para la producción económica de programas […] Una fábrica proporciona energía, espacio de trabajo, distribución del trabajo, controles financieros, etc. Por lo que una fábrica de software debería ser un entorno de programación residente en y controlado por un ordenador”.
Y más importante aún. También podríamos hablar de la sensación que de manera general el término produce en ciertos colectivos sociales relacionados con el desarrollo software, en los que se asocia a trabajo poco cualificado, repetitivo, de bajo coste, para productos masivos, etc. Y que refleja los choques entre las diferentes “olas”, la que ve la creación del software como una extensión de los métodos de la revolución industrial, frente a la que lo considera un producto que necesita de métodos de creación totalmente distintos, la que busca la creación repetitiva de productos para mercados de consumo masivo, frente a la que cree que el futuro está en el producto personalizado, en la segmentación del mercado; la que aplica los estilos de dirección típicos de las fábricas industriales en un trabajo en que el talento es determinante y un recurso limitado, etc.
Estas últimas reflexiones, cómo los choques entre la ola industrial y la del conocimiento afectan al desarrollo software, etc., lo dejo para el siguiente post.
Y si alguien ha sufrido de esto último… abierta esta la sección de comentarios, valgan como ejemplo los comentarios al post de primeras fábricas software que aparecieron en barrapunto, bastante ilustrativos.
- ¿Product Owner es lo mismo que Product Manager? - 2 marzo, 2023
- unFix 2ª parte: ¿Innovador modelo de escalado o un refrito gourmet de antiguos patrones? - 23 febrero, 2023
- unFix 1ª parte: ¿Innovador modelo de escalado o un refrito gourmet de antiguos patrones? - 16 febrero, 2023
Haciendo el trabajo de la asignatura sobre la descripción de una fábrica de software real, encontré un comentario del presidente de la empresa que decía lo siguiente:
«Nuestra empresa tiene un sistema que provee un ambiente estable y repetible para desarrollar y mantener software, de tal manera que la capacidad es una característica de la organización y NO de las personas individuales.»
Y las personas individuales de esta compañia son al 90% ingenieros informáticos (osea personas más o menos como nosotros).
Me parece un poco preocupante si la situación continua así.
J. David Granada.
Atendiendo a la última parte del escrito en referencia a las reacciones enfrentadas que produce el término “fábrica de software”, ciertamente siempre hemos oído hablar del software como algo con ciertas características:
-Se desarrolla, no se fabrica.
-Elemento lógico, no físico.
-Se deteriora, no se estropea.
-Mayoritariamente cerrado.
De la definición se desprende que fábrica y software son dos términos que a priori parecen estar dispuestos a no entenderse, aún así el propio concepto “fábrica de software” se encuentra, para bien o mal, perfectamente integrado en nuestros días.
Una reflexión; inmersos en una época en la que se rinde culto al pasado con ejemplos tan claros como la moda retro, los juegos clásicos o los coches de época, ¿no se le está dando demasiada importancia a la manera de referirnos a las cosas?. ¿Es posible que se use el término fábrica para hacer referencia un concepto más cálido o auténtico?.
En definitiva ¿puede tratarse de una vuelta al pasado, atendiendo a la terminología, en un entorno cambiante en plena revolución tecnológica, fría y en búsqueda de la segmentación?.
Pingback: Un listado de fábricas software españolas | Javier Garzás