Selecting Business Applications

Key factors to consider

OpenSur

Selecting Business Applications

Key factors to consider

English Translation pending

En varios estudios realizados sobre los criterios de selección de aplicaciones integradas en organizaciones grandes y medianas/pequeñas, se relevaron las siguientes necesidades clave:

Para organizaciones grandes: 

  • Mayor foco en la flexibilidad y mejora de procesos como consecuencia de la implementación (ej: mayor flexibilidad organizacional, optimización de procesos, capacidades de innovación mejoradas, etc.
  • Internacionalización del software. 
  • Estabilidad e historia del proveedor. Incluyendo su posición actual en el mercado. 
  • Capacidad de actualización y mejora del software, incluyendo estabilidad del producto y funcionalidad, así como capacidades de innovación. 
  • Plazos de implementación cortos. 
  • Buen soporte, incluyendo el soporte a la implementación.
  • Integración
  • Escalabilidad 

  
Para organizaciones medianas y pequeñas: 

  • Adaptabilidad y flexibilidad del software, incluyendo la capacidad de actualización técnica e incorporación de las últimas tecnologías
  • Plazo de implementación cortos
  • Menores costos
  • Adecuación a los procesos de negocio
  • Amigabilidad del sistema para los usuarios
  • Foco en características del producto como funcionalidad y calidad de productos y servicios disponibles, mas que en las características del proveedor del producto.
  • Integración (capacidad del producto de integrarse con otras aplicaciones)
  • Buen soporte y entrenamiento disponible
  • Conocimiento de proveedores sobre el tema

Los aspectos clave a evaluar en la compra de aplicaciones de gestión

Estos aspectos no se presentan en orden de importancia, puesto que diferentes empresas podrán valorar en forma diferente la importancia o impacto de cada uno sobre su organización, por otra parte varios están relacionados entre si:
  • Costos

  • Visión

  • Estabilidad y madurez

  • Ergonomía e interfaz de usuario

  • Escalabilidad

  • Internacionalización

  • Flexibilidad

  • Disponibilidad de soporte

  • Independencia

  • Cobertura funcional (out of the box)

Costos

El costo es generalmente la primera preocupación de las empresas cuando consideran un paquete de software. Que sea accesible es un criterio importante en el proceso de selección.
Establecer expectativas realistas sobre el costo total es clave para lograr la aprobación de la dirección.
Los principales componentes de costo son:
  1. Licencias del software de aplicación
  2. Mantenimiento anual de licencias de software de aplicación (dependiendo del SW está entre el 15 al 22% del punto 1)
  3. Software de base (Sistema operativo, base de datos, otros componentes, etc)
  4. Mantenimiento anual de licencias de software de base (idem al punto 2)
  5. Hardware (ambientes de producción, desarrollo/pruebas, etc)
  6. Mantenimiento de licencias de hardware (en varios casos existe un costo recurrente que en general está entre el 10 al 15% del punto 5)
  7. Consultoría:

A. Implementación estándar (sin incluir adecuaciones al software)

B. Desarrollo de adecuaciones al software aplicativo

C. Capacitación

D. Soporte, mantenimiento correctivo y evolutivo recurrente de la aplicación

E. Actualización de versiones de la aplicación (en forma periódica: semestral, anual, bianual?)

F. Soporte y mantenimiento de la infraestructura tecnológica recurrente (servidores, software de base, etc.)

 

El costo es impactado por las demás dimensiones, por ejemplo: cuanto mas alta la cobertura funcional menor será el costo de adecuaciones.
En el caso de aplicaciones de tipo software libre, el costo de los items 1 y 2 es cero. 
También puede seleccionarse software de base de tipo libre (Linux, PostgreSQL) quedando el costo de los items 3 y 4 en cero también.
Cada paquete de software tiene diferentes requerimientos de hardware, es posible que la organización ya cuente con hardware, hay que evaluar los requerimientos para validar si soporta sumar al nuevo software. 
Existen alternativas donde el software queda alojado en servidores externos (nube), dejando el costo del 5, 6 y 7F en un monto mensual, pasando la inversión a un gasto operativo y evitando la necesidad de personal especializado para esta última actividad.
El costo de consultoría va directamente asociado a la capacidad de la organización a asignar su propio personal al proyecto de implementación (esto también tiene un costo a considerar), cuanto mas participación de consultoría externa, mayor el costo a pagar por el proyecto.
Cuanto mayor es el nivel necesario de adecuaciones a realizar al sistema, mayor será el costo de implementación, soporte y actualización de versiones a futuro.

Si se considera el costo total de tener un aplicativo de gestión, debe considerarse el costo de mantenimiento proyectado a cierta cantidad de años, generalmente se usa un mínimo de 5 años y hasta un máximo de 10 años, dependiendo del estimado que se utilice para su vida útil en la organización.

Visión

Cuando una empresa planifica implementar un aplicativo de gestión, debe considerar el futuro del sistema, puesto que será utilizado por varios años. 
La visión del proveedor debe ser tenida en cuenta, así como su reputación, estabilidad financiera, posición en el mercado y conocimiento del dominio de aplicación (por ejemplo: la industria en la cual el proveedor es mejor conocido), referencias y el camino planificado de sus productos y servicios para los próximos 3 a 5 años.

En relación a la posición en el mercado del proveedor de aplicaciones, los líderes han implementado las mejores prácticas globales en sus productos. Por esta razón se puede utilizar al aplicativo como un asesor para la mejora de los procesos. 

Referencias de ventas, internacionalidad del proceedor y especialmente projectos finalizados exitosamente en la misma industria podrían ser considerados en el proceso de selección.

La capacidad de incorporar las nuevas tendencias en tecnología, usabilidad, funcionalidad, integración, muestra la viabilidad de que el producto evolucione junto con las necesidades de la organización.

  

  

 

Estabilidad y madurez

Conocer la confiabilidad de los sistemas y el tiempo que lleva el proveedor en el área de aplicaciones de negocios es crítico antes de seleccionar un sistema para uso en producción. Este es el segundo criterio mas importante utilizado.

Para el caso de soluciones de tipo opensource, es relativamente fácil obtener esa información, buscando en foros de internet, como opiniones y experiencias con el sistema.

La madurez nos dice que tan libre de bugs (defectos de funcionamiento) se encuentra la aplicación, generalmente esto va asociado a cuantas implementaciones y pruebas pasó previamente la misma.

Debe ser considerada también la madurez de la versión del software ofrecida, puesto que siempre se requiere un período de estabilización y maduración luego de que una versión es liberada al mercado. 

  

  

Ergonomía e Interfaz de usuario

En cualquier proyecto de adopción de software, el usuario final siempre debe ser tenido en cuenta, finalmente son quienes utilizarán el software.
Si el software resulta dificil de utilizar, la resistencia crecerá y puede llevar al fracaso del proyecto.
La usabilidad es una de los aspectos mas importantes de una aplicación, y por lo tanto debe ser invertido mucho tiempo en asegurarse que es adecuada.

La usabilidad mide la percepción del usuario de cuan fácil es utilizar las aplicaciones, cuanto se siente "en control" de la aplicación, que tan fácil es navegar la misma y cuanto tiempo el usuario disfruta usando el software.

El valor de una aplicación para una organización y su impacto en la performance de procesos puede ser maximizado mediante una aplicación fácil de utilizar. 
La alta productivdad es dirigida por mas que una linda interfaz de usuario, la ergonomía del sistema puede incluir navegación entre páginas/pantallas, atajos de teclado, campos autocompletados, controles personalizados e internacionalización del sistema entre otros.
Por ejemplo: realizar una simple tarea de rutina no debiera implicar navegar por muchas páginas/pantallas. 
La amigabilidad presiona sobre las posibilidades de customización, aceptación de usuarios, costos de entrenamiento y operaciones.

  

  

Escalabilidad

Las aplicaciones de negocios deben estar diseñadas para crecer con su empresa. La escalabilidad es la capacidad del sistema de continuar funcionando cuando las condiciones cambian en términos de tamaño y volumen.
La escalabilidad es considerada cuando la empresa anticipa un crecimiento del negocio, ya sea en la forma de cantidad de usuarios conectados en forma simultánea o en la cantidad de transacciones por unidad de tiempo. 
Realizar una inversión del tamaño que implica en aplicaciones de negocio, requiere asegurarse que el sistema podrá crecer junto con el negocio.
Del otro lado de la balanza, la empresa no debería pagar por exceso de capacidad que no utilizará mientras espera que ocurra el crecimiento.
Un sistema escalable puede ser achicado tan facilmente como agrandado. 
La escalabilidad es altamente dependiente de la arquitectura, y por lo tanto, de la base de datos y servidores de aplicación utilizados.

  

Internacionalización

La internacionalización es la capacidad del sistema de soportar múltiples idiomas, ofrecer traducciones para varios esquemas de costo y contabilidad y soportar múltiples sitios de uso. Puede diferenciarse entre una traducción simple del contenido estático de la interfaz de usuario (por ejemplo: menúes) o la traducción de partes dinámicas de la interfaz de usuario y su contenido.


Un sistema que ofrezca la posibilidad de soportar varios idiomas, tiene una mayor ventaja a la hora de ganar una mayor base de usuarios internationalmente y reduce el riesgo de fragmentación del proyecto en comunidades dispersas y menor colaboración entre los miembros de la organización. Respecto de el soporte para múltiples sitios, nos referimos a la capacidad del sistema para incorporar diferentes esquemas de costos y contabilidad, los cuales normalmente están dictados por las leyes nacionales.

Flexibilidad

La facilidad de customización (o adecuación) es un criterio esencial en las empresas que buscan adoptar un sistema integrado, uno de los mas importantes que encontramos en todos los procesos de selección. 

La necesidade de adaptar una solución genérica a las necesidades específicas de la empresa, requiere que el proveedor de software provea herramientas y utilizades que permitan al personal propio o externo realizar estas adecuaciones.

El grado de encaje (fit) de las funcionalidades estándar (out of the box) provistas por el sistema, determina la cantidad de adecuaciones necesarias a realizar al mismo. Cuanto mayor el encaje, menor el esfuerzo de adecuaciones, menores son los plazos de implementación y los costos de proyecto.

La falta de flexibilidad de un paquete de software para acompañar la evolución de las necesidades de la organización, es una causa muy frecuente de decisión de cambio de sistemas.

Se distinguen dos niveles de customización:

  • De alto nivel: Mediante edición de meta-datos, sin la necesidad de realizar programación. No se necesita experiencia en programación, cualquier persona con un conocimiento del negocio (ejemplo: un analista funcional) puede realizar este tipo de customizaciones sobre el sistema. Esto acorta la curva de aprendizaje y acelera la implementación, así como da mayor libertad a la empresa para adaptar el sistema en forma contínua a las necesidades cambiantes del negocio.

  

  • De bajo nivel: Deben intervenir desarrolladores para realizar programación. En general esto permite mayor flexibilidad de adecuación, el sistema define la arquitectura de software que permite customizar operaciones.

Disponibilidad de Soporte

El servicio y soporte asociado con una aplicación es algo vital para el éxito de de la sociedad entre el usuario final y el proveedor del software, especialmente cuando se conoce que los costos de implementación y soporte superan ampliamente (hasta 10 veces) el costo inicial del software.

Las empresas enfrentan dificultades durante y después de la implementación de un sistema integrado, algunas dificultades son la integración con los sistemas existentes, customización y seguridad.

El soporte ayuda a acortar los plazos de implementación y transfieren conocimento a la organización. Un buen soporte requiere rápidamente proveer los recursos necesarios con las capacidades customizar, soportar y mantener el sistema. Dependiente del alcance acordado, puede incluir el soporte de la infraestructura, el entrenamiento y la documentación.
Asegurar un soporte ágil y confiable es crítico para la aceptación de cualquier sistema por una comunidad de usuarios. El mismo puede ser local o remoto, pero el soporte local tiene la ventaja del conocimiento de la cultura y las necesidades específicas del país. 

El soporte online en la forma de foros y listas de correo es también importante, dado que da la oportunidad de discutir incidentes y buscar soluciones a nivel global. Para el caso del software libre, la calidad del soporte está definida por el tamaño de la comunidad y su organización.

La capacitación es otro aspecto del soporte, es importante proveer capacitación regular y de calidad a la comunidad de usuarios. Así como documentación completa y actualizada debe estar disponible para los usuarios y desarrolladores.

Independencia

Es clave lograr mantener la independencia y no quedar cautivo de un único proveedor (de software, de servicios, etc), no lograr la independencia termina impactando en los costos de implementación/soporte, así como en la capacidad del software de acompañar a la organización en la evolución hacia la dirección que esta decida.

Por otra parte no tener independencia del proveedor es una situación de riesgo mayor frente a la posibilidad que el proveedor desaparezca o sea absorbido por otra empresa.

La independencia se puede defender en varios aspectos:

  • Tecnología: la arquitectura y componentes del software no deben ser propietarios (propietario se refiere a que sólamente el proveedor del software es dueño de estos componentes y domina su conocimiento), en general se recomienda que esté construido en un lenguaje de programación abierto, así como todos sus componentes basados en estándares abiertos.

  • Disponibilidad de código fuente: Este aspecto va fuertemente asociado al anterior, en caso de una ruptura o desaparición del proveedor del software, contar con el código fuente del mismo permite a la empresa decidir continuar evolucionando, sin depender del proveedor de software. Puede inclusive tercerizar el soporte y mantenimiento en terceros.

  • Conocimiento disponible local y global: Que existan recursos capacitados en el país permite la independencia de contratar personal en forma directa con dominio de la tecnología, reduciendo la dependencia de proveedores. La disponibilidad de una gran comunidad internacional de recursos, permite aumentar el nivel de soporte, si los recursos locales no son sufientes. La suficiente oferta de recursos capacitados garantiza que pueda obtenerse soporte a costos razonables.

  • Proveedores locales y globales disponibles: Que existan varios partners locales a quienes recurrir para obtener soporte, permite reducir la dependencia de un único proveedor, teniendo la flexibilidad de cambiar en caso de que la calidad o los costos de los servicios no sean aceptables. La disponibilidad de partners globales garantiza que haya a quien recurrir en caso que los partners locales no cubran ciertas necesidades.


 

Cobertura funcional (out of the box)

La cobertura funcional provista en forma estándar (out-of-the-box) por un sistema es muy importante para empresas de tamaño pequeño y mediano. Generalmente tiene un presupuesto ajustado e intentarán mantener el sistema con la mínima customización posible, sacando ventaja lo mas posible de las funcionalidades estándar provistas por el mismo.
A continuación presentamos algunas funcionalidades clave que se espera estén disponibles en un sistema integrado, en función de las prioridades y necesidades de cada empresa, esta lista puede variar o poner foco en algunas funcionalidades en particular:

Procesos de negocio

Cobertura de funciones para dar soporte a los procesos operativos y financieros           

  1. Marketing y Ventas (CRM)
  2. Punto de venta y comercio electrónico
  3. Contabilidad y tesorería
  4. Facturación y cuentas a pagar
  5. Impuestos
  6. Presupuestos
  7. Bienes y activos
  8. Manufactura
  9. Inventarios y logística
  10. Gestión de flota
  11. Abastecimiento
  12. Inteligencia de negocios

Integración

Funciones

  1. Capacidad de importar datos, ejemplo: productos/ clientes/ proveedores/ empleados/ cuentas desde un xml o csv
  2. Posibilidad de exponer todas las funciones mediante servicios web, aplicando las validaciones y esquema de seguridad definido

Flexibilidad

Capacidad de customización de alto nivel                               

  1. Soporta la creación de campos customizados "on the fly" mediante la interfaz de usuario online.
  2. Soporte de actualizaciones automatizadas de nuevas regulaciones impositivas.
  3. Capacidad de definir vistas nuevas para mostrar la información del sistema
  4. Capacidad de definir nuevos objetos de base de datos customizados mediante interfaz de usuario online
  5. Interface para gestión de módulosinterface

Internacionalización

Funciones relativas a globalización                                          

  1. Soporte para múltiples monedas, definir monedas propias
  2. Soportar cotizaciones de conersión entre monedas
  3. Soportar actualización automática de cotizaciones de conversión
  4. Soporte de husos horarios de los usuarios, para facilitar colaboración.

Estructura general de información

Funciones generales relativas a la estructura                            

  1. Soporte para estructuras complejas en entidades de información
  2. Soporte para productos sustitutos y tipos flexibles de productos
  3. Capacidad de definir calendarios de facturación customizados por cliente
  4. Capacidad para definir descuentos por volumen customizados para cada cliente
  5. Capacidad para definir unidades de medida customizadas 
  6. Definir estructuras jerárquicas departamentales y de dirección

Procesos de negocio

Cobertura de funciones para dar soporte a los procesos de capital humano y gestión de servicios profesionales           

  1. Administración de Recursos Humanos
  2. Selección y contratos
  3. Desempeño
  4. Ausencias y vacaciones
  5. Liquidación de sueldos
  6. Gestión de proyectos
  7. Tiempos y tareas
  8. Gastos y seguimiento
  9. Gestión documental

     

Seguridad

Funciones de seguridad y acceso a la información                 

  1. Seguridad basada en roles y privilegios de acceso
  2. Seguridad a nivel de filas de información (filtrada por condiciones en función de los roles)
  3. Seguridad a nivel de campos (campos sensibles como remuneración)
  4. Seguridad a nivel de flujo de trabajo (transiciones habilitadas)

Flujo de trabajo y colaboración

Organizar el trabajo y colaborar entre los participantes.                             

  1. Alertas automáticas basadas en condiciones customizadas
  2. Capacidad de definir varios workflows customizados
  3. Utilidad de chat incluida
  4. Grupos de discusión
  5. Notificaciones frente a suscripción a eventos sobre la información

Interfaz de usuario

Aspectos relativos a la usabilidad                                            

  1. Interfaz de usuario 100% web
  2. Correo electrónico embebido
  3. Navegabilidad optimizada, minimizando clicks (Menú de favoritos)
  4. Páginas/pantallas limpias, información bien organizada
  5. Búsquedas configurables
  6. Cuadro de informes customizable