Novedades

Gestión del conocimiento: para conservar las enseñanzas de lo aprendido

11/04/2012
El Dr. Gerardo Matturro, docente de la Facultad de Ingeniería, y el Dr. Andrés Silva, profesor de la Facultad de Informática de la Universidad Politécnica de Madrid, llevaron a cabo una investigación que aplica las prácticas de la gestión del conocimiento a la Ingeniería de Software.
Gestión del conocimiento: para conservar las enseñanzas de lo aprendido

Dr. Gerardo MatturroDe todo proceso de trabajo se obtienen enseñanzas. Sin embargo, para que estas no queden en el olvido deben ser cuidadosamente registradas. En el área del desarrollo de software, esta industria que avanza de forma avasallante, estos registros han cobrado últimamente mucha importancia. Por esa razón el Dr. Gerardo Matturro, docente de la Facultad de Ingeniería, y el Dr. Andrés Silva, profesor de la Facultad de Informática de la Universidad Politécnica de Madrid, llevaron a cabo una investigación que aplica las prácticas de la gestión del conocimiento a la Ingeniería de Software. Los resultados del trabajo fueron publicados en el Journal of Universal Computer Science.

A continuación Matturro profundiza sobre ciertos aspectos su investigación.

- ¿Qué es la gestión del conocimiento?

- En las organizaciones de cualquier tipo, no solo las dedicadas al desarrollo de software, las personas que trabajan allí poseen un cúmulo de conocimientos íntimamente ligado a las actividades propias de los roles que desempeñan. Asimismo, durante la realización de esas actividades, las personas adquieren experiencia práctica acerca de cómo realizar su trabajo. Estos conocimientos y experiencia constituyen un activo muy valioso para las organizaciones; un activo intangible que es muy difícil de sustituir cuando se pierde. Esta pérdida ocurre fundamentalmente cuando las personas poseedoras de esos conocimientos y experiencia abandonan la organización llevándose consigo todo ese cúmulo de conocimientos y experiencias de trabajo.

La gestión del conocimiento es, entonces, un conjunto de procesos organizacionales orientados a identificar, capturar, preservar y diseminar esos conocimientos y experiencias de modo que puedan reutilizarse por otros miembros de la organización.

- ¿Cómo se la aplica a la Ingeniería de Software? ¿Existe una sola forma o hay varias?

- La Ingeniería de Software es una disciplina que se caracteriza por ser intensiva en la creación y utilización de conocimiento. Todo el tiempo están surgiendo nuevas tecnologías, nuevas metodologías y herramientas de desarrollo de software. Las personas que trabajan en esta disciplina, tanto a nivel académico como industrial, requieren estar aprendiendo de estas innovaciones para poder aplicarlas en sus actividades profesionales. Asimismo, las empresas de desarrollo de software también necesitan estar “al día” con los avances de la disciplina, pues esto les implica poder mantenerse competitivos en la industria.

La aplicación de los conceptos y técnicas de gestión del conocimiento facilita a las organizaciones este “mantenerse al día” con los nuevos avances tecnológicos, así como mejorar de manera continua sus prácticas y procesos de desarrollo de software. Si bien existe un conjunto de técnicas bien conocidas para identificar, capturar y preservar conocimientos, las características particulares de cada empresa en cuanto al tipo de productos de software que desarrolla, las tecnologías que utiliza, los clientes y mercados a los que se enfoca, y también su cultura organizacional, hacen que la implementación de una iniciativa de gestión del conocimiento tenga sus propias particularidades y deban adaptarse a cada organización.

- En la investigación realizada en conjunto por usted y Silva se establece que una de las razones para documentar los procesos es prever que los profesionales que se dedicaron a esa tarea ya no están más en la empresa. ¿Cuáles son las otras razones?

- La otra razón fundamental es que, aunque permanezcan en la empresa (que es la situación habitual), los miembros de los equipos, una vez finalizado el proyecto en el que están participando, o a veces incluso antes, suelen ser rápidamente reasignados a un nuevo proyecto. Esto ocurre actualmente porque la industria del software en Uruguay está en una situación de alta demanda de profesionales que son muy difíciles de conseguir en el mercado. Los equipos de proyecto de desarrollo de software, como en cualquier otro tipo de proyecto, son por su naturaleza entidades temporales. Los equipos se forman con el propósito de desarrollar un producto de software y, una vez que el proyecto finaliza, el equipo se disuelve y sus integrantes pasan a trabajar en otros proyectos.

En todo proyecto siempre hay actividades que se realizaron correctamente y actividades que si bien no se hicieron tan bien, pueden ser mejoradas para el futuro. El análisis en retrospectiva de ambos tipos de actividades puede dar lugar a la elaboración de lo que habitualmente se conocen como “lecciones aprendidas” y “buenas prácticas”. Gestionar y documentar adecuadamente estos tipos de conocimientos y experiencia permite a otros miembros de una organización aplicarlos en sus propios proyectos y beneficiarse de la experiencia adquirida por los demás.

- Asimismo, en la investigación describen una experiencia que llevaron a cabo en la Software Factory de ORT. ¿De qué se trató?

- La experiencia en Software Factory de la Facultad de Ingeniería fue el trabajo de campo en el proceso de investigación de mi tesis de doctorado. Consistió en un estudio de caso de la implementación del modelo de gestión del conocimiento y la experiencia en Ingeniería de Software presentado en la tesis. Los propósitos del estudio fueron validar el modelo preliminar con sus fases y actividades, y analizar su aplicabilidad en un ámbito de desarrollo de software.

