Aprendiendo Ingeniería con el Software Libre

27 febrero, 2013

Todos los que nos dedicamos a la gestión del desarrollo de software sabemos que necesitamos aplicar la ingeniería del software para que las cosas salgan mínimamente bien. Pero dentro de esa disciplina existen distintos puntos de vista de cuál es la mejor metodología para conseguir de manera eficaz un software de calidad.

De hecho, hemos pasado de las metodologías mastodónticas en las que era necesario cumplimentar cientos de documentos (a muchos nos parecía que estábamos delante de la mayor burocracia jamás inventada) a unas metodologías donde lo importante es entregar un producto de calidad generando la mínima documentación necesaria.

De las metodologías tradicionales a las ágiles hemos pasado por un camino tortuoso, donde muchos nos hicimos ágiles sin que lo llamáramos así porque aún no existían estas etiquetas. Simplemente lo hacíamos por convicción.

Fotografía de una hackathon. Fuente: hackNY @ Flickr. Licencia:  CC-BY-ND 2.0
Fotografía de una hackathon, una oportunidad de desarrollar software de forma colaborativa muy frecuente en el ámbito del software libre. Fuente: hackNY @ Flickr. Licencia: CC BY-ND 2.0

Y en medio de ese camino, se produjo la explosión del software libre. Un software de calidad, desarrollado por cientos de personas distribuidas por todos los rincones del mundo que ha conseguido, en muchos casos, imponerse al que se hacía en las grandes multinacionales con esas otras metodologías tradicionales.

¿Podemos aprender algo en el campo de la ingeniería del software del paradigma de desarrollo del software libre? Si cualquiera examina cualquiera de los programas más exitosos del mundo del software libre, sin duda no podrá más que quedar admirado de la disciplina con la que los miles de voluntarios de todo el mundo han contribuido a crear un software con una calidad excelente. Y recordemos que la ingeniería del software pretende en su objetivo máximo precisamente producir un software de máxima calidad.

Recuerdo como un Jefe de Equipo de una gran consultora me comentaba un día en una comida su actual estado de locura. Se lamentaba de estar volviéndose loco ya que estaba al cargo de un equipo de 10 personas, pero 5 estaban en una planta y 5 en otra, 2 pisos más abajo. Esa situación, me decía, hacía que la comunicación fuese imposible, y la calidad de lo producido iba de mal en peor. Más normal me pareció la queja de otro Jefe de Equipo que tenía a su equipo de desarrollo íntegramente en la India y que tenía que lidiar con temas tan aparentemente sencillos para nosotros como explicar qué es un DNI y cómo se valida si es o no correcto.

Teniendo en cuenta estas anécdotas, que son el pan de cada día para muchos, sorprende ver como en el caso del software libre, donde con directrices más o menos suaves, con una dirección más o menos rígida pero flexible, y con una deslocalización absoluta, se consiguen maravillas del calibre de Apache o Linux.

¿Qué se hace mal en la gestión de proyectos para que no se funcione tan fluidamente como en el desarrollo del software libre? Esta pregunta se la formulé a una de esas personas que se hacen llamar “gurús”, y sin pensarlo dos veces me comentó algunas claves: los desarrolladores de software libre no están presionados por el tiempo y el presupuesto, y lo que producen lo realizan en su tiempo libre a modo de hobby. Por ello, probablemente, su resultado tiene más calidad.

Su contestación no hace más que plantearme que sin ninguna duda tenemos muchos excelentes programadores en nuestros equipos, pero la falta de motivación hace que produzcan software de poca calidad, fuera de tiempo y de presupuesto.

Estoy convencido que merece la pena trasladar muchos de los conceptos del desarrollo del software libre a la creación de software en empresas, para que podamos avanzar un escalón más en este difícil mundo de la ingeniería del software.

Mario Gómez Molina es tutor y consultor del Máster Universitario de Software Libre de la UOC. Es además Project Manager de la consultora VASS y dispone de más de 16 años de experiencia trabajando en el mundo de las tecnologías de la información en proyectos de alta complejidad para grandes clientes.

(Visited 33 times, 1 visits today)
Autor / Autora
José Ramón Rodríguez
Profesor de Dirección de Sistemas de Información, Gestión de Proyectos y Business Intelligence de los Estudios de Informática, Multimedia y Telecomunicación de la UOC y consultor de empresas independiente.
Comentarios
Deja un comentario