Saltar al contenido

Lo que el modelado puede hacer por ti

Por qué modelar antes de programar: con las ánforas romanas y un reproductor de música, verás cómo los modelos reducen errores y ayudan a trabajar juntos.

Ramón Invarato

Imagina la siguiente situación –es poco corriente, pero para eso está puesto lo de “imagina”. Un día te encuentras en tu casa aburrido, muy aburrido, tan aburrido que se te ocurre la descabellada idea de encender tu ordenador, así porque sí. Pero no para mirar redes sociales, jugar, ni chatear –cualquiera del conjunto del común de los mortales si te viera diría que eres un tanto raro. Y te dices: “voy a picar código” (jerga informática patea diccionarios que describe la acción de programar) –a este nivel seguro que uno de los mortales comunes ya te ha mirado muy raro.

Quitando a los que enrarecen que no son importantes, solo nos centramos en ti y tu idea. Has tenido una idea, que es por ejemplo programar un reproductor de música con dos botones, uno de “Play” y otro de “Stop” para arrancar y detener las canciones que se van a reproducir; también has pensado en añadirle un temporizador, para saber por dónde va la canción; y seguro que otras tantas cosas más, pero con eso nos vale.

Boceto de un reproductor de música con botones Play y Stop y el texto «Tiempo de reproducción 2:34»

Reproductor de música cutre imaginado. ¡Queda mucho para que funcione esto!

Ahora bien, quieres llevarlo a cabo. La motivación ha sido cualquiera, desde aprender, hasta venderlo cuando esté acabado, e inclusive ambas a la vez, entre otras motivaciones. Sabes programar y lo puedes realizar, quieres que sea profesional. Pero ya has fallado, ya no será profesional ¿Por qué?

 

Cualquiera desde tu posición haría exactamente lo mismo. Tener una idea y llevarla a cabo en el menor tiempo posible. Realizarla de manera caótica, ponerse delante de la pantalla y empezar a tirar líneas de código, a borrar unas y sustituirlas por otras debido a que se nos ha ocurrido algo todavía mejor –termina siendo un sinfín y probablemente no se acabe el programa. Por ello surgen algunas de las preguntas más comunes: ¿Para qué hacerlo de manera profesional, con documentación, con técnicas de modelado? No veré el resultado hasta dentro de mucho y todo lo que suene a profesional huele a aburrido, da pereza, no se sabe cómo hacerlo. Es muy cómodo ponerse a programar directamente, y para un programa sencillo, como el reproductor de música propuesto, no es necesario más que ponerse a programar y, si se maneja bien el lenguaje, en una tarde estará acabado. Es cierto, no merece la pena modelar o documentar algo tan fútil, se pierde más tiempo del que se gana.

Pero, ¿qué pasaría si tenemos más de un programador? Bien podrían ser amigos con un objetivo común o trabajadores de una empresa. Y ¿Qué ocurre si nuestro proyecto ya no es un simple reproductor de música con dos botones, debido a que se nos ha ocurrido algo monumental o mientras escribimos código se nos ocurren nuevas ideas? Como un reproductor con tienda online, comentarios, valoraciones, favoritos, filtros de sonido, visor de carátulas, línea de tiempo, diagramas de sonidos, y otras muchas características –ya que queremos un producto que sea atractivo en el mercado, que se pueda vender bien, sea único y original. Aquí es donde nos enfrentaremos a problemas que nos aterran desde el comienzo de los tiempos.

Antiguamente, pongamos por caso, un fabricante y vendedor de alfarería del periodo del Paleolítico realizaba una a una las vasijas. Era un proceso lento, que para la competencia de entonces era suficiente, el negocio era bueno, se intercambiaba una jarra por otros bienes. La clientela era la justa para la producción.

Esquema de un trabajador que fabrica tres vasijas una tras otra, en el tiempo que tarda en hacer las tres

Fabricando vasijas de una en una sin modelos. Se tarda mucho y todas salen distintas, aunque de lejos parezcan iguales.

Nos encontramos con un símil a ponerse uno porque sí a escribir líneas de código, a hacer el programa directamente –al igual que un alfarero del Paleolítico fabricaba directamente las piezas de arcilla, sin más planos, bocetos o ayuda de terceros. Con una persona vale, es algo relativamente sencillo, y se hace rápido. ¿Planos en programación? ¿Qué narices…? Seguro que te has preguntado, no nos adelantemos que estamos en el Paleolítico.

 

Pasaron los siglos, y se requirió de más mano de obra para la fabricación de cuencos u otras piezas arcillosas. Era un negocio en alza. Aunque perduraba el problema: cada alfarero fabricaba una sola vasija, piezas simples y cada uno como le daba la gana, del tamaño que quería. Había que acelerar la producción, pues los clientes lo querían rápido. También los clientes ansiaban que tuvieran las medidas estandarizadas para que todas las piezas contenedoras, como vasijas o jarras, fueran de las mismas medidas e iguales. Para intentar solventar todos estos inconvenientes se empezaron a diseñar los primeros modelos o diseños.

