¿Quieres saber más?

Desarrollamos aplicaciones web y móvil a medida, ajustadas a las necesidades y complejidad de cada cliente y proyecto.

En esta página encontrarás cómo lo hacemos, nuestra metodología de trabajo y las características de nuestros desarrollos que lo hacen especialmente adecuado para el sector público. Si crees que te podemos ayudar, no dudes en contactarnos.

¿Cómo lo hacemos?

Entendemos la programación y la tecnología como algo que debe resolver un problema y dar valor tanto a nuestros clientes como al usuario final.

Escogemos tecnologías basadas en esta aportación de valor a largo plazo, de manera que lo que usamos tiene que ser válido hoy pero también tiene que tener la capacidad de evolucionar y ser mantenido en el tiempo. 

El uso de tecnologías libres y ser parte de la comunidad nos ha permitido ir desarrollando soluciones y metodologías de despliegue que, si bien tienen un gran impacto en el día a día, no constituyen vendor lock-in, es decir, creando una dependencia total hacia la empresa que ha desarrollado o integrado la solución. 

Nuestro interés como empresa es proteger la inversión de nuestros clientes (tanto públicos como privados) a la vez que intentamos implicarlos en el conocmiento de la comunidad de software libre y que nos permitan liberar software genérico para que pueda ser usado por otros en un futuro.

Metodologías de trabajo

En APSL tratamos en la medida de lo posible de adaptarnos a las necesidades y particularidades de cada uno de nuestros clientes, tanto públicos como privados, aplicando una gestión y desarrollo ágiles.

A nivel de desarrollo, buscamos que nuestras aplicaciones funcionen bajo el esquema basado en 12Factor  y el framework AWS Well Architected.

Estas metodologías surgen en el mundo de las aplicaciones web, de la nube, de desarrollos pensados como servicios, y nos ofrece un conjunto de mejores prácticas de desarrollo, despliegue y gestión de aplicaciones, y construir aplicaciones bien arquitecturadas

En entornos que evolucionan hacia tecnologías propias del cloud como Kubernetes y serverless, poder desarrollar haciendo uso de estos criterios hace que podamos aplicar todo el conocimiento que ya se tiene a la hora de desplegar y mantener este tipo de aplicaciones en la nube. 

Como resumen de las mismas, podríamos destacar los siguientes beneficios:

  • Usan formatos declarativos para la automatización de la configuración, para minimizar el tiempo y el coste que supone que nuevos desarrolladores se unan al proyecto;

  • Tienen un contrato claro con el sistema operativo sobre el que trabajan, ofreciendo la máxima portabilidad entre los diferentes entornos de ejecución;

  • Son apropiadas para desplegarse en modernas plataformas en la nube, obviando la necesidad de servidores y reduciendo la necesidad de administración de sistemas;

  • Minimizan las diferencias entre los entornos de desarrollo y producción, posibilitando un despliegue continuo para conseguir la máxima agilidad;

  • Y pueden escalar sin cambios significativos para las herramientas, la arquitectura o las prácticas de desarrollo.

Estas metodologías puede ser aplicada a aplicaciones escritas en cualquier lenguaje de programación, y cualquier combinación de ‘backing services’ (bases de datos, colas, memoria cache, etc).

Características

Nuestros desarrollos y aplicaciones se ajustan a las necesidades de cada cliente y proyecto, pero comparten todas ellas algunas características importantes:

Modelo multitenancia. El proceso de desarrollo y construcción ya tiene en cuenta desde el inicio (y más si se aplica la metodología 12Factor) que las aplicaciones se desarrollan pensando en ser multinenantes (es decir, que será necesario disponer de más de una instancia de la misma). El nivel dependerá siempre de las interconexiones con otras aplicaciones y el grado de acoplamiento de las mismas, pero esto facilita que administraciones públicas puedan colaborar entre ellas, haciendo un uso más eficiente de los recusos.

Documentación. La documentación en todas sus formas (código, tests unitarios, tests de aceptación, documentación de las APIs, documentación final de usuario) forma parte del proceso de desarrollo.

Trazabilidad y Auditoría. Nuestras prácticas de desarrollo nos llevan a tener trazabilidad de todas nuestras actividades, tanto de los desarrollos llevados a cabo, incidencias, soporte y gestión, como  de la dedicación de los mismos.

Soporte y formación. Creemos que el soporte y formación al usuario son clave y debe realizarse desde una fase inicial del proyecto. De este modo se minimizan tanto los errores como la necesidad de formación muy exhaustiva ya que son los propios usuarios que participan en el proyecto y validan que pueden apoyar a sus compañeros. 

Seguridad. Tenemos experiencia en el desarrollo de aplicaciones muy seguras que cumplen con los requerimientos de seguridad más estrictos. Hacemos uso de las mejores prácticas tanto de desarrollo como de mantenimiento de sistemas.

Traspaso y mantenimientoPodemos encargarnos del mantenimiento de los desarrollos, y evolutivos, pudiendo además incorporarlo como parte de un servicio de nuestro ISOC (Centro de Operaciones de Infraestructura y Servicios) siguiendo un modelo SaaS (Software as a Service).