Cuando el software incrementa la productividad
Piense en muebles de diseño, de gama alta: cocinas hechas de suave cuarzo, con impecables paneles de acero, que casi parecen obras de arte. Pero incluso los fabricantes de productos de diseño tienen a sus espaldas una fábrica, en la que las cosas no suelen tener un aspecto tan brillante y organizado.
En la práctica, resultaba más complejo de lo que podía parecer a primera vista identificar qué diseños traían consigo un mayor beneficio neto. Y los nuevos materiales se encargaban cuando parecía que empazaban a escasear, tras una simple inspección visual de los montones guardados en el almacén.
Teníamos una clara oportunidad de mejorar este flujo de trabajo. Y se me encomendó a mí la misión de planificar la arquitectura de software, diseñar la interfaz, y en definitiva, programar un sistema de inventario online. El control del stock en tiempo real, y la realización de cálculos de coste avanzados, serían por fin una realidad.
Programando el sistema de gestión de inventarios online
Era por tanto necesario definir diferentes roles de usuario, con diferentes permisos: desde los administradores que configuraban el sistema, a los vendedores que pondrían los productos en el mercado, incluyendo al personal de fábrica que comprobaría el inventario restante, al personal financiero que encargaría materiales adicionales, o incluso al equipo de diseñadores que definiría nuevos modelos de mobiliario (junto con los componentes y materias primas que requerirían).
El sistema se construyó para crecer, de una forma que se pudiese escalar fácilmente. Los productos que se encontrasen a medias del proceso de definición se guardarían como entradas temporales en la base de datos, mientras los diseñadores escogían las piezas que formarían parte de los mismos. Una interfaz basada en desplegables y en campos de búsqueda facilitaba este proceso.
El stock de materiales, el diseño de productos, y el listado de pedidos, se combinaban para poder hacer un seguimiento del inventario, junto con otros detalles relevantes como precio y beneficio.
Desde el punto de vista técnico, el sistema se construyó en un servidor IIS de Microsoft, programándolo en C# .NET, basado en una estructura MVC, conectado a un MS SQL Server, realizando consultas a la base de datos en T-SQL, y presentando una intefaz web de la extranet compuesta por HTML y CSS, junto con Javascript puro.
Expandiendo el sistema básico con funciones de agenda
Además del sistema de inventariado, se incluyeron otras funciones adicionales de agenda como parte de la aplicación. Los equipos de ventas podrían definir nuevos productos, y calcular el beneficio de cada venta, de acuerdo con el coste de los materiales utilizados. Pero también serían capaces de acceder a la plataforma como una extranet online en la que navegar desde cualquier lugar, para programar sus reuniones.
Estas funciones de agenda online les permitían coordinar sus acciones junto con los instaladores para poder sincronizar las entregas y la temporización de los proyectos. El sistema evolucionó desde una aplicación que manejaba partes y piezas, a todo un sistema de gestión de recursos, incluyendo recursos humanos, e incluso gestión de tiempos.
Una interfaz intuitiva, con calendarios online, que mostraban información relevante a cada uno de los roles definidos, completaba el módulo de agenda del sistema.
Así es como se definió la base para una mejora de la eficiencia del proceso de manufactura y venta. El sistema de agenda e inventariado online resultante era bastante impresionante, por la cantidad de funciones avanzadas que programé como parte de la aplicación.