Lo que el modelado puede hacer por tí
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í porqué 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 donde va la canción; y seguro que otras tantas cosas más, pero con eso nos vale.
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 como 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.
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 XVa.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 como quieres el objeto y ellos lo harán, ¿Para qué más? El 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éntica 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.
Imaginemos por un momento que no se haya 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 XVa.C., con los romanos que querían fabricar ánforas. Para hacer bien las cosas, los pasos que hay que seguir son:
- Idea, el quiero hacer: Quiero hacer un ánfora.
- Modelar, el como hacer: Como hago un ánfora.
- Fabricar, el hacer: Hacer un ánfora.
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 como– 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 como 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, sino 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.
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 cuales son los tres pasos fundamentales para hacer el reproductor de música:
- Tener una idea: quiero hacer un reproductor de música.
- Modelar la idea: hacer los planos y diagramas del reproductor de música.
- 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 que 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 que 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 que 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.
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!!!
Nos alegra que te haya gustado Roberto 🙂
Gracias por tu sugerencia, la tendremos presente para futuros artículos.
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 🙂
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/
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.
Que buen articulo, desearia que montaran algo de UML para que me puedan aclarar ciertas dudas que tengo acerca de los diagramas de secuencias
Crear buenos diagramas UML es importante. Por ello, tenemos muy en consideración tu sugerencia para futuros artículos.
Muy buen articulo!!! excelente para entender la importancia del modelado!!
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.