¿Está el futuro del desarrollo sobre SharePoint con los días contados?

Con la salida de la nueva versión On-Demand de SharePoint, encapsulada en Office 365 y el nuevo paradigma de aplicaciones para SharePoint: Las Apps, algunos podrían preguntarse: ¿Se acabaron las personalizaciones que tanto negocio han dado? Es una justa cuestión. Cuando se vende una solución de intranet o un portal a una empresa y ésta está basada en SharePoint, como es natural, cada empresa tiene necesidades particulares que no siempre se satisfacen ni con las características “que vienen en la caja” o “out of the box” en inglés ni con soluciones cerradas de terceros. Es ahí donde viene incluida en las propuestas un apartado de personalizaciones equivalente a un proyecto de desarrollo de siempre.

Lo cierto es que este tipo de enfoque ha tenido cosas buenas y otras no tan buenas. En mi carrera he tenido la oportunidad de ser un partner, ofreciendo los servicios que he comentado más arriba, ser el cliente que contrata a éstos partners y finalmente trabajar en el fabricante así que he podido ver un buen espectro de lo que ocurre en este enfoque de negocio desarrollo + SharePoint:

"Cada empresa tiene necesidades particulares que no siempre se cubren con las características out of the box de SharePoint"

Para empezar la idea original es bastante buena. Al utilizar SharePoint como plataforma puedes ofrecer al cliente una solución más completa que aproveche las capacidades de SharePoint, como son: seguridad, despliegue, gestión documental, búsquedas, reportes, contenidos, entorno social, etc. Así te concentras en ofrecer el valor añadido extra para cubrir en un tiempo mucho más corto que un desarrollo 100% a medida, mucho más valor añadido. Esta idea sigue vigente a día de hoy, solo que ha cambiado la forma de implementar este enfoque desde un punto de vista técnico.

Una contra parte muy clara de estos proyectos, más allá del eterno debate de definir las necesidades previas a un desarrollo, radica en la velocidad que se mueve el mercado y los costes. Por la necesidad de abaratar costes y ser competitivos al final los procesos de desarrollo y despliegue pierden calidad en el día a día, y como me dijo alguna vez un CIO: “Cada vez que cometas un error de gestión, tendrás un problema que gestionar hasta que lo resuelvas, sin importar el tiempo que te tome.” Como alguien que ha estado en el lado del cliente final, doy fe de ello. El problema que te puede dejar un proveedor tendrás que resolverlo tú mismo o bien contratando a otro o por tu propios medios.

El otro punto de inflexión es la forma cómo se publican las personalizaciones en SharePoint, al menos hasta la versión 2010. Si bien es cierto que hay una clara diferencia a bajo nivel de las personalizaciones versus los “objetos primitivos” de SharePoint, al final los artefactos que uno desarrolla se terminan entremezclando con el producto (SharePoint) al tal punto que los procesos que desarrollan terceros utilizan el mismo espacio de memoria que el propio SharePoint. Esto desde un punto de vista de soporte puede ser un verdadero dolor de cabeza para determinar si el fallo está en un componente de terceros o uno de SharePoint, al menos a “simple vista”.

"El nuevo paradigma de desarrollo de SharePoint, las Apps, es un salto tremendo y muy importante para aquellos que quieren seguir en el negocio de desarrollo en SharePoint"

Hubo un intento muy claro de aislar los procesos personalizados de los propios de SharePoint a través de las soluciones sandbox, que se ejecutan en un proceso totalmente distinto e incluso en un servidor aparte si fuera necesario. Pero no tuvo el impacto esperado y había muchas consideraciones que finalmente dejaron a las soluciones sandbox como una “buena oportunidad perdida”.

Con la salida de SharePoint 2013 y más que nada de SharePoint Online, incluido en Office 365, muchos desarrolladores podrían preguntarse: Si ya no tengo acceso a los servidores ¿Cómo voy a seguir creando o extendiendo las capacidades de SharePoint? Teniendo en cuenta que ahora estará todo en la nube: ¿Dónde hago yo mis personalizaciones? La respuesta por muy obvia que parezca es: ¡En la nube también!

El nuevo paradigma de desarrollo de SharePoint, las Apps, es un salto tremendo y muy importante para aquellos que quieren seguir en el negocio de desarrollo en SharePoint, aunque en vez de decir “en SharePoint” sería más bien “sobre SharePoint”. El nuevo paradigma de desarrollo hace que los procesos puedan ejecutarse o bien 100% en el cliente, o en soluciones cuyo host está fuera de la infraestructura de la granja de SharePoint. Esto significa que si un cliente opta por una solución basada en la nube, nuestros desarrollos también deberán estar basados en la nube.

Por supuesto que este cambio implica algo más que un nuevo training, si un desarrollador se pasa a la nube necesita hacer algo más que un desarrollo a medida, necesita garantizar que ese servicio corra bajo unos mínimos. Con esto un desarrollador tendría que ampliar su set de conocimiento y recursos s a infraestructuras, pero esto no tiene que ser necesario. Azure ofrece una plataforma de desarrollo en la que todo el servicio, infraestructura y conectividad se vuelve transparente. Asimismo, las Apps de SharePoint requieren un proceso de validación que garantiza el correcto despliegue de la aplicación, donde todos ganan, el cliente porque simplifica y asegura el despliegue y el desarrollador porque garantiza la calidad de su producto.

Mi objetivo en los próximos meses es ayudar que los desarrolladores y los administradores de SharePoint comprendan este nuevo paradigma y vean ejemplos prácticos. ¡Deséenme suerte!