A principios de 2000, recuerdo estar hablando con amigos de la Universidad en nuestros primeros puestos de trabajo y que surgiese la idea del bibliotecario. Una figura que se encarga de la custodia, aprendizaje y enseñanza del valor de la empresa contenido en el software desarrollado. ¿Sabes de alguna empresa que lo implemente?
La idea del bibliotecario puede evocar a esos ancianos monjes de la Edad Media europea siempre rodeados de libros que debían preservar y se hacían custodios del saber acumulado en ellos. Sin estos custodios, mucho del saber de épocas anteriores no habría llegado a nuestros días. Pero, ¿cómo se integra esto en una empresa? ¿Qué tareas son las que debería soportar y qué beneficios obtiene la empresa con ellos?
Vayamos por partes.
La fuga del conocimiento
Hay empresas de todos los tamaños.
En grandes empresas los títulos se diluyen hasta el punto de una especialización enfermiza que puede ralentizar cualquier desarrollo. Pero también una especialización tan grande que la falta de un solo trabajador crea un vacío de conocimiento sobre el conocimiento global de un producto, un proyecto o más grave aún, la forma de trabajo de la empresa.
En empresas medianas o pequeñas es inviable tener a una sola persona al cargo del conocimiento de la empresa. Normalmente, los líderes creen acaparar este conocimiento hasta que hay que contratar a alguien nuevo y descubren que deben decirle la famosa frase de: bueno, tú ve leyendo el código y si tienes alguna duda nos preguntas; que en verdad quiere decir: no tenemos ni idea de cómo va esto así que apáñatelas.
Es triste que tanto en empresas grandes como pequeñas surja el mismo problema, la información está esparcida entre todos los que han trabajado alguna vez en el proyecto, no hay nadie que tenga el conocimiento al completo y cuando alguien se va, algo del conocimiento se pierde con su partida.
Este problema supone una gran inversión en tiempo, sobre todo al integrar a una persona nueva al equipo. Debe ser entrenado por todos porque nadie tiene un conocimiento global y el nivel de fricción puede generar stress a la persona en proceso de integración al equipo hasta el punto de abandonar durante el período de prueba.
¿Qué papel tiene el bibliotecario?
El papel principal es recolectar, tratar y archivar todo el conocimiento de la empresa. Esto implica, para cada producto o proyecto:
- Mantener un documento actualizado de características sobre el producto o proyecto. La definición más cercana es el Manual de Usuario. Un Manual de Usuario define qué puede hacer un producto o proyecto y cómo se percibe o utiliza a modo de caja negra. No hace falta entrar en los detalles internos de cómo está hecho a menos que afecten a la forma de uso.
- Mantener un Registro de Cambios e histórico sobre qué modificaciones se hicieron al proyecto y el porqué. Este documento es crucial para cuando se quiera saber por qué una característica fue implementada, qué razón la motivó y cuándo se hizo. Tener este conocimiento es crucial para saber si sigue teniendo sentido mantener ciertas características o no.
- Mantener los Documentos de Diseño a Alto Nivel (HLD). Estos documentos suelen ser principalmente una serie de esquemas a varios niveles de detalle que intentan ilustrar de forma concisa cómo se implementa el sistema, cómo interactúa con los diferentes servicios o elementos, casos de uso y algunas definiciones de datos.
- Mantener el Modelo de Dominio. Aunque a mi me gusta también llamarlo Glosario, sin embargo a veces es más que un simple glosario. Este documento es vital para entender el vertical de un proyecto o producto concreto. Si la empresa siempre trabaja para el mismo vertical entonces mantendrá solo un documento pero si debe moverse entre diferentes verticales entonces deberá mantener un documento por vertical. Como nota, con vertical me refiero a un sector como el financiero, el sanitario o el de telecomunicaciones por poner algunos ejemplos.
- Mantener el Radar Técnico. Esta es una actividad que conocí no hace mucho y puedes encontrar aquí un ejemplo hecho por Zalando. El Radar Técnico ofrece cuatro secciones que puedes nombrar a tu gusto, Zalando eligió: Almacenes de Datos, Infraestructura, Lenguajes de Programación y Administración de Datos. Hay otros que en lugar de Administración de Datos agregan Tecnologías. Pero también puedes hacer más secciones, esta no es una idea cerrada. La misión del radar es marcar con tres estados cada elemento agregado de modo que la adopción de una tecnología concreta tenga un proceso claro y seguro y pueda responder a las preguntas, ¿podemos adoptar este lenguaje? ¿por qué no nos conviene esta tecnología? ¿por qué deberíamos probar AWS y no Azure?
- Mantener el Entorno de Trabajo, es decir, no es responsabilidad del bibliotecario hacer de microinformático instalando Windows, asesorando sobre GNU/Linux o administrando los contenedores que un desarrollador debe o puede usar para desarrollo, pero sí mantener documentación sobre el proceso y una retroalimentación de qué habría que cambiar o qué partes son más complejas para facilitar la entrada de nuevos desarrolladores, administradores de sistemas o incluso administrativos.
En grandes empresas se puede destinar a una o varias personas a la función de bibliotecario, mientras que en empresas medianas o pequeñas este cargo puede ser rotativo.
Puede parecer que el trabajo no es demandante o que pueden quedar ociosos en algún momento pero esto no es cierto. Ten presente que simplemente el Manual de Usuario y el Registro de Cambios deben actualizarse con cada nuevo cambio en el producto o proyecto y su asesoría y presencia es clave en cada reunión de producto o proyecto para dar información sobre cómo funciona el producto o proyecto y proporcionar esta información al equipo o personas a cargo de tomar una decisión.
Como puedes ver, es una posición bastante poderosa si consideramos la gran cantidad de información y conocimiento que debe aglutinar.
¿Cargo rotativo o fijo?
Como he dicho, en empresas grandes puede otorgarse el cargo fijo a una persona, mientras que en empresas más pequeñas este cargo puede ser rotativo, pero es tan solo mi recomendación.
Depende del tipo de empresa.
En consultoras pequeñas es muy posible que esta figura mantenida de forma fija tenga mayor sentido dada la gran cantidad de proyectos y el nivel de rotación del personal. Nunca quedaría sin trabajo que hacer.
El punto positivo de hacer el cargo rotatorio es que si no hay nadie en el equipo con vocación por la documentación, será el castigo eventual que hay que tomar y la excusa para que aprendan lo que aún no saben de los productos y/o proyectos de la empresa.
No obstante, si tienes a alguien con vocación de bibliotecario y con afán de documentar todo y mantener de forma celosa la información bien organizada, pronto comenzarás a ver los resultados y los beneficios. Eso sí, ten presente que no es un puesto para personas asociales, la idea no es mantener a la persona aislada con la documentación sino todo lo contrario, en el centro de cada desarrollo manteniendo siempre la información actualizada y a todos los integrantes bien informados.
Conclusiones
Como dije al inicio, esta idea viene rondando mi cabeza durante bastante tiempo, al menos un par de décadas y aún no he oído de ninguna empresa que la implemente, espero que sí existan.
En resumen, la figura del bibliotecario como custodio y vigilante del conocimiento de la empresa me parece crucial y necesaria, ya sea como cargo fijo o rotativo y dar vida a esa tarea que, al igual que la realización de pruebas, tanto se descuida en las empresas como es la documentación.
Ahora, la llamada a la acción. ¿Quieres que te asesore en cómo iniciar una Biblioteca en tu empresa? ¿Necesitas que el conocimiento se mantenga pero no hay nadie en tu empresa que documente ni aún forzándolos? Se puede externalizar. De hecho, ponte en contacto a través de LinkedIn y hablamos.
Categorías
Etiquetas
- programación (111)
- desarrollo de software (79)
- erlang (75)
- opinión (37)
- noticia (36)
- libros (28)
- servidores (26)
- desarrollo web (24)
- base de datos (24)
- administración de sistemas (23)
- php (22)
- desarrollo ágil (22)
- empresa (21)
- otp (20)
- ruby (19)
- ingeniería de negocio (18)
- elixir (18)
- desarrollo profesional (16)
- redes (16)
- seguridad (14)