Hoy tuve el agrado de encontrarme con estos dos artículos, publicados en el Microsoft Architect’s Journal:
The case of Software Factories.
Problems and Innovations.
El primero de estos artículos explica en detalle los problemas a los que se enfrenta hoy la industria del software; poca mano de obra calificada, falta de herramientas de productividad, aumento exponencial de la complejidad de la administración de proyectos al incorporar recursos en proporción lineal, etc. Luego continúa haciendo un pequeño raconto de la evolución de la construcción del software, haciendo una comparación con el concepto de paradigma en las preciencias / ciencias normales de Kuhn. Y esboza una serie de soluciones (componentización, utilización de frameworks) y un muy interesante análisis de las economías de escala (scale economies), y las economías de alcance(scope economies), y explica el clásico error al comparar el proceso de producción de bienes en economías de escala, con el proceso de desarrollo en economías de alcance.
El segundo artículo (más largo que el primero) se adentra en los actuales problemas y posibles soluciones que enfrentamos al intentar industrializar el proceso de construcción del software. Y da algunos previews de conceptos que aparentemente estarán disponibles en Microsoft Visual Studio 2005 Team System (como una herramienta para automatizar el deployment de componentes), plantea el éxito de los webservices (luego de que CORBA y otras tecnologías similares fallaran).
También explica un interesante concepto que intentaré investigar: Variable Encapsulation, y lo muestra como una evolución de Aspect Oriented Programming (AOP) contrastandolo con sus beneficios y problemas.