¿Os imagináis poder diseñar una aplicación respondiendo una serie de preguntas y seleccionando la base de datos a utilizar? Pues existe, y se llama Crisopeya. Se trata del último proyecto de la empresa BEIT, sus creadores, y la idea es muy sencilla: con una herramienta el usuario define los requisitos del programa informático que desea construir y los manda al sistema que automáticamente construye el programa desde tan sólo 49.90€.

Hemos tenido la oportunidad de charlar por correo con César Revert, gerente de la empresa, y ahondar un poco más en los conceptos y detalles que pueden interesar tanto a un posible cliente como al aficionado a las nuevas tecnologías:

[Bitelia] 1.- Por favor, preséntense (trayectoria, proyectos pasado, proyectos futuros)

[César Revert] Me llamo César Revert y soy el gerente de la empresa BEIT. Soy Ingeniero Superior de Telecomunicación por la Universidad Politécnica de Valencia y cursé un postgrado de Creación y Gestión de Empresas TIC por la Escuela de Organización Industrial. Fui estudiante ERASMUS en Strathclyde University en Glasgow, donde colaboré con un proyecto de investigación para Rolls-Royce de sensores ópticos para la industria aeroespacial.

De vuelta en España participé en diversos proyectos de investigación más. Por ejemplo, participé en el desarrollo del primer sistema de posicionamiento de terminales móviles GSM que se comercializó en España, y en un proyecto de vigilancia tecnológica para el sector energético. Trabajé tres años como consultor de servicios TIC, hasta que finalmente el verano de 2004 me lancé a crear mi propia empresa.

La empresa BEIT se creó con el objetivo de cubrir un vacío existente en el sector: ofrecer servicios de consultoría TIC para pequeñas empresas. Para diferenciarnos un poco del resto de empresas y llegar a este mercado decidimos diseñar y desarrollar un pequeño sistema que facilitase el desarrollo de programas informáticos. Sin embargo, cuando ya habíamos empezado este desarrollo apareció una nueva tecnología que permitía trabajar con prácticamente cualquier base de datos de manera transparente. Vimos que si incorporábamos esta tecnología a nuestro diseño, podíamos desarrollar un sistema muy completo.

De esta forma, el sistema que pretendía ser un apoyo para diferenciarnos en el mercado se convirtió en nuestro producto más prometedor. Cambiamos nuestro plan de negocio en gran medida y centramos todos los esfuerzos en el desarrollo del nuevo producto. Actualmente, hemos desarrollado un sistema que permite que los usuarios desarrollen sus propios programas informáticos hechos a medida en Internet. Durante este proceso, hemos sido una de las empresas galardonadas en los Premios Bancaja para Jóvenes Emprendedores.

Los retos que nos planteamos para el futuro parten principalmente de evolucionar la tecnología que hemos desarrollado para que pueda construir aplicaciones informáticas cada vez más potentes y complejas, para que contemple diferentes interfaces de usuario, y muchas otras funcionalidades. La verdad es que esta tecnología abre un campo enorme para seguir desarrollando y evolucionando.

Ejemplo Crisopeya

[Bt] 2.- ¿Cual es el mercado objetivo de las aplicaciones ofrecidas? ( Particulares, Pymes, etc.)

[CR] El mercado objetivo al que va dirigido el producto no ha cambiado, siguen siendo principalmente las pequeñas empresas e incluso los particulares. Las pequeñas empresas se encuentran con el problema de que disponer de un programa informático hecho a su medida es caro y requiere tiempo. Nuestro sistema es una solución para estas empresas. El programa informático hecho a la medida se construye dentro del propio sistema de manera completamente automática. No requiere la participación de ningún experto en programación, por lo que el coste del desarrollo es mínimo, y es casi inmediato. En unos segundos el programa que se ha solicitado está construido y listo para ser instalado.

También las grandes empresas, incluso aquellas que cuentan con sus propios equipos de desarrollo, pueden encontrar atractivo en algunos casos este sistema por los grandes cambios que conlleva.

