Bjarne Stroustrup, creador de C++, señaló: “Nuestra civilización opera sobre el Software”... Luego de una inversión global valorada en más de 10 mil billones de dólares, la Tecnología de Información está presente en nuestro día a día en forma transparente. Esto sin considerar la integración de procesos entre empresas, que apenas ha iniciado.
En Estados Unidos la construcción de software es un negocio, en Europa una ciencia y en Asia un arte. Lo que es claro es que la construcción de software es un proceso complejo. Muchos “nuevos alquimistas” han buscado la forma de industrializar el software, pero se ha determinado que crear software no es un proceso de manufactura; es una combinación de ciencia, arte, ingeniería y habilidades de administración de proyectos. Las tendencias son diversas:
• Procesos para la construcción de software.
• Plataformas, herramientas y lenguajes.
• Esquemas de desarrollo: internamente,
contratado al exterior, o por una comunidad.
• Filosofía: el diseño es la aplicación; diseño independiente de plataforma; descripción de la intención y no la secuencia de pasos; distintas formas de licenciar y distribuir el código, etc...
En este breve espacio, deseamos describir una tendencia a considerar: fábricas de software orientadas a dominios específicos. Aunque mucho se ha criticado el uso del término “fábrica de software”, lo que resulta evidente es que en todo caso una fábrica no produce por igual mesas que llantas o tazas.
Los generalistas recomiendan partir de un proceso de desarrollo genérico (como es el caso del Rational Unified Process) para construir cualquier tipo de aplicaciones (v.gr. dispositivos portátiles, aplicaciones de misión crítica o aplicaciones para aviones comerciales).
Existe otra visión: Microsoft, Unisys, Borland y otras empresas consideran que la simplificación en construir el software reside en una combinación de elementos acotados a un tipo de problema en particular, llamado “dominio” específico: • Herramientas de construcción de software generales pero personalizadas con “diseñadores visuales” orientados a un dominio específico (dichas herramientas además incluirán elementos de “nueva generación” como instrumentación, desarrollo en equipo, soporte asistido a metodologías para construcción de software, etc.).
• Lenguajes de programación específicos a dominio (Domain Specific Languages o DSL).
• Arquitecturas de software probadas, para dominio específico y frameworks (un framework es la solución parcial a un tipo de problema particular).
• Guías y procesos para dominios específicos.
• Encapsular el conocimiento de negocio
específico y conocimiento técnico asociado.
Por ejemplo, una fábrica de software para el sector financiero podrá producir soluciones de banca, aseguradoras, CRM y más con entidades de dicha vertical. Todo lo repetible se automatizará en lugar de crearse nuevamente para cada aplicación.
Entre los ejemplos de empresas que están adoptando y promoviendo la estrategia de fábricas de software para dominios específicos podemos mencionar que Unisys tiene fábricas para 20 industrias verticales; Borland desarrolló DSLs basados en diagramas UML 2; Kinzan provee fábricas horizontales para desarrollo web; Nationwide tiene DSLs para sector finanzas; y Siemens cuenta con fábricas para dispositivos médicos.
Para mayor información sobre herramientas para dominio específico, pueden consultar: lab.msdn.microsoft.com/vs2005/ teamsystem/workshop/dsltools/
Estimados lectores, ¿a ustedes cuál corriente les parece más sensata?
Acerca del autor
Luis Daniel Soto Maldonado es Director de Evangelización en Nuevas Tecnologías en Microsoft México. Entre sus funciones actuales están la administración de la relación con el Gobierno Mexicano para el desarrollo de la industria de software (ProSoft). Luis Daniel es jurado del “Gran Orden de Honor al Mérito Autoral” en software del INDAUTOR/SEP y fundador de diversas asociaciones de Tecnologías de Información (TI) relacionadas a inteligencia competitiva, administración del conocimiento y construcción de software. Luis Daniel Soto es Ingeniero en Sistemas de la Fundación Arturo Rosenblueth y ganó el primer lugar en el concurso nacional para software de exportación en 1989.
- Log in to post comments