Del desarrollador al equipo: conocimiento para un software que perdure

Del desarrollador al equipo: conocimiento para un software que perdure

Autores: Josué Nabí Hurtarte Pinto; Christian Alexandro Aragón García

Palabras clave: transferencia de conocimiento, continuidad del software, conocimiento tácito, documentación técnica, factor camión.

Página 50 de 52

Introducción

En los proyectos de software, el repositorio no cuenta toda la historia. Puede contener el código y

parte de la documentación, pero muchas decisiones, configuraciones o soluciones quedan en la

experiencia de quienes han trabajado directamente con el sistema. El problema aparece cuando solo

una persona conoce esos detalles y el resto del equipo depende de ella para continuar ciertas tareas.

Compartir este conocimiento ayuda a que el proyecto no quede ligado a integrantes específicos. Para

lograrlo se pueden utilizar revisiones de código, mentorías, documentación, sesiones técnicas y

rotación de responsabilidades. Más que conseguir que todos conozcan cada parte del sistema, se

busca que el equipo tenga suficiente contexto para mantenerlo y continuar trabajando cuando sus

integrantes cambien.

Desarrollo

Cuando el conocimiento depende de una persona

Bjørnson y Dingsøyr diferencian el conocimiento que puede quedar registrado del que se adquiere

con la experiencia [1]. En software esto se nota cuando existe documentación y, aún así, todos buscan

al desarrollador que conoce mejor cierto módulo. Configuraciones, errores anteriores o decisiones

técnicas pueden quedar fuera de los documentos; el riesgo es perder también el contexto necesario

para interpretarlos.

Un concepto relacionado es el factor camión o truck factor, que estima cuántas personas podrían

dejar un proyecto antes de que la pérdida de conocimiento lo afecte seriamente. Avelino y sus colaboradores estudiaron este problema en proyectos de software [2]. La Tabla 1 resume el riesgo: no

se busca que todos sepan todo, sino que una tarea crítica pueda continuar si falta quien la realiza

normalmente.

Aspecto Hallazgo o aplicación en el equipo

Explícito y tácito El explícito se documenta; el tácito se adquiere principalmente con la experiencia.

Factor camión Mide el riesgo de depender de pocas personas en partes críticas.

Revisión de código Expone a otros integrantes a cambios y módulos que no desarrollaron.

Aspecto Hallazgo o aplicación en el equipo

Explícito y tácito El explícito se documenta; el tácito se adquiere principalmente con la experiencia.

Factor camión Mide el riesgo de depender de pocas personas en partes críticas.

Revisión de código Expone a otros integrantes a cambios y módulos que no desarrollaron.

Tabla 1. Transferencia de conocimiento. Elaboración propia con base en [1]-[3].

Transferir es más que documentar

Documentar ayuda, pero una guía no conserva todo el contexto detrás de una decisión. Por eso

también son útiles las mentorías, sesiones técnicas y revisiones de código. Rigby y Bird muestran

que esta práctica permite conocer el trabajo de otros integrantes y distintas partes del sistema. La

Figura 1 evidencia cómo este intercambio amplía el conocimiento del equipo [3].

Estas prácticas funcionan mejor dentro del trabajo cotidiano. Revisar cambios, registrar decisiones y

rotar responsabilidades evita que el conocimiento se concentre en las mismas personas. Una señal de

que la transferencia funciona es que otro integrante pueda atender una falla o modificar un módulo

sin depender de quien lo desarrolló. Así, la experiencia individual se vuelve conocimiento del equipo.

Página 51 de 52

Figura 1. Archivos enviados (izq.) y enviados o revisados (der.). Fuente: Rigby y Bird [3], fig. 8.

Conclusiones

La continuidad del software no depende solamente de conservar su código, sino también del

conocimiento que mantiene el equipo para comprenderlo y modificarlo. Cuando decisiones, procesos

o componentes importantes dependen de una sola persona, su ausencia puede convertirse

rápidamente en un problema. La documentación ayuda a reducir este riesgo, pero no debería

utilizarse como el único medio para compartir conocimiento.

Prácticas como las revisiones de código, mentorías, sesiones técnicas y rotación de responsabilidades

permiten que más integrantes comprendan las partes importantes del proyecto. No es necesario que

todos conozcan cada detalle, sino evitar que exista una única persona capaz de continuar una tarea

crítica. Compartir conocimiento durante el desarrollo facilita la llegada de nuevos integrantes y

permite que la experiencia individual permanezca dentro del equipo.

Bibliografía

[1] Bjørnson, Finn Olav, y Torgeir Dingsøyr. “Knowledge Management in Software Engineering: A

Systematic Review of Studied Concepts, Findings and Research Methods Used.” Information and

Software Technology 50, no. 11 (2008): 1055–1068.

https://www.sciencedirect.com/science/article/abs/ pii/S0950584908000487

[2] Avelino, Guilherme, Leonardo Passos, Andre Hora, y Marco Tulio Valente. “A Novel Approach

[3] Rigby, Peter C., y Christian Bird. “Convergent Contemporary Software Peer Review Practices.”

En Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering, 202–212.

New York: ACM, 2013.

https://www.microsoft.com/en-us/research/wp-cont ent/uploads/2016/02/rigby2013convergent.pdf

Ver diseño original de las páginas
Página 50 de la Revista ECYS XXIX
Página 51 de la Revista ECYS XXIX