No mates moscas a cañonazos

Recuerdo una entrevista a un productor de música electrónica que comentaba que en la actualidad existen tantos programas para crear sonidos, secuencias, ritmos, etc. que en ocasiones perdías la visión del objetivo principal. Este objetivo no era aprender a utilizar todos esos programas sino hacer música.

Esta desmesurada oferta de herramientas para trabajar también existe en el mundo del desarrollo. En la actualidad nos encontramos con que la tecnología avanza a ritmos agigantados. Cada año que pasa nos encontramos con frameworks que afectan mucho a la arquitectura y el modo de trabajo de un proyecto de software.

Sin embargo, en ocasiones se puede llegar a perder el rumbo del objetivo principal que es conseguir una solución funcional que es lo que principalmente necesita el cliente. Los frameworks y librerías aportan soluciones técnicas, pero cuando se utiliza alguna se debe tener en mente siempre que van a solucionar un problema o una necesidad que tenemos.

Por ello la selección de un framework no debe hacerse si éste no soluciona un problema que tenemos. Utilizar un framework o una librería porque es la moda o por aparentar más conocimiento no debe ser el criterio para la selección y utilización de este.

Es por ello que en muchas ocasiones existen recomendaciones de consultores que ante la duda aconsejan la mejor solución, es decir, una arquitectura que sirve para todos los casos. En otros casos recomiendan gigantes librerías que tienen multitud de funcionalidades cuando tan solo quieres utilizar una pequeña funcionalidad. Normalmente elegir la mejor solución para todos los casos implica mayor coste de desarrollo ya que hay que desarrollar para casos en los cuales la utilización de una funcionalidad es tan sólo una hipótesis.

En otros casos, ocurre también lo contrario. Otra forma de realizar trabajo innecesario es crearnos nuestro propio framework cuando ya tienes otros que vendrían muy bien. En este sentido el trabajo se acabaría antes conociendo el framework concreto que desarrollándolo nosotros mismos.

Como conclusión, siempre hay que tener en mente que problema tenemos y las herramientas deben facilitar la solución a ese problema. Las herramientas no deben convertirse en los productores de problemas o generadores de trabajo innecesario. Sin embargo, dejar de lado todos los frameworks o librerías desarrollando nosotros mismos un framework propio también puede ser perjudicial.

En todo caso, buscar siempre la solución adecuada y proporcional al caso es complejo. Cuando analices un framework o librería, ten en mente la siguiente pregunta: ¿Qué soluciona este framework y qué trabajo añadido implica su utilización?. Si la segunda parte de la pregunta tiene más peso que la primera evita “Matar moscas a cañonazos“.

Portada de Genbeta