Resumen: Este artículo explica cómo las grandes empresas están tendiendo a producir software (programas o aplicaciones) de una forma industrial.
Codificación aprenderaprogramar.com: DV00101A

 

 

¿QUÉ SIGNIFICA INDUSTRIALIZACIÓN DEL SOFTWARE Y FÁBRICA DE SOFTWARE?

Las grandes multinacionales como las españolas Indra y Coritel entre otras, están tendiendo a agrupar sus oficinas y centros productivos en un mismo emplazamiento, dando lugar a que se creen grandes centros de producción de software que se están denominando “fábricas de software”. Estos centros distan bastante de lo que puede ser una fábrica convencional (de automóviles por ejemplo), pero en cierta medida se basan en conceptos semejantes, entre los que destacan la producción en cadena y la automatización.

radarc

 

De ahí deriva el término “industrialización del software”, que es una tendencia en el mundo de la programación.

Podríamos definir “fábrica de software” como una organización (desde el conserje hasta el director general, equipos, edificio, etc.) dedicada a la producción de programas o aplicaciones. La idea de la fábrica de software es que la generación del código que sustenta los programas sea automática, industrializada. Una misma empresa puede tener distintas fábricas de software, y en cada una de ellas puede tener la misma o distinta tecnología.

Aunque a algunos les pueda parecer novedoso, no es ni mucho menos un concepto nuevo. Se lleva trabajando en ello desde los años 70. Podemos traer a colación una conocida sentencia de Bill Gates, que en algún momento dijo: “La carrera por el software terminará en 20 años. Por entonces, los mismos ordenadores escribirán mejor software que las personas”. Han pasado más de veinte años desde que pronunció esta frase, y parece que fue una predicción equivocada. Pero, ¿equivocada en el fondo o en el tiempo?

 

 

UNA TECNOLOGÍA PARA INDUSTRIALIZAR LA PRODUCCIÓN DE SOFTWARE

Icinetic es una empresa, creada como Spin-Off en el Departamento de Lenguajes y Sistemas Informáticos de la Universidad de Sevilla. Esta empresa desarrolla tecnología para las fábricas de software basándose en la máxima “Automatizar para hacerlo más rápido y con más calidad”. Su producto estrella es RADARC, una herramienta o entorno de desarrollo concebido para producir software de forma industrial y que sus creadores califican como “tecnología revolucionaria que va a hacer cambiar la forma de concebir el desarrollo del software: el futuro es RADARC, o algo similar”. A su vez, RADARC funciona a partir de herramientas de Microsoft, en lo que podrían denominarse “tecnologías .NET”.

RADARC se instala sobre Visual Studio, que es un producto Microsoft. Antes de comenzar a utilizarlo hay que configurarlo. Para ello, durante la instalación se presentan distintas opciones que nos permiten elegir tecnología (por ejemplo .NET), número de capas (por ejemplo sitio web, base de datos y capa de entidades, nombre de la web, etc.). Una vez configurado se crea una vista de carpetas y de librerías dll. A partir de aquí, se empezarían a trabajar distintos aspectos: definición de las partes de nuestro desarrollo, creación y configuración de la base de datos, creación del sitio web, etc. La ventaja que aportaría RADARC, como producto “industrializador”, es que todo es más o menos automatizado de forma que el código lo genera el propio RADARC. La idea es que no se hagan las cosas “a mano”, sino que todo esté guiado a través de opciones automatizadas.

Según sus creadores, con una solución de este tipo se puede desarrollar en una tarde lo que un equipo de tres programadores tardaría un mes en generar. ¿Qué sería lo que hace esto posible? La respuesta sería el trabajar a muy alto nivel, es decir, el nivel de abstracción es muy elevado. Se trabaja con conceptos y relaciones y prácticamente no se escribe código (o mejor dicho, se escribe automáticamente).

El resultado generado puede ser utilizado directamente, pero también es posible acceder al código para realizar modificaciones o implementar ciertas funcionalidades que no se encuentran dentro de las opciones de automatización.

 

 

LAS CARRETERAS, EL SOFTWARE Y LA INDUSTRIALIZACIÓN

En nuestra opinión, los procesos de generación de software por parte de las grandes empresas ya están relativamente industrializados, pero sólo relativamente. ¿Cuáles son los problemas que se plantean? Veamos algunos de ellos que son consustanciales al desarrollo tecnológico en el área de la informática y el software. Haremos una analogía con el mundo del automóvil:

a)La industria del automóvil ha conseguido, hace bastantes años, concentrarse en distintos estándares que han permanecido más o menos invariables en el tiempo. El pavimento asfáltico que se utiliza en las carreteras hoy día es parecido al que se utilizaba hace 20 años. ¿Tiene algo que ver un sistema operativo de hoy día con el de hace 20 años? Posiblemente debamos decir que no: la evolución tecnológica en hardware y software es tan fuerte que no tenemos un soporte estable (pavimento asfáltico) sobre el que hacer rodar nuestros productos. Esto hace que una tecnología para industrialización del software válida hoy deje de ser útil en poco tiempo, lo cual supone un hándicap. ¿Llegará una estandarización informática? Quizás, pero si la respuesta fuera afirmativa no sabemos cuándo ni si lo veremos.

b)La industria del automóvil ha conseguido productos con una larga vida útil. Yo todavía me desplazo con un viejo BMW de mi padre que tiene más de 30 años. Está viejo, pero anda y me transporta igual que un coche moderno. ¿Hay algún producto de software que siga estando vigente 30 años después de su creación? Me temo que no. La inversión necesaria para montar estructuras verdaderamente industriales de producción de software es alta: ¿nos arriesgamos a realizarla para generar productos que sabemos van a tener una vida relativamente efímera? Creo que muchas empresas optan por mantener equipos humanos que se adaptan contínuamente a la tecnología y la semiautomatizan, sin llegar a industrializarla porque la corta vida útil de los productos no lo compensa.

 

 

REFERENCIAS Y MÁS INFORMACIÓN

Este artículo resume y comenta la conferencia pública impartida por Lucas Gozálvez, Ingeniero Informático de la empresa Icinetic, en el marco de las “Jornadas Imaginática: La informática del futuro” , que tuvieron lugar en la Escuela Técnica Superior de Informática de la Universidad de Sevilla (España) y a las que aprenderaprogramar.com tuvo la oportunidad de asistir. Puedes ampliar información sobre la empresa y el producto en icinetic.com y en radarc.es.

 

 

 

 

 

 

Para  hacer un comentario o consulta utiliza los foros aprenderaprogramar.com, abiertos a cualquier persona independientemente de su nivel de conocimiento.

Descargar archivo: