El tema “adquirir o construir” el software siempre ha estado presente.
· Las soluciones de software han bajado de costo dramáticamente, en el escritorio y más recientemente en los teléfonos con alta capacidad. El “software como servicio” ha disminuido dramáticamente los costos iniciales de adquisición y la puesta en marcha.
· El desarrollador de software tiene hoy que crear aplicaciones en el escritorio, el explorador, el servidor, el servidor web, el celular… Cada uno de esos modelos cuenta con múltiples herramientas y herramienta distintas.
Sin duda, nunca existirá un software “empaquetado” que pueda resolver las necesidades de la entidad colectora de tributación de los países. De ello están muy conscientes los Sonda, EDS, Accenture en América Latina. Los más grandes continuarán aprovechando lo mejor de dos mundos: soluciones adquiridas y propias; las últimas otorgando diferenciación.
El panorama de construir software a la medida está cambiando quizá más de lo que aparenta:
1. Prototipos rápidos. No importa que usted quiera desarrollar un sitio web o una aplicación de escritorio para su cliente o incluso una presentación en Powerpoint. Herramientas como Microsoft SketchFlow (http://is.gd/93f2w ) permiten explorar ideas y conceptos en forma rápida. Todo lo que se produce puede ser consumido posteriormente por herramientas para construcción de software en etapas posteriores. Numerosos modeladores para iPhone en http://is.gd/93qwa
2. Listo para ser usado. En américa latina, 40,000 sitios de internet utilizan WordPress, la plataforma pre-construida para blogs y publicaciones en internet más popular que existe. La era de reinventar la rueda es hoy una realidad. No obstante, hay confusión entre “nuevas plataformas” para solucionar requerimientos de negocio:
· Internet “gratuito”. No solo blogs, 25 de los escenarios más populares web se pueden obtener en http://www.microsoft.com/web incluyendo: administradores de contenido, comercio electrónico, herramientas de colaboración y otros.
· Servicios para procesos de negocio. El producto más exitoso los pasados cinco años en el servidor ha sido Microsoft Sharepoint. Una edición gratuita es incluida en el sistema operativo del servidor y una edición comercial extiende las capacidades que incrementa la eficiencia organizacional mediante administración de contenidos, búsqueda empresarial, experiencia humana e intercambio de información confidencial con alta extensibilidad. Es posible obtener gratuitamente más de 20 plantillas de uso cotidiano (http://is.gd/93jMt ), así como cientos de añadidos de terceros. Ahora, en 2010, es posible convertir una base de datos Access desarrollada para el escritorio a Sharepoint, facilitando la creación de aplicaciones centradas en datos.
· Aplicaciones para dispositivos portátiles electrónicos. http://www.appwizard.com/ le permite a cualquier no-programador construir una aplicación para iPhone en “menos de 30 minutos” – asumiendo que existe una fuente de datos en el web, este tipo de herramientas han llevado a mercado miles de aplicaciones simples demostrando que el browser no es suficiente.
3. Nuevas plataformas tecnológicas. El software ha evolucionado, aunque no podemos considerar algunas aplicaciones “listas para ser usadas” de forma inmediata, es cada vez sencillo adaptarlas y automatizar a la empresa.
· ERP como plataforma. Si una tarea se tiene que automatizar lo más probable es que tenga un impacto en el estado de pérdidas y ganancias; este relacionado con compras u otros procesos del ERP. Este modelo puede ser muy efectivo cuando no hay costo de licenciamiento por usuarios que hacen las tareas más simples de participar en flujos de trabajo; hay que recordar que las capacidades de interoperabilidad externa pueden ser limitadas.
Esta plataforma también puede ser utilizada para crear ERP “verticales” descargando el costo de mantenimiento de la plataforma en grandes proveedores de software. Muchas empresas de contabilidad han preferido abandonar su solución y enfocarse en un mayor nivel de abstracción.
· CRM como plataforma. Hay empresas que han construido su sitio público en internet sobre una plataforma de CRM. En la era en que las redes sociales de internet tienen gran popularidad, esto no es más que un “canal” adicional para comunicarse con los clientes. Todos los proveedores mayores ofrecen agregados para hacer una doble jugada de CRM y medios sociales.
· “Plataforma como servicio”. En el mundo web actual, un profesional de tecnología tiene que instalar, mantener y actualizar un sitio. En el modelo de “plataforma como servicio” la administración ha sido totalmente automatizada.
Todos los nuevos desarrollos que su empresa o su cliente consideren podrán ejecutarse indistintamente en un servidor local administrado de forma propia o en un centro de datos compartidos. Ese es el futuro del software y de la infraestructura.
La era de “construir” no ha terminado, porque las aplicaciones actuales no satisfacen la nueva realidad de los nómadas digitales.
El futuro próximo es sin duda la capacidad de construir una aplicación para las tres pantallas (PC, celular y teatro en casa o sala de juntas) y la nube, que pueda ser usado desde muy variados dispositivos portátiles sin duplicar información y en forma enriquecida y con interacción simple; y que sea accesible universalmente por un explorador para consulta en kioscos públicos. Esto va a requerir:
· Un modelo de programación unificado: las aplicaciones se desarrollan una sola vez.
· Un modelo de administración unificado: todas las aplicaciones se administran en común.
· Una base de software unificada: las aplicaciones se ejecutan en cualquier lugar.
· Un mecanismo de seguridad único: seguridad entre clientes y la nube.
· Un sistema de identidad: solo unas credenciales para el usuario.
· Ubicación flexible: operando en servidores internos, privados o públicos.
El sueño dorado de muchos visionarios ha sido “democratizar el software”, desaparecer al desarrollador de software, habilitando a que el experto en el dominio de un problema construya su propia aplicación.
Desafortunadamente esa no es hoy la realidad y hay una gran fragmentación en las herramientas para construir aplicaciones, los “frameworks” de desarrollo ágil y los nuevos lenguajes de programación. En América Latina hay una gran oportunidad por utilizar prototipos rápidos, piezas pre-construidas y las nuevas plataformas a las pymes.
La era de las soluciones “empaquetadas” posiblemente haya terminado y podamos masivamente darle a cada quién lo que requiere. Participe.
Otros vínculos recomendados:
1. Seguridad en construcción de software: http://www.microsoft.com/security/sdl/default.aspx
2. Arquetipos aplicativos: http://msdn.microsoft.com/en-us/library/ee658107.aspx
3. Estado del arte en herramientas de desarrollo: http://www.microsoft.com/visualstudio
Nota. Al autor se le puede en @twitter.com/luisdans
Yo podría comentarte el caso den un CMS que es Drupal, actualmente una de las grandes discusión y tendencias en su uso es por un lado el crear versiones de Drupal ya listas para un fin especifico: tienda en linea, intranet (ya existe open atrium) galeria, blog etc y por otro lado cada vez más se usa el CMS a modo de “framework” aprovechando toda la estructura basica y los APIS y construyendo nueva funcionalidad encima. quizas lo que estamos viviendo en una epoca no del fin del software a la medida, si no de mashups y de construcciones ya no desde cero.
Es cierto lo que dice Iva, las construciones desde cero, ya son casi nulas, hay bastantes librerias. Es como los edificios antes se hacian de varias formas, hasta que se llego a un Standar, a ciertas reglas que siempre hay que seguir para no cometer los mismo errores. Antes cuando solia programar, hay veces agarraba un software y solo cambiambia ciertas variables, o ponia mas fuciones. etc.