Vamos a remontarnos unos siglos al futuro, concretamente hasta el siglo XV a.C., donde la civilización en auge era la romana –todavía no existían los ordenadores, y el mecanismo de Anticitera no cuenta. Los romanos empezaron a utilizar las conocidas ánforas para el transporte de líquidos. Ya entonces, los romanos estandarizaron una forma (cuello estrecho, dos asas) y una capacidad (32,3 litros) que equivalía a un talento. Por lo que todo alfarero de ánforas debía de respetar dichas medidas, seguir un modelo.

Puede que no te quede clara la utilidad de los modelos. Ya que directamente puedes decir a los trabajadores cómo quieres el objeto y ellos lo harán, ¿Para qué más? Decirlo eso es casi un modelo. Casi, porque como jefe de personal podrás decir “hacer ánforas” y no es un modelo; decir “hacer ánforas idénticas a esta otra” es casi un modelo; y explicar “hacer ánforas con estas medidas exactas” es un modelo.

Nunca hay que olvidar que estamos en sociedad y para hacer cosas grandes requerimos de mucha gente que se ponga de acuerdo.

Diagrama de dos trabajadores que fabrican ánforas y vasijas en cadena, con el tiempo de cada pieza

Imaginemos por un momento que no se hayan hecho planos y que existen dos trabajadores, uno que se encarga de fabricar ánforas, y el otro tapones. Las ánforas se fabrican artesanalmente sin respetar modelos. Por lo que el trabajador que fabrica los tapones, para que estos encajen en las ánforas, tendrá que esperar a que acabe una ánfora, para luego fabricar el tapón que encaje correctamente. Esto es muy poco eficaz, ya que mientras se hace el ánfora, el trabajador que fabrica los tapones ha de esperar. Crédito: Imágenes del ánfora obtenidas de la Wikipedia y modificadas por Jarroba.

Un modelo es una idea que se quiere convertir en realidad, lo que es lo mismo que un plano, un boceto, un diagrama, o cualquier otra cosa que sea intermediaria entre lo que se quiere hacer y la idea inicial de hacerlo. Por tanto, modelar es hacer los modelos. Lo que facilita y acelera la producción como veremos. Pues no hay que inventar desde cero algo que puede contener múltiples errores por la improvisación; ya se ha pensado con antelación, se han acotado o solventado en el modelo muchos o todos los problemas que pudieran existir al crear lo modelado. Dicho de otro modo, todo se ha diseñado sobre papel, se ha pensado sobre papel y se ha mejorado sobre papel –seguro que se te ha ocurrido el ejemplo de los planos de una casa. Solo queda pasar del papel al producto.

Volvamos al siglo XV a.C., con los romanos que querían fabricar ánforas. Para hacer bien las cosas, los pasos que hay que seguir son:

  1. Idea, el quiero hacer: Quiero hacer un ánfora.
  2. Modelar, el como hacer: Como hago un ánfora.
  3. Fabricar, el hacer: Hacer un ánfora.

Esquema Idea, Modelo y Producto: del boceto de un ánfora a su plano con medidas y a las ánforas terminadas

Los tres pasos para desarrollar un ánfora con la técnica de modelado. Crédito: Imágenes del ánfora obtenidas de la Wikipedia y modificadas por Jarroba.

Esto tenía otras ventajas para nuestros fabricantes de ánforas. Pues un ánfora tenía dos partes separables: el recipiente cerámico, y el tapón de barro. Con el modelo, los encargados de fabricar los recipientes, se abstraían –pasaban completamente, y seguramente ni sabrían cómo– de fabricar los tapones. Había otros fabricantes, que seguramente estuvieran en el extremo opuesto de la ciudad, encargados de hacer los tapones. Por tanto, los que hacían los recipientes posiblemente nunca estarían en contacto con los que hacían los tapones, e incluso, no sabrían ni cómo eran, y lo mismo los otros. Por ello era necesario que existiera un modelo, para que los fabricantes de tapones supieran las medidas del cuello del ánfora, y los que fabricaban los recipientes conocieran las medidas de los tapones –así podrían encajar perfectamente, si no seguramente los fabricantes de ánforas hubieran ido a la quiebra, al no querer nadie ánforas con tapones que no encajaran.

 

Además, conseguía que se incrementara la producción. Debido a que mientras unos fabricantes hacían recipientes, en paralelo otros hacían tapones –no tenían que esperar unos a que acabaran los otros. Para terminar, en un lugar quedado, estarían los encargados de recibir los recipientes y los tapones para juntar ambas piezas; posteriormente, mandar el producto completo al mercado.

