Aspectos a evaluar antes de desarrollar un módulo a medida

Drupal cuenta con miles de módulos funcionales que nos permiten construir una gran variedad de sitios con un alto nivel de sofisticación. Sin embargo, a veces nos encontramos con que los módulos disponibles no se ajustan a lo que nosotros queremos, imaginamos o necesitamos.

En ese momento, muchos clientes deciden que el mundo debe adaptarse a sus deseos sin evaluar fríamente los pros y contras de las opciones disponibles: desarrollar un módulo a medida o re-ajustar requerimientos para maximizar el uso del software Drupal disponible.

Para ayudar a tomar una mejor decisión antes de embarcarse en el desarrollo a medida de un módulo Drupal, a continuación compartimos algunos criterios importantes a tener en cuenta:

Valores de inversión

Se trata del aspecto más evidente a tener en cuenta. Un módulo funcional existente (tomar el módulo y utilizarlo) es muchísimo más económico que el desarrollo de uno nuevo, a medida. Y tenemos que contemplar que el tiempo de desarrollo demanda también tiempos de análisis y pruebas, y no sólo de programación.

Es importante también tomar en consideración que la inversión va más allá de tener el módulo terminado. Luego, el mantenimiento del módulo también demandará inversiones más elevadas, ya que a medida que los módulos con los cuales interactúa (incluyendo, claro, al Drupal Core) se actualicen existe la posibilidad de que el módulo a medida también necesite hacerlo.
Esta posibilidad se convierte en un hecho confirmado cuando hablamos de cambios de versiones mayores (por ejemplo, de Drupal 7 a Drupal 8), lo cual demanda la re-escritura del módulo.

A los valores de inversión específicos del desarrollo debe agregarse la inversión necesaria (de tiempo y/o dinero) de contar con un equipo de desarrollo disponible para realizar estas tareas de mantenimiento.

Seguridad

Los módulos desarrollados por la comunidad involucran a numerosas personas capacitadas y tienen un extenso período de desarrollo, pruebas y correcciones, que involucran inclusive controles de calidad por parte de Drupal.org.

Por lo general, los desarrollos a medida no se exponen a todo este control de calidad, que tiene un alto foco en la seguridad, por lo que los módulos a medidas tienen mayores probabilidades de quedar expuestos a problemas de seguridad.

Una buena práctica sería aspirar a publicar el módulo desarrollado con la comunidad, de modo que la misma nos ayude a depurar cuestiones de seguridad, pero este proceso demandaría una inversión inicial bastante más elevada (destinada a gestionar y terminar exitosamente todo el proceso de publicación), que pocas empresas (en Argentina y Latinoamérica) aceptan encarar.

Rendimiento

Por razones similares a los de seguridad, los módulos a medida tiene mayores probabilidades de ser ineficientes y por lo tanto consumir recursos innecesarios, que pueden traducirse en costos de servidores o tiempos de respuesta de cara al usuario final.

En por todo lo anterior que en Drupal Soul recomendamos a nuestros clientes agotar las posibilidad de utilizar el software existente en Drupal.org antes de embarcarse en un desarrollo a medida que, quizás, (junto a sus riesgos) podría haberse evitado.