El software personalizado (también conocido como software a medida o software a medida ) es un software desarrollado específicamente para una organización específica u otro usuario. Como tal, se puede contrastar con el uso de paquetes de software listos para usar desarrollados para el mercado masivo , como software comercial listo para usar o software gratuito existente .
Consideraciones
Dado que el software personalizado se desarrolla para un solo cliente, puede adaptarse a las preferencias y expectativas particulares de ese cliente, lo que puede no ser el caso del software comercial listo para usar . El software personalizado puede desarrollarse en procesos iterativos, lo que permite tener en cuenta todos los matices y posibles riesgos ocultos, incluidos los problemas que no se mencionaron en las especificaciones de requisitos originales (que, por regla general, nunca son perfectas). En particular, la primera fase del proceso de desarrollo de software puede involucrar a muchos departamentos, incluidos marketing , ingeniería , investigación y desarrollo y administración general . [1]
Las grandes empresas suelen desarrollar software personalizado para funciones críticas, como la gestión de contenidos , la gestión de inventarios , la gestión de clientes , la gestión de recursos humanos o para llenar los vacíos presentes en los paquetes de software existentes. En muchos casos, este software es software heredado , desarrollado antes de que el software comercial listo para usar o los paquetes de software gratuitos que ofrecen la funcionalidad requerida con un nivel aceptable de calidad o funcionalidad estuvieran disponibles o fueran ampliamente conocidos. Por ejemplo, la BBC gastó una gran cantidad de dinero en un proyecto para desarrollar su propio software personalizado de producción y gestión de medios digitales , pero el proyecto experimentó problemas y, después de muchos años de desarrollo, se canceló. Una razón clave declarada para la cancelación del proyecto fue que había quedado claro que existía software comercial listo para usar que, en ese momento, era adecuado para las necesidades de la BBC y estaba disponible por una pequeña fracción del precio. [2]
El desarrollo de software personalizado suele considerarse caro en comparación con las soluciones o productos listos para usar. Esto puede ser cierto si se habla de desafíos y soluciones típicas. Sin embargo, no siempre es así. En muchos casos, el software comercial listo para usar requiere personalización para respaldar correctamente las operaciones del comprador. El costo y la demora de la personalización del software comercial listo para usar pueden incluso sumarse al gasto de desarrollo de software personalizado.
El costo tampoco es el único factor a considerar en la decisión de desarrollar software personalizado, ya que los requisitos para un proyecto de software personalizado a menudo incluyen que el comprador sea dueño del código fuente , para asegurar la posibilidad de futuras mejoras o modificaciones al sistema instalado para manejar los requisitos cambiantes. Sin embargo, el software comercial moderno listo para usar a menudo tiene interfaces de programación de aplicaciones (API) para extensibilidad, o en ocasiones, como en el caso de Salesforce.com , un lenguaje específico de dominio (DSL), lo que significa que los paquetes de software comercial listo para usar a veces pueden acomodar una amplia variedad de personalizaciones sin la necesidad de acceder al código fuente del sistema de software comercial básico listo para usar. [3]
Además, el software comercial listo para usar tiene costos iniciales de licencia que varían enormemente, pero a veces alcanzan millones de dólares estadounidenses. Además, las grandes empresas de software que lanzan productos de software comercial listos para usar renuevan sus productos con mucha frecuencia. Por lo tanto, es posible que sea necesario actualizar una personalización particular para lograr compatibilidad cada dos o cuatro años. Dado el costo de la personalización, estas actualizaciones también pueden resultar caras, ya que es posible que se deba destinar un ciclo de lanzamiento de producto específico para ellas. Sin embargo, en teoría, el uso de API y/o DSL documentados, en lugar de acceso directo a tablas de bases de datos internas y módulos de código, para la personalización puede minimizar el costo de estas actualizaciones. Esto se debe a que los proveedores de software comercial listo para usar pueden optar por utilizar técnicas como:
- Realizar cambios "detrás del escenario" manteniendo la compatibilidad con personalizaciones escritas para versiones anteriores de API o DSL.
- Admitir versiones antiguas de API y nuevas versiones de API simultáneamente en una nueva versión del software
- publicación de una guía que advierte que el soporte para versiones antiguas de API o DSL se eliminará del producto en una versión posterior, para darles a los clientes más tiempo para adaptar las personalizaciones.
La decisión de crear un software personalizado o de optar por la implementación de un software comercial listo para usar generalmente depende de uno o más de los siguientes factores:
- Finanzas: tanto costos como beneficios: el costo inicial de la licencia de los productos de software comerciales listos para usar implica que se debe realizar un análisis exhaustivo de costo-beneficio del caso de negocios. Sin embargo, es bien sabido que los grandes proyectos de software personalizados no pueden mantener constantes los tres aspectos: alcance, tiempo/costo y calidad, por lo que tanto el costo como los beneficios de un proyecto de software personalizado estarán sujetos a cierto grado de incertidumbre, incluso sin tener en cuenta la incertidumbre en torno a los beneficios comerciales de una característica que se implementa con éxito.
- Proveedor: En el caso de software comercial listo para usar, ¿es probable que el proveedor permanezca en el negocio durante mucho tiempo? ¿Habrá soporte y personalización adecuados disponibles? Por otra parte, ¿existirá una posibilidad realista de obtener soporte y personalización de terceros? En el caso de software personalizado, el desarrollo del software puede ser subcontratado o realizado internamente. Si se subcontrata, la pregunta es: ¿el proveedor es confiable y tiene un buen historial?
- Tiempo de comercialización: los productos de software comerciales listos para usar generalmente tienen un tiempo de comercialización más rápido.
- Tamaño de la implementación: el software comercial listo para usar viene acompañado de la estandarización de los procesos comerciales y la generación de informes. Para una organización global o nacional, esto puede generar ganancias en términos de ahorro de costos, eficiencia y productividad, si todas las sucursales están dispuestas y son capaces de utilizar el mismo software comercial listo para usar sin personalizaciones excesivas (lo que no siempre es un hecho).
Campos principales
Construcción
La industria de la construcción utiliza software personalizado para gestionar proyectos, hacer un seguimiento de los cambios e informar sobre el progreso. Según el proyecto, el software se modifica para adaptarse a las necesidades particulares del propietario del proyecto , el equipo de diseño y los contratistas generales y comerciales. [4]
Los datos específicos del proyecto se utilizan de otras maneras para adaptarse a los requisitos únicos de cada proyecto. El software personalizado se adapta a las preferencias y expectativas particulares de un equipo de proyecto, lo que lo hace adecuado para la mayoría de los procesos y desafíos de construcción:
- desarrollo de diseño
- convocatorias de licitación
- control de documentos
- Aprobaciones de planos de taller
- Gestión de cambios
- Inspecciones y puesta en servicio
- orientación
Los desarrolladores de software personalizado utilizan varias plataformas, como FileMaker Pro , para diseñar y desarrollar software personalizado para la industria de la construcción y otras industrias.
Hospitales
Los hospitales pueden mantener registros médicos electrónicos y acceder a ellos en cualquier momento. Esto permite que un médico y sus asistentes transfieran los datos de un paciente a través de una red.
Mantener los grupos sanguíneos de los pacientes en una base de datos del hospital hace que la búsqueda de sangre adecuada sea más rápida y sencilla.
Los hospitales también utilizan software de facturación, especialmente en sus dispensarios .
Lugares de educación
Las escuelas utilizan software personalizado para mantener los datos de admisión de los estudiantes. También elaboran certificados de transferencia. Algunos gobiernos desarrollan software especial para todas sus escuelas. Sampoorna es un proyecto de sistema de gestión escolar implementado por el Departamento de Educación del Gobierno de Kerala, India, para automatizar el sistema y el proceso de más de 15.000 escuelas en el estado. Estos proyectos aportan uniformidad a las escuelas.
Minorista
La facturación es un uso común del software personalizado. El software personalizado suele ser utilizado por pequeñas tiendas, [ cita requerida ] supermercados y vendedores mayoristas para gestionar los detalles del inventario y generar facturas.
Grandes sobrecostos y fracasos de proyectos
Los miembros del Parlamento y funcionarios del Reino Unido han investigado exhaustivamente los fallos y los sobrecostes de los proyectos informáticos del gobierno; han encontrado un rico filón de fallos para examinar, entre ellos:
- El Programa Nacional del NHS para TI
- Sistemas informáticos de la Agencia de Pagos Rurales . El 15 de marzo de 2006, el Director Ejecutivo Johnson McNeil fue despedido cuando se incumplió el plazo del 14 de febrero para calcular los derechos del Plan de Pago Único.
- Crédito Universal : la primera prueba ni siquiera logró realizar correctamente las funciones más básicas; estaba retrasado y, según se informa, el proyecto fue reiniciado.
- 1992 - LASCAD, el nuevo sistema de despacho asistido por ordenador del Servicio de Ambulancias de Londres, sufre fallos temporales que provocan retrasos en la asignación de rutas a las ambulancias. También se había descartado un intento anterior de desarrollar un sistema de despacho personalizado para el Servicio de Ambulancias de Londres.
Ventajas y desventajas
Cuando una empresa está considerando una solución de software, las opciones generalmente son crear una hoja de cálculo (que a menudo se hace en Microsoft Excel ), obtener un producto listo para usar o contratar un software personalizado creado específicamente para satisfacer sus necesidades. Hay cinco criterios principales que intervienen en la selección de la solución correcta:
Si bien las evaluaciones iniciales de las opciones según estos criterios pueden desviarse marcadamente de la realidad de la solución final cuando se ponga en práctica, debido a factores como sobrecostes, capacitación insuficiente, ajuste deficiente del producto, confiabilidad de la solución, etc.
Estos factores deben tener en cuenta el funcionamiento de la empresa, su sector, su tamaño y su facturación. Por lo tanto, la decisión solo se puede tomar en función de cada empresa para determinar si es necesario un desarrollo personalizado y la propiedad del software.
Ventajas
El software personalizado generalmente producirá el sistema más eficiente ya que puede brindar soporte para las necesidades específicas de la empresa, que podrían no estar disponibles en una solución estándar y brindará mayor eficiencia o un mejor servicio al cliente.
Si se adopta un enfoque de desarrollo adecuado, como DSDM , el software personalizado también producirá la mejora del servicio más adecuada o más acertada. Las empresas pueden adaptar el software a lo que quieren sus clientes en lugar de tener que elegir un paquete que se adapte a un mercado genérico. Por ejemplo, una empresa de impresión puede querer un software que responda en el menor tiempo posible, mientras que otra empresa de impresión puede centrarse en producir los mejores resultados; como estos dos objetivos suelen entrar en conflicto, un paquete estándar normalmente se situará en algún punto intermedio, mientras que con el software personalizado cada empresa puede centrarse en su público objetivo.
Aunque no siempre es la opción más adecuada para proyectos más grandes o complejos, una hoja de cálculo permite que menos personal técnico de una empresa modifique el software directamente y obtenga resultados más rápido. El software personalizado puede ser incluso más flexible que las hojas de cálculo, ya que está diseñado por profesionales del software que pueden implementar funciones para una amplia gama de necesidades empresariales.
Desventajas
Las principales desventajas del software personalizado son el tiempo y el costo de desarrollo. Con una hoja de cálculo o un paquete de software comercial, un usuario puede obtener beneficios rápidamente. Con un software personalizado, una empresa necesita pasar por un proceso de desarrollo de software que puede llevar semanas, meses o, en el caso de proyectos más grandes, años. Los errores introducidos accidentalmente por los desarrolladores de software y las pruebas exhaustivas para eliminarlos pueden obstaculizar el proceso y hacer que tarde más de lo esperado. Sin embargo, las hojas de cálculo y los paquetes de software comerciales también pueden contener errores y, además, como pueden implementarse en una empresa sin pruebas formales, estos errores pueden pasar desapercibidos y causar errores críticos para la empresa.
El software personalizado suele tener un coste varias veces superior al de las otras dos opciones y normalmente incluye un coste de mantenimiento continuo. Esto suele hacer que el software personalizado no sea viable para las empresas más pequeñas. Estos costes más elevados pueden ser insignificantes en las empresas más grandes, donde pequeños aumentos de la eficiencia pueden estar relacionados con grandes ahorros en costes laborales o donde el software personalizado ofrece un gran aumento de la eficiencia.
Modelo híbrido
En particular, con el software en la nube moderno, es posible un modelo híbrido de software personalizado en el que el enfoque principal se centra en el software comercial listo para usar, principalmente en la falta de correspondencia entre sus características, funciones y los requisitos, preferencias y expectativas comerciales. La idea aquí es comprar un software comercial listo para usar que satisfaga la mayor cantidad de requisitos y desarrollar software personalizado (extensiones o complementos) para llenar los vacíos que deja. Este es el enfoque estándar utilizado al implementar SAP ERP , por ejemplo.
Véase también
Referencias
- ^ Joseph M. Morris (2001). Contabilidad de la industria del software Tanga . p.1.10
- ^ "La BBC abandona un proyecto digital de 100 millones de libras". BBC News. 24 de mayo de 2013.
- ^ Christian von Hirschhausen y Jürgen Bitzer, La globalización de la industria y la innovación en Europa del Este: de la reestructuración postsocialista a la competitividad internacional , Edward Elgar Publishing - 2000, ISBN 9781782542308
- ^ Derek Leebaert, El futuro del software , MIT Press, 1996 ISBN 9780262621090