Sé lo que muchos de vosotros estáis pensando. ¿Quién quiere perder el tiempo dibujando cajitas y flechas cuando podría estar escribiendo JavaScript?. Si eres de los que piensan esto, te voy a dar cinco razones (más dos de “bonus” que seguro te acaban de convencer) para que recuperes tus libros de UML y vayas refrescando tus conocimientos de modelado y diseño de software.

  1. Las técnicas de modelado mejoran la productividad del equipo de desarrollo. Una vez tienes el modelo de datos, de comportamiento, … los puedes usar para generar código automáticamente. Para aplicaciones “típicas” (tipo “data-entry” con muchos formularios tipo CRUD) puedes llegar a generar todo el código para otras una parte considerable.
  2. Reduce los defectos en el código. Hay un buen número de herramientas para verificar, testear y validar tus modelos que permiten detectar errores analizando sólo los modelos. Y ya sabes, cuánto antes detectes un defecto más barato es repararlo.
  3. Los modelos te permiten explorar diferentes alternativas de diseño y arquitectónicas antes de empezar a desarrollar usando técnicas de simulación.
  4. Los modelos simplifican el mantenimiento y la evolución del proyecto (por ejemplo, ayudando a localizar rápidamente las partes del código a tocar después de un cambio en los requisitos). También facilitan la reutilización del software en proyectos futuros (el modelado mejora el ROI especialmente cuando la empresa desarrolla proyectos similares).
  5. Los modelos capturan eficientemente el conocimiento del sistema. Los modelos son la mejor documentación. Lo que simplifica la integración de nuevos miembros al equipo.

¿Todavía vas diciendo que no con la cabeza? Pues dos otras razones, más “pragmáticas”:

  1. Muchos de tus clientes te van a pedir los modelos del software que desarrolles para ellos. En muchas administraciones públicas, seguir un proceso de ingeniería de software bien formalizado (y por tanto con sus fases de análisis y diseño y los modelos correspondientes) es obligatorio para participar en los concursos públicos. Recuerda que el modelado no está reñido con el desarrollo ágil.
  2. Los que hacen dibujitos cobran más que los que programan. A lo mejor dibujar es menos “sexy” pero ser bueno analizando sistemas software (y expresando estos análisis mediante el uso de modelos software) está mejor pagado que dominar los últimos frameworks JavaScript. Hay excepciones pero ésta es la regla habitual.