[Bt] 3.- Imagino que la iniciativa responde a la detección de un problema ¿cómo sabe el cliente que ha llegado el momento de acudir a ustedes?

[CR] La detección del problema puede ser algo tan sencillo como encontrar quien suministre un programa informático hecho a medida que no tarde en hacerse, sea fiable y sea al mismo tiempo económico. Dicho de esta forma parece como tener el cielo en la tierra, pero la realidad es que la tecnología del software ha madurado hasta tal punto que plantear un sistema así, programas que construyen programas, ha resultado viable.

Siendo un poco más concretos, hemos detectado que la tecnología resulta muy interesante en diversos casos de uso. Partimos como se ha dicho, de construir automáticamente programas hechos a medida. Se pueden construir con mucha facilidad programas para: mejorar la gestión de programas y bases de datos ya existentes, distribuir información a un grupo de empresas, elaborar catálogos de productos, gestionar proyectos de corta duración, compartir información siguiendo una arquitectura cliente-servidor, o consolidar diferentes interfaces de usuario de varias aplicaciones en una sola. Y todo ello, con gran facilidad.

Consecuentemente, esta tecnología permite mejorar la gestión empresarial integrando las tecnologías de la información en los procesos de negocio. Y aún más importante, está al alcance de cualquier empresa. Aquí el tamaño no importa.

[Bt] 4.- La idea de que sea el propio cliente el que detecte su necesidad y seleccione su propia solución tiene implicaciones en varios puntos. Divididos por las típicas fases de desarrollo de software (pros y contras):

  • [Bt] Complejidad de la solución (análisis): A pesar de que se trata de automatizar al máximo el proceso el cliente puede conocer sus necesidades reales en caso de no tener experiencia en el mundo informático, ¿se ofrece este tipo de ayuda?

[CR] El servicio que se ofrece está diseñado para que pueda ser utilizado por personas que no tengan conocimientos de programación. Por un lado se evita que la complejidad sea visible para este tipo de usuarios, mientras al mismo tiempo los usuarios avanzados pueden aprovechar todas las funcionalidades más avanzadas. Como he comentado, se han hecho y se siguen haciendo muchos esfuerzos para que las personas que no tengan conocimientos de programación se sientan cómodos utilizando la tecnología.

Se ha desarrollado una guía de usuario y una guía de utilización donde se detalla paso a paso lo que se debe hacer en cada momento. Las herramientas están diseñadas para que el usuario sepa siempre dónde está y hacia donde va. Las aplicaciones vienen con un completo manual de usuario que explica como trabajar con la herramienta y sacarle el máximo partido. Además de todo esto, existen unos módulos denominados pre-definidos (o ya definidos) con algunas funcionalidades habituales como pueden ser gestión de contactos o gestión de facturas, de manera que si el usuario encuentra el módulo que busca no necesita definir su propia aplicación a medida, simplemente descarga el módulo y ya está.

Aún así, los usuarios se pueden encontrar con la dificultad de no saber plasmar sus necesidades reales (las que ellos conocen) en un programa informático, algo que puede ser desconocido para ellos. En ese caso ofrecemos un servicio para que el usuario contacte directamente con nosotros, y hablando con nuestros técnicos diseñen juntos el programa que necesita.

  • [Bt] Detección de posibles problemas (consultoría): Siempre cabe la posibilidad de que surjan problemas derivados de la selección de la solución. Seria interesante que el cliente pudiese detectarlos con antelación ¿se ha pensado en ello?

[CR] El sistema utiliza varias herramientas para validar que el programa que el usuario está solicitando es válido y se puede construir. En cualquier caso, el sistema siempre garantiza eso, la coherencia del programa solicitado. Si el programa está mal definido y carece de alguna información que debería tener, las propias herramientas avisan al usuario de ello.

