Hay una premisa básica que hemos aplicado en las últimas dos décadas de «zapatero a tus zapatos» y con especial interés a la decisión y diferenciación entre el desarrollo de aplicaciones al interior de la empresa versus la adquisición de las mismas. En términos generales, la «regla de oro» es adquiera aplicaciones operativas y desarrolle aplicaciones estratégicas.
Esto en términos sencillos se traduce en adquirir aplicaciones como un ERP, una contabilidad o una nómina, y desarrollar aplicaciones como sistemas de información gerencial de indicadores de gestión, o sistemas de balanced score card. Aunque estos sistemas requieren partir de unas tecnologías para su desarrollo, la obtención de la información para la toma de decisiones está enteramente en el Departamento de TI de las empresas.
Se requiere entonces definir, para el desarrollo, sobre qué plataforma se desarrolla y qué metodología se sigue. Hay multiplicidad en ambos frentes y es imperante que cualquiera que sea la que se decida, esté basadas ambas en estándares de industria.
La plataforma de desarrollo debe obedecer a las necesidades de la empresa y a la prospección que se tenga en el uso de nuevas tecnologías. Por ejemplo, si se pretende desarrollar para ambientes Web (hoy pareciera que fuera absurdo desarrollar para otro ambiente, pero somos partidarios de que hay tecnología apropiada para cada tarea) se debe decidir sobre las herramientas de desarrollo, la compatibilidad con bases de datos, la interacción con otros sistemas ya existentes, y la facilidad que tengan los usuarios para acceder al sistema de información,
Por lo general ya hay decisiones tomadas al interior de la empresa sobre estas tecnologías, sin embargo no son necesariamente las apropiadas para los nuevos desarrollos. Se ha visto mucha utilización de plataformas bajo licencias GNU de tal manera que no cuesten ni las herramientas de desarrollo ni la infraestructura (bases de datos, sistemas operativos) sobre la cual está montada la funcionalidad, todos con disponibilidad gratuita y con amplios grupos de soporte y desarrollo en el ámbito global.
Por otra parte hay un fuerte embate del entorno Microsoft con su arquitectura propietaria con la cual pretende establecer un esquema de desarrollo, que aunque inicialmente pareciera que solo fuera para sus plataformas (SQL Server y Windows Server) algunas personas sostienen que tendrá un alto nivel de interacción con otras plataformas en forma transparente para el diseñador, lo que le daría una ventaja competitiva sobre otras soluciones. Hoy ya se anuncia que sobre la plataforma de Windows se podrán ejecutar aplicaciones diseñadas para Android, por lo que empieza a mezclar estas soluciones en un mismo equipo.
Las decisiones sobre esta tecnología entonces también impactan la capa de presentación, la cual debe, por razones obvias, ser desarrolladas para visores tipo Internet (Chrome, Firefox, Opera, Edge y Safaro). También para esta capa del desarrollo existen múltiples tecnologías como las herramientas dinámicas y responsivas, herramientas de visualización sobre dispositivos portátiles (Celulares, Tabletas, teléfonos), tamaño de la pantalla, cantidad de colores, y hasta la marca. Dado que los estándares son de aplicación «libre» se tiene que tener en cuenta la variedad de dispositivos al desarrollar.
Al interior de las empresas es sencillo tomar la determinación de estas tecnologías porque por «ley interna» se puede ordenar su utilización. Entonces, siguiendo este orden de ideas, se puede establecer que el visor estándar al interior de mi empresa es uno en particular a partir de una versión específica. Sin embargo, cuando el desarrollo es para ser utilizado fuera de los muros de la empresa, es indispensable tomar cierto tipo de decisiones que ponen en la balanza la funcionalidad deseada versus la adaptación a la mayoría de los ambientes.
En cuanto a metodología de desarrollo, si hay una similitud en el manejo del desarrollo al interior de una empresa como en una casa de software. Es importante el manejo de versiones, el control de los cambios, las pruebas a cada nuevo desarrollo, y hasta la metodología que se utiliza para levantar requerimientos, diseñar objetos y medir su reutilización.
Desarrollar no es fácil, de ahí que haya empresas dedicadas de lleno a esta tarea, sin embargo si se requiere o desea desarrollar aplicaciones, no escatime en los recursos requeridos para garantizar un desarrollo coherente y ajustado a las necesidades estratégicas del negocio.
Por último, no olvide que la velocidad a la que avanzan las tecnologías digitales exige un mantenimiento funcional constante de las aplicaciones que usted diseñe (las que le provee el proveedor eventualmente las irán incorporando). Tecnologías como reconocimiento de voz, uso de posicionamiento geográfico, incorporación de la cámara fotográfica y otros elementos de los dispositivos móviles, entre otros, exigen una constante actualización tanto en tecnología digital como en su aplicación.