¿Ya tienes un plan de negocio?
Se llama CRM a una herramienta destinada a la administración de la relación con los clientes. Es muy útil en cualquier tipo de empresa, desde productoras de bienes hasta las que brindan servicios, ya que nos permite planificar una estrategia de negocios basada en los clientes. Este tipo de herramientas se vuelven fundamentales en mercados globales como el de servicios de Tecnologías de la Información donde conservar a un cliente es más importante que ganar nuevos.
En si esta herramienta es un sistema de apertura de datos (front office) que nos brinda la oportunidad de intercambiar información con los clientes. Así crear registros que nos permitan ver el concepto de valor que el cliente tiene con el producto, para enfocar los procesos a las reales necesidades que dan origen a la demanda y suprimir procesos que resultan en un aumento del precio del producto sin incrementar su valor. También podemos adelantarnos a los nuevos requerimientos y ofrecer mejores servicios de postventa.
La utilización de un sistema CRM a menudo falla o no da los resultados deseados ya que su implementación solo se limita a la instalación de un software sin estudiar el contexto de la empresa, ni brindar los conocimientos necesarios del mismo a los empleados. Un sistema CRM solo debe implementarse después de estudiar la relación actual con los clientes y a la que se quiere llegar. Una vez que sepamos esto vamos a tener una visión más clara de que sistemas informáticos vamos a necesitar así como que procedimientos vamos a estandarizar y en que capacitaremos al staff de la organización.
El Software CRM en un principio fue pago y desarrollado por grandes empresas. Sin embargo, recientemente comenzaron a surgir del tipo “open source”, es decir, gratuitos y de código abierto. Esto trae aparejada las siguientes ventajas: bajo costo y la posibilidad de modificarlo según las necesidades de cada empresa.
Capture and Ship es una compleja aplicación web con funcionalidades especificas para la industria de impresión de prendas de vestir que se centran en la productividad, la eficacia y la eficiencia.
Fase de Inicio
Al comienzo de este proyecto, los socios del proyecto, quienes fueron proyectando esta plataforma, vinieron a consultarnos si seríamos capaces de ayudarles con este proyecto. Por supuesto respondimos "sí". Así fue como empezamos a trabajar en la fase inicial para recolectar juntos todos los requerimientos en base a las ideas que ellos tenían, la definición de requisitos de alto nivel y comenzar a diseñar una arquitectura del sistema con una estructura de base de datos. Después de semanas de trabajo, alcanzamos el primer documento de especificaciones con mayor prioridad para empezar a trabajar en nuestra primera fase de desarrollo, en ese momento sabíamos que iba a ser un proyecto muy grande con mucho trabajo por hacer.
Fase de desarrollo
Solemos trabajar con un enfoque ágil para todos nuestro proyecto, seguro este no sería una excepción, empezamos a trabajar en los milestones con las principales funcionalidades para implementar el núcleo de esta plataforma. Durante los primeros meses nos dimos cuenta de que la innovación y la creatividad serían prioridad para la mayor parte del proceso, por eso integramos tecnologías de vanguardia para este trabajo, no sólo HTML5, CSS3, jQuery Bootstrap o FontAwesome como lo hacemos desde hace unos años, pero también AngularJS, npm, Bower, Grunt, así como las pruebas automáticas y el despliegue de los distintos entornos utilizando GIT para acelerar tiempos en cada liberaciones.
Durante nuestro desarrollo, hemos tenido que aprender sobre muchas de reglas de negocio, herramientas específicas y proceso de impresión de las prendas con el fin de tener la mejor comprensión para ofrecer la mejor solución que permita gestionar las campañas, distintos productos de cada tipo de prendas de vestir, los trabajos de arte, proceso de impresión (en ingles, DTG printing) y envío de productos finalizados a cada uno de los clientes.
La aplicación web proporciona a los administradores la capacidad de gestionar los usuarios, cuentas de clientes, cuentas de proveedores, ventas y pedidos, ordenes de compra y transacciones integrando varias funcionalidades para cada interfaz de usuario. Hay más de 8 niveles de usuarios, cada uno con diferentes permisos sobre el sistema para ejecutar acciones específicas.
Los clientes pueden enviar campañas y gestionar distintas temporadas para sus productos, crear nuevas ordenes de compra por productos y talles, gestionar múltiples usuarios bajo su cuenta del cliente, por ejemplo, si usted es dueño de una empresa y necesitas camisas para sus empleados entonces puede volver a ordenar más productos de vez en cuando.
Además, con el fin de completar y poner en marcha el módulo ERP para esta plataforma hemos integrado la gestión de productos de stock, el módulo de comercio electrónico interno, el pago basado en la contabilidad de doble entrada, informes, gráficos y estadísticas.
En una de las ultimas fases, implementamos un API que permite a otras aplicaciones conectarse con el app principal de Capture para crear y gestionar trabajos de manera automatizada. En este caso se desarrollo un plugin de CakePHP totalmente desde cero que permite gestionar las conexiones externas, validar y autenticar usuarios a través de OAuth 2.0. Una vez validada la conexión, la aplicación cliente debe enviar un request REST para crear y monitorizar trabajos de impresión. Estos request están ajustado a la documentación online que se provee, la cual fue generada a partir de nuestro desarrollo.
Tecnologías
Let's Plum es una empresa líder que brinda servicios de diseño gráfico proporcionando una solución integral, desde ilustraciones hasta vectorizaciones. Con el continuo crecimiento de la empresa, con empleados y freelancer se hizo indispensable un sistema de gestión para sus mas de 600 trabajos de diseño que ejecutan diariamente.
Fase Inicial / Inception Phase
La primer etapa del proyecto consistió en recolectar todos los requerimientos del sistema con nuestros analistas. Luego de tener un completo entendimiento de las necesidades del cliente, se documentó y se diseño la solución que íbamos a implementar.
Fase de Desarrollo
En la etapa de desarrollo, se ha implementado cada requerimiento según lo diseñado en la etapa de análisis. El framework utilizado fue CakePHP y se complementó con AngularJS para las secciones dinámicas, Bootstrap para las plantillas/templates y aplicar el diseño web, utilizamos varios plugins de Jquery que permitieron validar formularios y tipos de datos, subir múltiples archivos, arrastrar imágenes para las muestras/preview, también combinamos varios componentes de npm, Bower y Grunt que proveen diferentes opciones al momento de implementar nuestra solución. El proyecto fue completado en su primer versión estable y luego seguimos trabajando en mejoras, optimizaciones, nuevas funcionalidad y tareas de mantenimiento tanto en el sistema como en el servidor.
El servidor fue instalado completamente desde cero, es así que nuestro Administrador de servidores instalo la ultima versión de CentOS y todas las dependencias necesarias para configurar Apache, MySQL, MongoDB, Elastic Search, Repositorio de archivos GIT entre otros módulos. También se implementó una integración con el API de Dropbox donde cada diseñador puede compartir a través del sitio web cada uno de sus trabajos terminados que luego se enviaran por email a los clientes. En Dropbox también se pueden subir archivos con un formato preestablecido, estos permitirán al sitio web escanearlos y crear automáticamente el seguimiento de los trabajos. Durante todo el desarrollo utilizamos un enfoque de Integración Continua, a su vez implementamos testing automático utilizando Codeception y cada caso de pruebas fue pensado para validar y verificar un requerimiento o un flujo completo de trabajo (workflow) Todas las tecnologías que fueron utilizadas en este proyecto han sido de gran utilidad y dieron soporte a nuestro equipo de desarrollo para lograr un producto de alta calidad y con la mayor eficiencia.
En una de las ultimas fases, implementamos un API que permite a otras aplicaciones conectarse con el app principal de Let's Plum para crear y gestionar trabajos de manera automatizada. En este caso se desarrollo un plugin de CakePHP totalmente desde cero que permite gestionar las conexiones externas, validar y autenticar usuarios a través de OAuth 2.0. Una vez validada la conexión, la aplicación cliente debe enviar un request REST para crear y monitorizar trabajos de arte. Estos request están ajustado a la documentación online que se provee, la cual fue generada a partir de nuestro desarrollo.
Tecnologías