Creando y desplegando aplicaciones de empresa
Lecciones sobre prácticas óptimas
En años recientes han tenido lugar importantes avances en productos software comerciales de uso inmediato. Nueva funcionalidad, mayores niveles de integración, interfaces de usuario mejores, kits de herramientas de despliegue rápido, interfaces de programación de aplicaciones (APIs) públicos para una más fácil adaptación, especialización por sectores verticales y nuevos modelos de licencias de software, incluyendo el aumento en la cantidad de proveedores de servicio de aplicación, son factores que contribuyen a hacer más atractivo el software empaquetado. Y, por otra parte, las prácticas de desarrollo de software a medida han contribuido poco en el pasado a disuadir a las empresas de buscar soluciones de software dispuestas para uso inmediato. El proceso de desarrollo de aplicaciones en el ámbito corporativo ha sufrido los problemas resultantes de largos ciclos de desarrollo, requiriendo años para producir aplicaciones que resultan obsoletas el mismo día en que entran en producción, porque la actividad de la empresa ha cambiando en ese periodo. En el pasado, el desarrollo de aplicaciones a medida se ha caracterizado por grandes retrasos, excesos en los costos y proyectos cancelados y abandonados.
Hace sólo unos pocos años, el Gartner Group aseguraba que más de un 90% de los principales proyectos de software rebasan el presupuesto y los plazos de terminación, mientras que un 31 por ciento de los proyectos importantes se cancelan antes de concluirse. Y, además, la calidad de las aplicaciones terminadas era sospechosa. No es extraño por lo tanto que las empresas y organizaciones hayan recurrido a las aplicaciones empaquetadas. Sin embargo, estas aplicaciones en ‘paquetes’ no ofrecen una respuesta total. Así, pueden resultar muy costosas y lentas de implementar y, aunque hayan sido objeto de un diseño e ingeniería muy perfectos, lo más que harán será situar a la empresa al mismo nivel que el resto del sector. Cuando todos o la mayoría de los competidores en un sector manejan las mismas aplicaciones o aplicaciones similares, nadie consigue una ventaja competitiva a ese nivel. Para capturar aquello que es único de la empresa y aprovechar esa individualidad para conseguir ventaja competitiva, las empresas deben construir por lo menos algunas aplicaciones a medida.
El entorno de proceso corporativo actual
El actual entorno informático corporativo, especialmente en las grandes empresas y organizaciones, contribuye a las dificultades de crear y desplegar aplicaciones, tanto si se trata de soluciones en paquetes como de aplicaciones creadas a medida. Han pasado los días de los sistemas host centralizados y únicos, que procesaban la codificación y gestionaban los datos en un mismo lugar. Hoy, en las empresas, los sistemas de información -que son del tipo multi-vendor y altamente distribuidos- complican el desarrollo y el despliegue de las aplicaciones, y obligan a la organización de TI a solucionar una variedad de problemas:
• Múltiples plataformas de hardware y de sistema operativo, de variada cosecha y con gran incompatibilidad
• Múltiples sistemas desktop (cliente), también con diversos niveles de incompatibilidad
• Múltiples redes locales (LAN) y de área amplia (WAN), que introducen más incompatibilidades.
En este mundo distribuido, el tráfico de mensajes y las comunicaciones adquieren una importancia máxima. Diversas partes de la lógica de aplicación se distribuyen en una variedad de servidores, y los hosts deben comunicarse entre sí mediante mensajes para realizar el trabajo de la aplicación. En particular, la necesidad de programadores para establecer y mantener esas comunicaciones en todo el entorno de proceso heterogéneo ha resultado ser un enorme obstáculo, haciendo más lento el desarrollo y despliegue de las aplicaciones.
El ascenso en importancia de Internet complica también la tarea de desarrollo y despliegue inmediato de las aplicaciones, añadiendo más plataformas y niveles de tecnología y aumentando extraordinariamente la apuesta en términos de escalabilidad, capacidad de gestión y facilidad de utilización por los usuarios finales. Con Internet, los departamentos de TI se encuentran de repente creando aplicaciones que pueden ser utilizadas por decenas de miles de usuarios, cuyos niveles de conocimientos sobre informática y aplicaciones se desconocen, y manejando un amplio conjunto de sistemas desktop también desconocidos.
Al mismo tiempo, Internet está impulsando a las empresas a introducir nuevos productos y servicios con más rapidez que nunca. Aplicaciones cuyo desarrollo y despliegue requería años, deben ser puestas ahora en producción en unos pocos meses, si no en semanas, y modificaciones y mejoras que requerían semanas deben realizarse ahora en días o incluso en horas. Además, Internet aumenta las exigencias en términos de fiabilidad y escalabilidad. Cuando los clientes pueden acceder con sólo un click del ratón al Website de un competidor, tienen poca paciencia con las aplicaciones que fallan o funcionan deficientemente.
La importancia de las aplicaciones corporativas
Internet ha hecho que aumente también la atención sobre la importancia de las aplicaciones corporativas. Tanto algunos ejecutivos de alto nivel bien informados como los profesionales de TI han reconocido desde hace tiempo a las aplicaciones de la empresa como activos valiosos. Estas porciones de codificación de software, generalmente invisibles para la mayoría de las personas de una organización, contienen los conocimientos y la experiencia sobre los procesos comerciales de la organización. Así, procesan transacciones, controlan la producción, gestionan el workflow, facilitan la colaboración, aceleran la toma de decisiones y el servicio al cliente, y soportan todos los aspectos de la actividad.
Las revistas de gestión y los casos prácticos en las escuelas de negocios están llenos de informes sobre costosos desastres como consecuencia de que la organización de TI no ha suministrado a tiempo información fiable sobre la funcionalidad de las aplicaciones. Desde los aeropuertos, pasando por los bancos, hasta el sector de las telecomunicaciones, el fallo del departamento de TI en suministrar funcionalidad fiable a tiempo ha resultado en la pérdida de grandes cantidades de dinero, caídas en cuota de mercado y ventanas de oportunidad perdidas. Recientemente, algunos fallos de aplicaciones en compañías Internet altamente capitalizadas han tenido como consecuencia devaluaciones de mercado inmediatas y precipitadas.
Internet aumenta extraordinariamente la presión sobre las compañías para que ofrezcan rápidamente nueva funcionalidad de aplicaciones, y resalta también la importancia crítica de las aplicaciones para el éxito mismo de la empresa.
El desafío del desarrollo
Para la mayor parte de las compa&