Durante la conferencia SiriusCon (conferencia online sobre el modelado visual) hablé sobre las tendencias futuras en el mundo del modelado de sistemas y aplicaciones. Pronto estará disponible el video pero mientras tanto os dejó las diapositivas de la presentación.
Después de una breve introducción al mundo del modelado, mi charla estuvo dividida en dos partes: los problemas del modelado de software a día de hoy y las tendencias futuras que podrían corregir esos problemas. Os pongo a continuación un pequeño índice como referencia de los temas tratados. Como durante la presentación tampoco pude profundizar mucho en ellos, os añado también links a posts y artículos que expanden esas ideas (y ya sabéis que podéis contactar conmigo para más información si no os queda claro el porqué de alguna de las fases provocativas de la presentación).
Uno de los mensajes principales en la charla fue que si queremos que más gente invierta su tiempo en modelar y diseñar el software antes de empezar a programarlo, hay que asegurar que obtienen un buen ROI (return on investment) del modelado. Y para un mejor ROI tenemos dos opciones: o bien hacemos que las herramientas sean capaces de generar más (y mejores) artefactos a partir de los modelos o bien disminuimos el coste de utilizar las herramientas mismas. En la charla propuse algunas ideas al respecto.
Obstáculos actuales en el modelado y la ingeniería de software dirigida por modelos
- Problemas en el Marketing
- El modelado no es sexy (salvo la ingeniería inversa, ej. OpenAPItoUML or JSON Discoverer) pero
- el concepto de low-code es mucho más cool
- Problemas de usabilidad
- Problemas de Infraestructura
- El modelado implica también colaboración, seguridad y confidencialidad
- Las herramientas deberían ir donde los usuarios están (y adaptarse los entornos que ya usan). Ej. herramientas de modelado online
- Entre muchos otros problemas en el modelado
Tendencias de futuro para el modelado de software
- Nuevas interfaces para el modelado
- Los modelos textuales son también modelos . Aún mejor opción: usar una sintaxis textual para escribir el modelo y una gráfica para visualizarlo y entenderlo
- Moverse a la nube
- Modelar en herramientas no tradicionales (ej. creando diagramas UML de forma colaborativa en Slack)
- Modelando con chatbots y voicebots
- sin olvidar que esta “apertura” genera a su vez nuevas dificultades (protección de la Propiedad Intelectual de los modelos, trazabilidad de los cambios,…)
- Modelado inteligente
- Autocompletion para modelos, con herramientas que aprendan de como modelamos y sugieran lo que podríamos añadir para completar el modelo.
- Uso de redes neuronales para manipular modelos
- Modelado más ágil y personal
- Los modelos pasan a ser un artefacto que da una visión parcial y dinámica de los datos de los que disponemos en ese momento (pensad en modelos para big data).
- No hay que reinventar el UML. Los DSLs (domain-specific languages) deberían pasar a ser un núcleo con las primitivas de modelado útiles en todo proyecto para ese dominio más un conjunto de librerías (para el modelado incierto, temporal ,…) a importar dependiendo de las necesidades del proyecto.
- Mejorar la productividad y seguridad creando para cada usuario la perspectiva de modelos que necesita.
Últimos comentarios