En las últimas semanas y gracias a un proyecto de ecommerce que estoy haciendo para un importante cliente, he tenido la oportunidad de entrar en las tripas de SugarCRM para ver sus cualidades en cuanto a modificación de la funcionalidad existente y extensión con nueva funcionalidad. La verdad es que me ha sorprendido y quería compartir con todos algunas de las conclusiones que he sacado.
Antecedentes
Ya había visto SugarCRM con anterioridad. En concreto fue durante mi etapa como CTO en BuyVIP cuando pusimos este software como herramienta principal para el equipo de atención al cliente. Era la versión 4 y la modificamos y extendimos para integrarla con la tienda de BuyVIP. En aquel momento la experiencia no fue demasiado buena, pero todo cambia…
Situación actual
Cuando arrancamos el proyecto en el que estoy involucrado, hicimos un breve análisis de alternativas de software CRM para atención al cliente y decidimos usar SugarCRM en su última versión (6.1). Pensamos que si ya lo habíamos extendido y adaptado con anterioridad, seguro que podíamos hacer lo que queríamos y que muy raro sería que el software no hubiera evolucionado a mejor con el paso de las versiones. Por ello nos descargamos la versión community y nos pusimos manos a la obra.
Extensiones y modificaciones que no afectan a actualizaciones
Una de las cosas que me ha sorprendido positivamente ha sido la arquitectura de la aplicación que permite separar la funcionalidad base de las extensiones y modificaciones de manera de un cambio de versión no supone perder tus cambios ni tenerlas que rehacer. Parece que poco a poco todos los fabricantes de software (Prestashop ya incorpora esta arquitectura en la versión 1.4) van entendiendo que es necesario adaptar y extender sus productos sin perder la capacidad de instalar nuevas versiones.
Nueva funcionalidad con module builder
Si queremos incorporar nueva funcionalidad como por ejemplo contratos (no se si lo tiene pero es por poner un ejemplo), de una manera muy fácil desde el module builder podemos hacer un nuevo módulo, definir sus campos, relacionarlo con los módulos existentes, definir los formularios de búsqueda etc… y todo ello sin tirar ni una sola línea de código. Es fácil, rápido y no hace falta conocimiento técnicos por lo que acerca mucho más a usuarios avanzados la posibilidad de extender el producto.
Modificación de modulos ya existentes
Bien a través del module builder que ya hemos comentado o a través del studio (otra herramienta de desarrollo) podemos fácilmente hacer pequeñas modificaciones en módulos ya existentes, como añadir campos, cambiar los campos de los diferentes formularios, cambiar las búsquedas etc… De nuevo las modificaciones están al alcance de usuarios avanzados sin necesidad de tener conocimientos técnicos.
Integración a través de SOAP o Rest
SugarCRM incorpora una capa de integración a través de soap o rest que permite acceder a las funciones básicas de lectura y escritura de casi todas las entidades desde sistemas externos. Esto permite, por ejemplo, permitir que una aplicación de ecommerce guarde en el CRM información básica del contacto o leer en tiempo real si el cliente tiene incidencias abiertas. Las posibilidades son enormes y sin duda abre muchas alternativas especialmente si usamos SugarCRM como aplicación base de atención al cliente.
Algo más complicado es hacer el proceso contrario. Es decir, que SugarCRM se integre con otras aplicaciones consumiendo sus servicios web o API. Ya incluye un cliente SOAP, pero este tema requiere picar código y entrar a saco en las tripas de SugarCRM.
También tiene cosas malas
Hasta ahora parece que la gente de Sugar me ha pagado por hacer el artículo, pero esta vez no ha habido suerte, a ver si para la próxima… Y como no todo podía ser perfecto, hay una serie de cosas que no me ha gustado especialmente. Algunas de ellas son:
- complejidad de programación de las vistas. Cuando simplemente quieres usar vistas estándar de visualización o edición de datos de una tabla, todo va sobre ruedas. Pero si queremos programar una vista algo distinta, tenemos que entrar a las tripas y nos encontramos con que la funcionalidad está muy disgregada entre diferentes archivos de configuración, vistas y controllers, un poco caos hasta que tienes muy claro cómo funciona Sugar.
- la aplicación no brilla por su rendimiento. Hasta ahora he hecho pruebas con pocos registros y no es demasiado rápida, pero tengo serias dudas de su rendimiento con más de un millón de clientes y decenas de millones de emails, llamadas, etc…
En general es un buen producto y me parece bastante recomendable como punto de partida para gestionar la relación con clientes y proveedores. Espero que este primer análisis sea útil.
Me gusta esto:
Me gusta Cargando...