Avances en las bases teóricas para el desarrollo de software

Hace tiempo publiqué algo acerca de la obsolescencia de algunas teorías de gestión de proyectos (The underlying Theory of Project Management is Obsolete) y, por lo tanto, sobre la necesidad de mejores teorías no sólo para la administración. En mi recorrido como profesional en software, En la medida en que fui tomando conciencia de cuán importante es el esfuerzo teorético para mejorar la práctica —y viceversa—, en esa medida he buscado teorías que cimentan científicamente nuestra actividad. Fue, entonces, muy grato saber que otros profesionales estaban realizando esfuerzos teoréticos (Working on software theory) en nuestro campo.

Hoy en día es muy enriquecedor aprender más sobre el progreso actual de la obra teórica de gente como Ivar Jacobson, Pan-Wei Ng, Paul E. McMahon, Ian Spence, y Svante Lidman:

The Essence of Software Engineering: Applying the SEMAT Kernel

 

«The kernel in this book represents a software development effort as a continuously operating abstract mechanism composed of components and relationships. The project does not move from position to position within this mechanism as in the assembly line metaphor. Rather, there is a continuous flow through the mechanism as opportunities are transformed into requirements, and then into code and tests, and then into deployments.» —from the foreword by Robert C. Martin

 

«Software projects everywhere look for methodology and are not finding it. They do, fortunately, find individual practices that suit them; but when it comes to identifying a coherent set of practices that can guide a project from start to finish, they are too often confronted with dogmatic compendiums that are too rigid for their needs. A method should be adaptable to every project’s special circumstances: it should be backed by strong, objective arguments; and it should make it possible to track the benefits.» —from the foreword by Bertrand Meyer