Una de las grandes maravillas que ofrece el software es su ductilidad, su capacidad de adaptarse a todo tipo de problemas y situaciones. Es una característica que lo diferencia profundamente de sus contrapartidas físicas, y de los productos analógicos.
Y uno de los grandes peligros que le acecha, por contra, es la facilidad con la que un buen diseño inicial se complica y degrada a medida que el software evoluciona sin un control riguroso de su arquitectura y diseño o cuando no se somete, al menos de cuando en cuando, a saludables procesos de ‘refactoring’ (rediseño) para recuperar la pureza de diseño inicial, para retornar a los mejores principios de la ingeniería sofware.
Si ese peligro de degradación acecha a cualquier software que se mantenga un cierto tiempo en producción y, por ende, probablemente en evolución, es tremendamente peligroso cuando lo que hacemos no es evolucionar un diseño, sino intentar conciliar, muchas veces sometido a presiones de fechas y resultados, software de procedencias, diseños y filosofías diferentes, nacidos de las mentes de distintos equipos e incluso puede que de distintas empresas.
¿En qué estoy pensando cuando digo esto último?
Pues estoy pensando en las grandes suites de software de los mayores fabricantes que han crecido, con cierta frecuencia, no de una forma orgánica y con claras directrices arquitectónicas, sino por convergencia de productos, en muchos casos adquiridos a terceras empresas, y que luego se intentan encajar, tal vez a martillazos, en una arquitectura y unos diseños que no les son propios ni naturales.
Me ha venido a la mente esta reflexión leyendo el libro ‘Microsoft Dynamics 365 for dummies‘ de Renato Bellu, cuya lectura he acometido intentando entender cuál exactamente es la propuesta de Microsoft en el campo del CRM y el ERP, y más ahora con su clara apuesta por el cloud, el SaaS y la integración con Office 365. Atiendo a las explicaciones que al autor hace al principio, enumerando los diversos productos, algunos adquiridos a terceros, que se han integrado en esta suite que, además, ha cambiado de nombre con frecuencia.
Tenemos Dynamics GP que antes era Great Plains y que desaparece con la versión 365, Dynamics SL, antes Solomon y también abandonado en la versión 365, Dynamics NAV, antes Navision y que sí pasa a formar parte del nuevo ERP. Dynamics AX, antes Axapta, y que también pasa a formar parte del nuevo ERP. Dynamics CRM, antes CRM online y que pasa a la nueva suite en su parte CRM. Nada más y nada menos, que cinco paquetes de origen, con cuatro fabricantes originales diferentes.
Lo leo y no me extraña que siempre me haya costado entender la propuesta comercial de Microsoft en este campo de los sistemas empresariales. No me extraña la dificultad para entenderla pero, quizá peor, me genera sospechas sobre la limpieza de la arquitectura, sobre su capacidad de evolución y sobre su compatibilidad hacia atrás. ¿De verdad va a conseguir Microsoft llegar finalmente a una suite con una arquitectura realmente unificada o que, al menos, esconda realmente sus complejidades internas al usuario?
No sé. No es imposible y los resultados en la evolución de Office a su versión 365 aportan algo de optimismo…pero no es tarea fácil…no lo es en absoluto.
Y no se trata sólo de Microsoft. Mi mente me recuerda mucho también a Oracle, que también en el campo de los sistemas empresariales, pero además en los campos del BPMS o de SOA, nos tiene también acostumbrados a la compra de productos e integraciones en las suites…y también a los contantes y confusos cambios de denominación comercial de sus productos.
Dudo de la bondad comercial de esos nombres cambiantes y confusos, y dudo de la bondad técnica de esa integración de productos heterogéneos.
Quiero confiar, y doy de hecho un voto de confianza a estos gigantes del software, pero miedo tengo de que por más que los ingredientes que componen su menú sean excelentes, y por más que los cocineros tengan varias estrellas Michelín, la digestión de las suites, tanto para los fabricantes como para sus clientes, pueda ser algo pesada…