Hacia una teoría en software

Existe actualmente una iniciativa para buscar una teoría en software. Dicha iniciativa está en manos de programadores (la mayoría de ellos). Es la iniciativa Software Engineering Method and Theory (SEMAT).

La palabra «teoría» suele usarse como en la frase: “En teoría, no hay diferencia entre teoría y práctica, pero en la práctica, la hay”. Pero este significado es superficial, pues sólo denota que teoría y práctica son diferentes pero no dice nada de lo importante en dicha diferencia. Hay un significado para la misma palabra pero en un sentido científico, el cual nos remite al punto más cercano al concepto de verdad al que la humanidad se ha podido acercar en un campo determinado, a la fecha. Espero que la iniciativa SEMAT esté enfocada y orientada por este último significado de «teoría».

Por supuesto, las computadoras y su programación pertenecen a la ciencia de lo artificial, mucho más cercano al campo de las ciencias sociales que al de las ciencias naturales. Así que, para los potenciales resultados de tal esfuerzo, quizá nos convendría basar nuestras esperanzas en la clase de resultados provenientes del constructivismo social que del pensamiento religioso.

El primer taller SEMAT ocurrió recientemente en Zurich, un reporte al respecto está disponible en línea.

Para empezar, es un muy buen paso hacia adelante como se muestra por la definición tentativa adoptada para el término «ingeniería de software», la de Tom Gilb: La ingeniería de software es “la disciplina que provoca a los sistemas de software entregar el valor requerido por todas las partes interesadas” —“the discipline of making software systems deliver the required value to all stakeholders”.