Evidentemente, sigue existiendo la posibilidad de que estando bien definido el programa y pudiéndose construir, no se ajuste a las necesidades del cliente. Puede ocurrir por diversos motivos, porque no se consideraron todas las opciones y el programa se ha quedado pequeño, o porque se olvidó incluir cierta información que después resultó necesaria. En este caso, ofrecemos la posibilidad de contactar con nosotros y rediseñar el programa, o diseñarlo de nuevo. Una de las ventajas clave que ofrece la tecnología es que dado el bajo coste de construcción de un programa, podemos construirlo y reconstruirlo las veces que haga falta hasta que satisfaga las necesidades del cliente sin que ello suponga un coste de desarrollo significativo.

  • [Bt] Velocidad de desarrollo (desarrollo): Imagino que mediante la selección de opciones (como se puede ver en la guía de usuario) se seleccionan y configuran los diferentes módulos que componen la aplicación final (base de datos, formularios, etc.) ¿Se ampliarán en el futuro? ¿Y los sistemas operativos soportados?

[CR] La tecnología tal y como está en este momento es una primera versión. Por hacer un paralelismo, son los cimientos del edificio. Desde aquí irá evolucionando para incorporar nuevas funcionalidades, nuevas arquitecturas, nuevos campos de aplicación. Tenemos previsto una primera evolución dónde se incluirá una interfaz de usuario web y donde se contemplarán más arquitecturas. La versión que esta disponible en estos momentos es la primera. Delante se abre un camino ancho para evolucionarla.

  • [Bt] Instalación ( implantación): Al igual que en la fase de análisis el usuario final, en caso de que no tenga la experiencia necesaria puede requerir de un soporte. Además ¿forma parte del entregable un manual de uso y configuración de la aplicación final?

[CR] Las aplicaciones están diseñadas para que su instalación sea lo más fácil y cómoda posible, ocultando toda la complejidad al usuario final. Por ejemplo, si para trabajar con la aplicación se necesita instalar una base de datos interna, ésta se instala durante el primer arranque de la aplicación de manera totalmente transparente para el usuario. Las tablas y las bases de datos que necesita la aplicación también se crean de manera automática. Todo el proceso de instalación está automatizado para que el usuario sólo tenga que preocuparse de instalar y arrancar la aplicación.

No obstante, existe un manual y una guía de usuario que sirven de referencia al usuario en el momento de instalar. El manual de usuario permite además que los usuarios más avanzados utilicen todas las opciones de configuración e implantación que la tecnología permite.

  • [Bt] Mantenimiento: Supongo que la aplicación, al ejecutarse sobre un sistema operativo y tener que convivir con otros programas y usos del hardware está expuesto al error así como la privacidad de los datos del mismo, ¿cómo se ha considerado la seguridad en el desarrollo final? ¿y la recuperación frente al error?

[CR] Una de las ventajas importantes del sistema es precisamente la fiabilidad del programa construido. Al haber sido construido de manera totalmente automática, los errores en el producto final son muy infrecuentes. Aún así, cada vez que el programa arranca hace una comprobación del estado del sistema y la disponibilidad de los servicios que necesita. Si existe algún error en el hardware o en la configuración o el estado del propio sistema operativo que impide la ejecución del programa, éste avisa convenientemente al usuario. Si existe un error que limita alguna funcionalidad pero que permite que el programa puede arrancar y funcionar correctamente (por ejemplo, si uno de los módulos de información está instalado sobre una base de datos que en ese momento no está disponible), el programa arranca con la funcionalidad disponible pero notifica al usuario de la eventualidad (en el caso comentado anteriormente, el programa indicaría al usuario que el citado módulo no está disponible, y a continuación arrancaría normalmente pudiendo trabajar con todos los otros módulos instalados sin ningún inconveniente).

[Bt] Esto es todo, muchas gracias por su amabilidad y mucha suerte con el proyecto.

[CR] Muchas gracias a vosotros por atendernos, y también mucha suerte con vuestros proyectos.