En 2008, junto a José Russomano y otro colega, formamos Fx2 Software Factory. En estos años, nos han preguntado muchas veces: ¿Qué es una software factory?, ¿Por qué se llaman software factory? y ¿Qué hacen en una software factory?
Para responder la pregunta, debemos entender una clasificación gruesa de software: “software empaquetado”, “software a medida” e “implementación de software”.
Software empaquetado: refiere básicamente al software que viene listo para instalar y usar, por ej. un videojuego, una aplicación de ofimática o un sistema operativo.
Software a medida: es un software que se desarrolla para un fin específico y responde a procesos y/u operativa explícita de una organización.
Implementación de software: software empaquetado que requiere de expertos para adaptarlo a necesidades concretas. Esto puede ser desarrollando funcionalidades o configurando parámetros y datos.
La primer empresa de software en la que trabajé, en 1999, disponía de un producto propio, un ERP de porte medio (software empaquetado). Luego trabajé en otra que desarrollaba productos para la automatización de procesos y gestión documental y que requerían bastante esfuerzo de personalización. Finalmente, en Fx2, entre el 70% u 80% del tiempo se dedica a desarrollo a medida y el resto a I+D.
El término “software factory” es bastante antiguo, de acuerdo a Wikipedia y el libro “Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools” (2004), Hitachi fue la primer empresa en utilizar el término en el año 1969.
Luego otras empresas como System Development Corporation, NEC, Toshiba y Fujitsu adoptaron el término a partir de 1975.
NOTA: System Development Corporation (SDC) es considerada la primer empresa de software del mundo, inició sus actividades en 1955.
Posibles definiciones
“Empresa que crea productos software estandarizados y paquetizados”, esta definición se basa en una visión de la fábrica de software desde el punto de vista de producción y desarrollo.
“Empresa de desarrollo de software “llave en mano” o de “proyectos cerrados”, similar al punto de vista anterior que además incorpora una visión desde el lado del negocio (proyectos a precio cerrado).
“Centro de costos separado y asociado exclusivamente al desarrollo software”, para una visión desde el punto de vista financiero.
“Empresa de desarrollo software en un país lejano u otra región”, visión desde el punto de vista de la localización, denominado comúnmente outsourcing — offshoring, nearshoring, etc.
En función de las definiciones anteriores y la experiencia de estos años, trabajando para empresas que producen y empaquetan software, varios proyectos de desarrollo a medida para empresas locales y del exterior y algunos productos propios lanzados al mercado mobile podemos dar una definición mas completa que contemple el factor humano que es medular para la software factory.
Una fábrica de software es un equipo especializado en últimas tecnologías y desarrollo de software, compuesto por múltiples perfiles que conjugan múltiples experiencias (diseñadores gráficos, ingenieros, analistas de calidad, etc…), con la capacidad de comprender en detalle los procesos internos y externos de un cliente o servicio, interpretarlos y transformarlos en funcionalidades, en software o un sistema, implementarlo en tiempo y forma, entregarlo documentado y sin errores (alto nivel de calidad), capacitar a los recursos necesarios para su futura administración y mantenimiento u ofrecer un servicio con ese fin para asegurar el correcto funcionamiento del mismo.
Las fábricas de software actualmente son muy populares. La creciente demanda por soluciones de software, la constante actualización tecnológica y la variedad de soluciones, obliga a que muchas empresas evalúen, basados en costos y tiempos, de disponer de una fábrica propia o sub-contraten el servicio especializado.
Links y referencias adicionales
- http://en.wikipedia.org/wiki/Software_factory
- http://en.wikipedia.org/wiki/System_Development_Corporation
- http://www.slideshare.net/kokyfe/fabrica-software
- http://www.softwarefactories.com/TheBook.html
- http://www.javiergarzas.com/2011/02/diferencias-software-fabricacion-tradicional-1.html
Email me when Marcos Ezquerra publishes or recommends stories