¿Cómo maximizar el valor de una experiencia? Una opción incluye capturar el conocimiento que se generó de la misma. Ahora bien, si ese aprendizaje se transforma en conocimiento abierto y reutilizable, el mismo permite que otras personas aprendan de dichas experiencias, las utilicen para nutrir las suyas propias y creen valor más allá de la experiencia original. Por esta razón, desde el BID hacemos grandes esfuerzos por convertir nuestras experiencias en conocimiento para la región. Hasta ahora, lo hemos hecho a través de datos abiertos, publicaciones abiertas, y cursos abiertos, entre otras cosas.
Nuestra nueva iniciativa, Código para el Desarrollo, busca abrir el conocimiento de las herramientas digitales que han servido para enfrentar desafíos de desarrollo en la región – aplicaciones móviles, de escritorio, algoritmos, librerías o incluso hojas de cálculo – y potenciar su valor al fomentar su reutilización.
Por ello, en esta oportunidad, queremos compartir lo que hemos aprendido sobre cómo desarrollar herramientas digitales con alto potencial de reutilización:
1 Documentar es la clave del éxito
Una herramienta digital con una documentación adecuada es lo que le da el potencial para ser reutilizada por cualquier persona que se lo proponga. Esto se consigue redactando un buen archivo Readme. Esto es el archivo que detalla los pasos básicos que cualquier desarrollador debe dar para volver instalar y usar la herramienta digital. En Github, este archivo debe mantener su nombre “Readme.md” para que esté visible en la carpeta principal. Puedes darle formato usando las técnicas de Markdown, el lenguaje de documentación de herramientas digitales más usado.
En este enlace podrás encontrar una plantilla que creamos para guiar tu proceso de documentación. Proponemos una plantilla del archivo Readme.md que explica en detalle cada una de las secciones. Puedes usarla para empezar. Las más importantes y que conviene resaltar son:
Guía de instalación: apoya a futuros desarrolladores en su primera interacción con la herramienta. Esta sección debe estar lo más documentada posible especificando el paso a paso y las versiones de los sistemas en las que ha sido probada. La herramienta digital abierta Smartmap ofrece un ejemplo de una buena guía de instalación.
Guía de uso: sección importante para atraer nuevos usuarios. Es el lugar ideal para incluir capturas de pantalla de la herramienta, video tutoriales y explicaciones de las funcionalidades de la misma.
2 Escoger una licencia es importante
Al especificar una licencia, estas habilitando las condiciones de uso, reutilización y comercialización de esa herramienta digital. No caigas en el error de dejar un vacío legal; esto puede conducir a que muchas personas no se atrevan a reutilizar tu código por miedo a represalias legales.
Choosealicense.com (Elige una licencia) es una página que te ayuda a elegir de manera sencilla la licencia que más se adecua a tu caso.
Las licencias más comunes son: MIT, la cual da libertad a otros usuarios siempre que atribuyan al creador original; la licencia Apache 2.0, muy similar a la MIT pero que también proporciona una concesión expresa de derechos de patente de los contribuyentes a los usuarios; y las licencias GNU, que requiere que cualquier persona que distribuya su código o trabajo derivado, lo haga manteniendo la fuente y los mismo términos. Los contribuyentes otorgan una concesión expresa de derechos de patente.
3 Asegurar la calidad del código es clave
Aunque a primera vista pueda parecer que la herramienta digital funciona correctamente, es conveniente asegurarse de que la calidad de escritura del código no va a generar problemas en el futuro. Para mantener la calidad en la escritura es necesario una arquitectura interna ordenada, un estilo consistente en todo el programa, código comentado y algunos otros conceptos técnicos como eficiencia y fiabilidad del código.
SonarQube es una herramienta para evaluar la calidad del código. Puedes conectar un repositorio de Github online y analizar su calidad a través de las métricas que te ofrecen para ello (disponibles en inglés). Hacer un esfuerzo por disminuir los indicadores que midan tu código dentro de estas métricas puede evitar problemas futuros en las funcionalidades, comunicaciones o reutilización de la herramienta digital.
Los estándares mínimos de desarrollo pueden variar dependiendo de la organización o el uso de la herramienta digital. Por ejemplo, un sistema de comunicaciones satelitales tendrá unos estándares mínimos más altos que una aplicación móvil para consultar el clima. Si eres desarrollador, debes consultar con la organización o el cliente para el que estás desarrollando cuáles son sus estándares mínimos. En el Banco, los estándares mínimos los especifica el departamento de tecnología para cada caso.
¡Ya sabes! Si vas a desarrollar una herramienta digital y quieres que pueda servir a otros desarrolladores, ten en cuenta estos tres aspectos para facilitar su reutilización en el futuro. En este enlace podrás encontrar información más detallada sobre cómo lograr estos puntos.
Si por el contrario, conoces alguna herramienta digital que contiene estos tres elementos, no dudes en hacérnosla llegar a code@iadb.org y estaremos encantados de incluirla en el repositorio.
¡Lee previas entradas de blog sobre Código para el Desarrollo!
El bid apuesta al código abierto para el desarrollo
Cómo aprovechar al máximo nuestra plataforma “código para el desarrollo”
Análisis de “big data” para mejorar cursos masivos y abiertos
Por José Luis Delgado Davara del Departamento de Conocimiento y Aprendizaje del Banco Interamericano de Desarrollo.
Leave a Reply