En la investigación participaron tres grupos de proyecto de grado de las carreras de Ingeniería en Sistemas y de Licenciatura en Sistemas, con un total de doce estudiantes, 10 de los cuales tenían, además, experiencia de trabajo en la industria. Cada proyecto tenía un cliente real, esto es, una empresa u organización externa a la universidad que habría de usar el producto generado en cada proyecto en su propia operativa.

Es decir, los proyectos no fueron concebidos con el propósito de la investigación, sino que cada uno tenía su propia agenda, así como sus propios objetivos acordados con el respectivo cliente. Con estas características, el modelo pudo ponerse a prueba en un ambiente muy similar al que ocurre en la vida real de una empresa de software: diferentes proyectos ejecutándose al mismo tiempo, aplicando diferentes metodologías de desarrollo y con sus propias particularidades.

La investigación en sí consistió en implementar las diferentes fases y actividades de las que consta el modelo y recolectar información sobre las formas en que esas actividades se insertan en las actividades propias del proyecto de desarrollo. Los resultados más importantes fueron que, al aplicar el modelo, los procesos de captura de conocimientos y experiencia no implican una sobrecarga de trabajo para los miembros de los equipos de proyecto y que, al final de este proceso, se obtuvo un conjunto de lecciones aprendidas y de propuestas de mejores prácticas que han de ser de utilidad para los nuevos proyectos que se desarrollen en Software Factory.

- ¿Qué beneficios genera esta forma de trabajo?

- Desarrollar este tipo de investigaciones en el ámbito de Software Factory, y con estudiantes cursando el último año de sus carreras, permite la obtención de evidencia preliminar para confirmar o refutar hipótesis de investigación y mostrar a las compañías de software la relevancia de la investigación realizada. También permite ajustar la organización y los detalles del estudio empírico antes de llevarlo a cabo en un ambiente industrial. Por otra parte, tener evidencia empírica con estudiantes acerca de algún fenómeno de interés o de la aplicabilidad de una idea novedosa es mejor que no tener ninguna validación.

- ¿Qué aspectos de esta investigación tienen en cuenta de cara al futuro?

- Creo que lo más importante es el hecho de llevar a cabo investigación aplicada en el ámbito de la Ingeniería de Software. Las empresas suelen ver la investigación como algo puramente académico, alejado de las necesidades prácticas de la industria. La realidad es que la mayoría de los avances tecnológicos y las innovaciones técnicas y metodológicas surgen desde los ámbitos académicos. Es clave poder transferir a la industria los resultados de las investigaciones que se realizan en la universidad. En este sentido, en el Departamento de Ingeniería de Software de la Universidad ORT Uruguay estamos muy interesados en trabajar fuertemente ligados a la industria en proyectos conjuntos de investigación e innovación, de modo de desarrollar investigaciones y producir resultados prácticos que contribuyan a mejorar las prácticas y procesos de desarrollo de software a nivel industrial.

- ¿Qué son las guías de reflexión? ¿Cuál es su función?

- Este es uno de los principales aportes de mi tesis de doctorado. Estas guías son una herramienta para capturar conocimientos y experiencia cuya principal característica es que pueden utilizarse durante el desarrollo de los proyectos de software. Una guía de reflexión consta de una serie de preguntas y afirmaciones que se refieren a las prácticas, actividades, técnicas y procesos de software respecto de las cuales es de interés capturar conocimientos y experiencias personales de trabajo, y que están relacionadas con el rol que cada integrante de un equipo desempeña en un proyecto.

Su intención es orientar a los miembros de un equipo de proyecto en lo que se conoce como “práctica profesional reflexiva”; esto es, pensar y reflexionar sobre el proceso personal llevado a cabo en la resolución de un problema técnico o en la toma de una decisión. El propósito de cada una de estas guías es facilitar la reflexión y el registro de la experiencia y los conocimientos adquiridos durante la ejecución de las tareas de proyecto. Mencioné anteriormente que si se espera a que finalice el proyecto para capturar estos conocimientos y experiencias se corre el riesgo de no poder hacerlo porque los integrantes del equipo son rápidamente reasignados a otros proyectos o pueden abandonar la organización.

El uso de estas guías permite capturar esos conocimientos cuando las personas “aun están trabajando en el proyecto”, minimizando de este modo el riesgo de pérdida. Este aspecto es realmente innovador en relación a otras técnicas existentes como son el análisis post-mortem de proyectos, las revisiones post-proyecto y enfoques similares.

- ¿Cómo se identifica y aprehende el conocimiento que se genera en todo proceso?

- Los conocimientos y la experiencia capturados con las guías de reflexión son posteriormente analizados a los efectos de identificar en ellos lecciones aprendidas y propuestas de buenas prácticas; conceptos éstos que mencioné antes. Las lecciones aprendidas y las buenas prácticas se documentan siguiendo un formato predefinido y luego son almacenadas en un repositorio y puestas a disposición de los demás integrantes de la organización.

De este modo, estos “paquetes” de conocimientos pueden ser accedidos por los miembros de los equipos de otros proyectos y aplicarlos en la resolución de un problema similar. Puesto que la gestión del conocimiento no es un evento de un solo paso, sino un proceso permanente, este repositorio y los paquetes de conocimientos que contiene se enriquecen de manera continua. La reutilización de estos conocimientos y el proceso general seguido para su captura, documentación y diseminación constituyen una forma sofisticada de aprendizaje organizacional que contribuye a transformar una empresa “común” en una organización de software que aprende.

Entrevista publicada en abril de 2012

Recursos académicos