Entornos y metodologías

Aplicativo

El portal de microdatos es una herramienta dispuesta en el software CKAN, que es un software Open Source (código abierto); es decir, aunque el portal de microdatos no es un desarrollo in house como sucede con otras herramientas de la Comisión de la Verdad, tiene la ventaja de no generar costos de licenciamiento, y contar con un desarrollo colaborativo que permite implementar nuevas funcionalidades a partir del desarrollo de plugins.

El CKAN es una aplicación licenciada bajo la licencia GNU AGPL (Affero General Public License), de autoría de Open Knowledge Foundation.

Tecnologías y arquitectura

Para el desarrollo web:

  • Plugin DDI adaptado a la Comisión de la Verdad (con el fin de incorporar algunos campos de la Data Documentation Initiative -metadatos DDI-).

  • Plugin para hacer login con el directorio activo (plugin Ldap).

  • Plugin para dar permisos especiales de acceso a los dataset (para aquellos usuarios que solicitan acceder a bases de datos privadas no anonimizadas o con algún tipo de reserva) - plugin Extrapermissions.

  • Mejorar el rendimiento.

  • Organizar requerimientos específicos de la Comisión: licencias, niveles de acceso, público/privado, obligatoriedad o no de algunos campos, entre otros aspectos. No existe un plugin para estos ajustes, por tanto, se optó por modificar directamente el código, el núcleo donde ya venían esquematizados.

El componente Logic del portal de microdatos de la Comisión de la Verdad, se encuentra en:

comisiondelaverdad/sim-ckan/-/tree/main/ckan/logic

Metodologías

  • Programación Sprint Scrum:

    • Historias de usuario

    • Definición de tableros y actividades (sprints)

    • Planeación y seguimientos

Esta metodología se lleva a cabo a través de tableros Jira, donde se hace seguimiento a los sprints.

Buenas prácticas

Programación Scrum: se recomienda trabajar bajo la metodología de programación Sprint Scrum, dado que es una metodología que permite la articulación fácil y rápida de modelos simples y funcionales, los cuales pueden ir evolucionando con el feedback y las necesidades del cliente.

Bajo esta metodología estaremos en función de un desarrollo iterativo o incremental, el cual consiste en dividir el trabajo en pequeñas partes o bloques temporales (sprint). Al final de cada etapa se entrega una funcionalidad completa. Para estructurar la evolución se recomienda crear el Mínimo Producto Viable (Minimum Viable Product, MVP): producto con suficientes características para satisfacer a los clientes y proporcionar retroalimentación para el desarrollo futuro.

MVP: herramienta que permite aprender mientras se desarrolla. Gracias a la iteración, el producto evoluciona y se reduce el tiempo para la validación de nuevas ideas.

Estandarizar código: definir unas reglas de trabajo; es decir, estandarizar la manera en que se van a crear y llamar las funciones, los métodos, las variables, los atributos, etc. La normalización del código es fundamental para el mantenimiento óptimo del desarrollo.

Comentar el código: es una buena práctica comentar el código a fin de que se convierta en un texto legible, autoexplicativo y facilite las modificaciones y el mantenimiento.

Interacción con usuarios: es una buena práctica tener entrevistas previas con los usuarios del sistema; dichos encuentros permiten entender los requerimientos puntuales y las funcionalidades concretas sobre las que debe basarse el desarrollo. Además, se recomienda encontrar un lenguaje común entre lo técnico del sistema y el requerimiento del usuario, a fin de no generar reprocesos y lograr comunicar fácilmente las funcionalidades del sistema.

Last updated