Personalizado frente a configurado: ¿cuál es la diferencia?
Hay dos palabras de moda muy comunes en el mundo del software: «personalizado» y «configurado». El problema es que estos términos no siempre están bien definidos, lo que genera bastante confusión. En esta publicación, me gustaría presentar algunas definiciones prácticas para ambos términos y explicar por qué es importante.
La mayoría de los compradores de software quieren adquirir un programa que haga exactamente lo que ellos desean. Ya sea que se trate de una aplicación para el teléfono o de un software empresarial para un negocio muy complejo, el comprador quiere que cumpla con sus requisitos exactos. Sin embargo, cuanto más complejos son los requisitos, menos probable es que un software comercial listo para usar (COTS) cumpla con esos requisitos desde el primer momento. Para cumplir con los requisitos específicos, el software debe configurarse para satisfacer las necesidades, personalizarse para satisfacer las necesidades o una combinación de ambos.
Entonces, ¿qué es la personalización? ¿Y qué es la configuración? Comencemos con algunas definiciones y echemos un vistazo rápido a dictionary.com. Personalizar: «modificar o construir según especificaciones o preferencias individuales o personales». Configurar: «diseñar o adaptar para formar una configuración específica o para algún propósito específico». Vaya, ¿no ilustra eso claramente la diferencia entre ambos? No tanto.
Me gustaría proponer la siguiente configuración de trabajo y definiciones de personalización.
- Personalizar: «Escribir código nuevo (programas, archivos de clase, scripts) en el software que cumpla requisitos específicos».
- Configurar: «Utilizar las herramientas de la aplicación para satisfacer requisitos específicos sin necesidad de utilizar código».
La clave aquí es que la personalización del software es, por definición, mucho más invasiva para la aplicación central, ya que requiere que los programadores modifiquen un programa o escriban un programa para hacer algo que el software no hace actualmente. Las personalizaciones de software pueden ser bastante básicas (escribir un archivo de clase para realizar una tarea) o muy invasivas (cambiar la aplicación central).
Para poner estas definiciones en términos prácticos, la personalización implica más esfuerzo y más riesgo. Esto se debe a que el programador trabaja fuera de la aplicación. El código personalizado tiende a fallar en una actualización. La configuración implica menos esfuerzo y menos riesgo. Esto se debe a que se utilizan herramientas dentro de la aplicación para realizar cambios de la forma en que la aplicación fue expresamente diseñada para que se realizaran cambios. La configuración es intrínsecamente mejor porque funciona dentro de la aplicación.
¿TeamConnect personaliza o configura?
TeamConnect ofrece lo mejor de ambos mundos. En primer lugar, TeamConnect cuenta con un sólido conjunto de herramientas de configuración que permiten una flexibilidad extrema mediante el uso de reglas configuradas para satisfacer requisitos empresariales específicos. En segundo lugar, TeamConnect ofrece una API (interfaz de programación de aplicaciones) que permite utilizar código personalizado sin modificar la aplicación principal. El uso de las API publicadas garantiza que no se produzcan fallos durante las actualizaciones.
El principio rector que utiliza el equipo de servicios profesionales de Mitratech para implementar nuestro software es basarse en la configuración en la medida de lo posible y solo personalizar cuando no se puede satisfacer un requisito con la configuración pura. Nunca personalizamos la aplicación principal. El resultado es que basarse en la configuración permite a nuestros clientes satisfacer requisitos empresariales complejos sin los riesgos que a menudo conlleva la personalización de la aplicación.
