Buenas prácticas de desarrollo

No es el objetivo de esta guía valorar las distintas metodologías utilizadas para el desarrollo de aplicaciones, ya que existen múltiples factores que pueden hacer recomendable el uso de una u otra. Lo que sí se recoge en ella es una relación de buenas prácticas, recomendaciones y reglas de obligatorio cumplimiento en la mayoría de los casos.

  • La metodología a utilizar deberá aportar al proyecto la agilidad necesaria para incluir iterativamente los requisitos transmitidos por los interlocutores del Cabildo, proporcionando las herramientas necesarias para la validación de esos requisitos (maquetas o prototipos). Se señala a modo de referencia la Metodología SCRUM.

  • El desarrollo deberá ser, en la medida de lo posible, orientado a tests para asegurar la calidad del software y su robustez ante cambios.

  • Se exigirá trabajar con el sistema de control de versiones corporativo. Se recomienda seguir las Mejores prácticas para control de versiones. recomendadas por Gitlab.

  • Para la evolución y despliegue de la aplicación se contará con la plataforma corporativa para integración y despliegue continuos. Se aconseja leer el siguiente conjunto de mejores prácticas y consultar con el equipo de Informática sobre los criterios establecidos internamente al respecto.
    Mejores prácticas para integración continua.
    Mejores prácticas para integración y despliegue continuos.

  • Las aplicaciones se desplegarán preferentemente en contenedores utlizando Docker como runtime. En el apartado Orientación a la nube de esta guía se señala un conjunto de buenas prácticas específico para trabajar con esta tecnología.

  • No hay que olvidar que el software es un producto vivo. Es muy importante que cuando se desarrolle una aplicación se tenga en cuenta, respecto a su mantenimiento, además de la evolución funcional, la evolución técnológica, con el fin de que dicha aplicación se pueda ir adaptando a la progresión de la tecnología.

  • Como norma general, las aplicaciones que necesiten autentificación de usuarios/as deberán implementar de manera obligatoria la integración con LDAP contra el Directorio Activo corporativo, salvo que estas personas usuarias sean externas a la corporación, y por parte del equipo de Informática se plantee otra forma de autentificación. Asimismo desde el Cabildo se podría estimar conveniente, en ciertos casos, la integración con el CAS (Central Authentication Service) corporativo en lugar de LDAP. Por último, se recomieda que se permita además el uso del certificado electrónico y se acordará con la persona responsable del proyecto por parte de la corporación, los tipos de certificado a aceptar (Certificados de empleado público, de persona física, de representante, DNI electrónico, etc).

  • La aplicación deberá contar con un adecuado registro de logs, siguiendo las siguientes mejores prácticas:
    • Establecer objetivos claros para su registro.
    • Utilizar los niveles de registro correctamente.
    • Estructurar bien los registros.
    • Escribir entradas de registro significativas.
    • Realizar pruebas.
    • Emplear líneas de registro canónicas por solicitud.
    • Agregar y centralizar los registros.
    • Posibilitar la configuración de una política de retención.
  • Usabilidad y accesibilidad. El Cabildo de Tenerife se esfuerza para que las aplicaciones desarrolladas sean fácilmente utilizables y accesible por la mayor parte posible de la ciudadanía y/o del funcionariado en su caso. Por tanto, respecto a los principios de usabilidad y accesibilidad, sean referidos a aplicaciones web publicadas en la Intranet como en Internet, aplicará lo recogido en la Norma de presencia en internet. En el caso de imposibilidad de cumplimiento debido a razones técnicas derivadas de las características de una determinada funcionalidad, la empresa lo deberá justificar a la persona responsable por parte del Cabildo, quien valorará internamente con su equipo y responsables funcionales, si se publica la aplicación en cuestión con el referido déficit, o se procede a modificar la funcionalidad para eliminarlo. Respecto a este tema se puede encontrar material de ayuda en la web Accesibilidad del Portal de administración electrónica nacional.

  • Los textos que se incluyan en las aplicaciones y portales que se desarrollen para el Cabildo Insular de Tenerife deberán hacer uso de un lenguaje no sexista y cumplir obligatoriamente las prácticas descritas en el Manual de uso en medios de comunicación y publicidad.

  • En el caso de que el desarrollo a realizar tenga visibilidad hacia la ciudadanía a través de una aplicación móvil se deberá tener en cuenta lo recogido en la Guía de buenas prácticas en desarrollo aplicaciones móviles

Normativa y procedimientos

La siguiente lista de documentos se debe tener en cuenta en el desarrollo de los proyectos