20220208192042 - Los modelos abstractos: sólo una cara del diamante
En el capítulo sobre la introducción a la Ingeniería de Sistemas Basada en Modelos (MBSE con sus siglas en Inglés) en libro de "SysML distilled" [1], Lenny escribió una frase que me pareció muy impactante sobre los modelos abstractos:
Los diagramas (modelos abstractos) nunca son una representación completa del sistema que describen.
Y continúa diciendo que los diagramas son descripciones que pretenden comunicar una idea sobre el sistema. Y que todas las características del sistema que resulten irrelevantes para expresar la idea, podrían estar completamente ausentes en el diagrama. Y aún así, no significaría que dichas características ausentes no existan en el sistema real.
La razón por la que me impactó, es porque resultó muy oportuna y útil ante un problema que tengo frecuentemente: tardo horas y horas refinando la documentación de mi trabajo de ingeniería. Y paso horas y horas ajustando detalles finos en el diseño y la arquitectura de mis productos. Y al parecer, ahora caigo en cuenta de que me sucede porque "en el camino" olvido la idea que quiero expresar y me dedico a producir una fotografía detallada de un sistema.
Poner demasiados detalles en un modelo tiene más costo que sólo el tiempo invertido: le agregamos complejidad innecesaria. Pierde gradualmente la expresión de la idea que queríamos comunicar. Es como si el arquitecto le diera renders 3D con texturas y colores a los ingenieros civiles, en vez de planos con cotas y medidas. El exceso de información distraería al arquitecto de la información que es relevante para su trabajo.
Así pues, a la hora de elaborar cualquier tipo de modelo abstracto (un documento de especificaciones, diagramas, modelos ejecutables, etcétera) es de vital importancia empezar con la pregunta: ¿cuál es la idea que quiero comunicar sobre mi sistema?
Comentarios
Publicar un comentario