Diagrama de dos trabajadores con el mismo plano, uno fabrica ánforas y otro tapones, en paralelo y con su tiempo

Si retomamos el ejemplo sencillo de los dos trabajadores, uno que hace tapones y el otro las ánforas, cada uno con un plano de cómo hacer las cosas las harían iguales, sin fallos de la improvisación. Y no solo eso, sino que conociendo las medidas ambos fabricantes podrán hacer el trabajo simultáneamente, sin tener que esperar a que acabe el anterior. Lo que es más productivo, al terminarse antes el trabajo y al estar trabajando ambos trabajadores en todo momento. Crédito: Imágenes del ánfora obtenidas de la Wikipedia y modificadas por Jarroba.

Si has entendido la utilidad de un modelo, habrás deducido cuáles son los tres pasos fundamentales para hacer el reproductor de música:

 

  1. Tener una idea: quiero hacer un reproductor de música.
  2. Modelar la idea: hacer los planos y diagramas del reproductor de música.
  3. Fabricar la idea: hacer el reproductor de música.

Además, el tiempo nos ha enseñado que con un modelo se consigue:

  • Conocer en profundidad el producto ideado. Lo que facilita comprender algo complejo. Pues una idea es algo borroso, poco detallado.
  • Corregir errores antes de empezar la producción. En un plano se ve qué puede fallar, borrar y volver a dibujar algo que sea mejor.
  • Estimar las herramientas necesarias, el tiempo de producción aproximado, además deducir otros conocimientos. De ver un plano, se puede deducir qué herramientas serán necesarias, ya que si ves un clavo seguro necesitarás un martillo.
  • Facilita la comunicación con los productores. Por lo que da pie a conocer a priori qué puede ser producido de manera paralela y por tanto abstraer a cada productor de otras partes que no le interesen. Visto el jefe el plano de la ánfora, mandará a una fábrica hacer tapones y a la otra los recipientes, como se comentó.
  • Cuando esté pulido el modelo se podrá reutilizar. Por lo que se podrá juntar a otros para crear modelos más complejos o mejorar los existentes. Años después, con el modelo del ánfora, se crearán los cántaros y los  tapones de corcho.
  • Seguro que solventará problemas similares, o ayudará a crear modelos bastante perfeccionados de otros productos parecidos. Modelo de recipiente y tapón para líquidos, que funcionaban muy bien, pues lo siguiente fueron las botellas, bidones, etc.

«Lo que el modelado puede hacer por ti», de Ramón Invarato en jarroba.com, con licencia Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0. Obra registrada en Safe Creative.

Ramón Invarato

Diseño y construyo plataformas de datos y sistemas inteligentes, y me motiva compartir esa experiencia aquí.

Te puede interesar

Comentarios (9)

  1. Roberto C. Ramos

    Me ha encantado este artículo y otros que he leído en su página son excelentes, seguiré explorando 😀 me gustaría ver más de ustedes sobre UML, saludos!!!

    1. Ramón Invarato Jarroba.com

      Nos alegra que te haya gustado Roberto 🙂
      Gracias por tu sugerencia, la tendremos presente para futuros artículos.

  2. Martín

    Excelente artículo (y excelente la web toda). Llevo rato leyendo. Sería genial que con su manera de explicar se hicieran algo de UML. Evidentemente es muuuy importante. Un gran saludo e insisto: excelente web! No me despego más 🙂

    1. Ramón Invarato Jarroba.com

      Gracias Martín 🙂

      No te pudo adelantar fechas, pues depende de un poco el tiempo libre que tengamos para hacer artículos, pero sí que tenemos planeado hacer más sobre el tema. Por otro lado, y aunque solo engloba a UML, tenemos el modelo 4+1 de Krutchen en http://jarroba.com/modelo-41-vistas-de-kruchten-para-dummies/

  3. Arturo De León

    Buen artículo, me ayudo a ver la importancia del modelado, me considero que me gusta picar código, pero a la hora de querer hacer algo nuevo me quedo pasmado y tardo más realizando el trabajo ó simplemente sale con muchos errores.

  4. Diego Reales

    Que buen articulo, desearia que montaran algo de UML para que me puedan aclarar ciertas dudas que tengo acerca de los diagramas de secuencias

     

    1. Ramón Invarato Jarroba.com

      Crear buenos diagramas UML es importante. Por ello, tenemos muy en consideración tu sugerencia para futuros artículos.

  5. Matias

    Muy buen articulo!!! excelente para entender la importancia del modelado!!

  6. Osbaldo

    Lo felicito por artículo tan puntual y sencillo de leer, pero apesar de la sencillez no se aparta de la objetividad y la estructura.

Deja un comentario


Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.