jueves, 14 de abril de 2011

¿Por qué no usar SharePoint?

Ayer leí un artículo en el que su autor ofrecía las 5 razones que, en su opinión, desaconsejaban el uso de SharePoint. Yo, por defecto, valoro y respeto todas las opiniones siempre que estas no sean ofensivas, y ésta no lo era. Me permití eso sí dar mi opinión personal y ahora me voy a permitir expresarla de manera más detallada en mi propio blog.

Para empezar, vamos a echar un vistazo a las 5 razones mencionadas por el autor:

Seguridad: aparentemente SharePoint no es un sistema seguro basándonos por ejemplo en un artículo de S21sec. Queda fuera de toda duda la capacidad y el conocimiento de la gente de S21sec, y estoy convencido de que si existe una puerta, ellos la encontrarán, en SharePoint o en cualquier sistema. No obstante, veo el artículo y los 5 puntos que destaca, de los cuales en dos de ellos ya se hace mención a que por defecto la puerta está cerrada (Extensiones FrontPage y Webdav), y los otros 3 se pueden (y deben) cerrar cuando trabajamos en un entorno publicado en internet. En este caso, si en un despliegue de SharePoint al público te encuentras con una de estas 5 puertas abiertas, nos encontramos con una mala práctica de la gente que ha puesto en marcha el proyecto, y no entraré en si esto se debe a la capacidad de las personas, o las características (presupuesto) del proyecto.

Precio: el argumento que más suelo escuchar para atacar a SharePoint, pero todavía no he recibido ninguna alternativa válida a menor coste. Está claro que hay CMS más baratos, gestores de contenidos más baratos o bases de datos más baratas… pero señores, SharePoint no es ninguna de estas cosas. Está claro que SharePoint es un producto extremadamente caro si lo que quieres es tener una web estática, o si quieres tener una lista de contactos. Me gustaría escuchar vuestras opiniones al respecto, siempre proponiendo alternativas válidas que ofrecan todo lo que ofrece la suite SharePoint + Office. También estaré encantado de evaluarlas y hacer un análisis de sus funcionalidades y de su precio final real. El autor, en su artículo, hace referencia a las nuevas versiones de los productos que te obligan a cambiar el resto del ecosistema. Si tienes Windows XP y IE6 vas a tener problemas… claro, pero tampoco estás obligado a instalar SharePoint. Tu Windows XP no dejará de funcionar si no instalas SharePoint 2010. ¿Y si tienes un Windows Server 2003 en un hierro de 32bits? Pues tampoco te sirve. Está claro, todo tiene un precio y tienes que valorar lo que te aporta SharePoint y si te merece la pena invertir en infraestructura. Estoy seguro de que muchas empresas funcionarían perfectamente con papel y lápiz (y seguro que lo hacen) y también estoy seguro de que muchas empresas recuperarían una inversión de millones de euros aumentando la productividad un 1% en un año. De todas maneras, insisto, si tienes una alternativa mejor, instálala.

Interoperabilidad: en este punto no creo que merezca la pena entrar. Si has visto como se integra SharePoint con la suite de Office o con Lync sabes de lo que hablo. Evidentemente me dirijo al mundo empresarial y no al mundo de consumo. Busca este tipo de herramienta en el mundo del open source y, si lo encuentras, hazme una demo. Mejor dicho, dame el link de descarga para que me lo instale y lo pruebe. Ahora, ¿que Twitter o Facebook están a la orden del día y quiero que mi SharePoint se integre con ellos? aquí podríamos hablar de claims, pero no quiero entrar a nivel técnico… y, por supuesto, si necesitas cualquier funcionalidad específica para integrarte con otro sistema, con SharePoint no te faltan opciones, desde usar los servicios de conexión con sistemas externos de SharePoint (sin desarrollar) hasta desarrollar cualquier cosa que necesites, pero esto lo dejo para el siguiente punto.

Escalabilidad: en realidad el autor quiere decir extensibilidad. Lo peor del caso es que su fuente es un artículo donde las razones que se dan para no escribir código para SharePoint son: Que SharePoint ya tiene mucha funcionalidad de serie, que escribir código no es fácil y que posiblemente el código que escribas no funcione en nuevas versiones de SharePoint. Vamos a ver, si ya tiene mucha funcionalidad por defecto, ¿por qué estamos discutiendo la calidad del producto? De todas maneras, estoy de acuerdo, si tienes que desarrollar mucho código sobre SharePoint quizá tengas que plantearte si es el producto que buscas. Eso sí, que es complicado desarrollar para SharePoint no lo acepto. Es tan complicado desarrollar para SharePoint como desarrollar para cualquier otro sistema. El problema aquí es que el desarrollador no tenga la formación mínima necesaria para hacer lo que se le ha pedido que haga y no que SharePoint añada complejidad al problema. Si tienes que desarrollar una nueva funcionalidad para SharePoint, no compares el coste de implementarlo sobre SharePoint con lo que te cuesta implementarlo directamente en .NET o en java… compáralo que te cuesta implementar toda la funcionalidad de SharePoint junto con esa nueva funcionalidad. Eso sí, vigila que posiblemente con el nuevo framework o con la nueva versión del SO, tu código tenga que revisarse de la misma manera que si instalas una nueva versión de SharePoint. De todas formas, y un último comentario al artículo en cuestión: si sale una nueva versión de SharePoint seguramente se planteará un proyecto de migración que incluya cambios en el código fuente pero esto sucede en TODOS los proyectos de desarrollo del mundo mundial. Si yo hago un PRODUCTO sobre SharePoint 2007, seguro que desarrollaré una actualización para SharePoint 2010 o SharePoint 201X que permita que sigas trabajando cuando actualices la plataforma. Si no lo hago el problema no es SharePoint, es mi producto.

Comunidad: este es otro punto que me suele afectar especialmente. No le quito la razón a nadie que me diga que instalar un software propietario te “ata” en cierta manera a un un fabricante, y posiblemente encuentres casos en el mundo a los que esa atadura les haya causado algún problema. Dudo mucho que Microsoft te haya dejado tirado si su software tenía algún defecto, pero podría pasar, claro. Creo, de todas maneras, que quien tiene más probabilidades de dejarte tirado es la empresa que te ha desarrollado el proyecto y no el fabricante en sí. En cualquier caso, profesionales del mundo de SharePoint los hay, y muchos, y estoy seguro de que si tienes un problema podrás encontrar fácilmente alguien que te lo resuelva. ¿Que eso vale dinero? ¿alguien piensa realmente que el software libre es gratis? ¿Si tú tienes una empresa y te encuentras con un problema en un componente libre, lo vas a solucionar tú y lo vasa volver a compilar, o vas a ponerte en manos de un profesional? Lo curioso del caso es que en el apartado alternativas aparecen productos que tienen versión gratuita y versión de pago como Alfresco. Curiosamente lo mismo sucede con SharePoint. Ahora bien, una cosa es que el producto sea libre y otra muy diferente es que haya una comunidad asociada. Os puedo decir que alrededor de SharePoint hay una comunidad enorme, con infinitud de grupos de usuario y de foros de discusión. También os digo que hay mucho componente open source que se instala sobre SharePoint, de la misma manera que hay mucho elemento de pago relacionado con productos open source. En muchas ocasiones me he visto defendiendo el argumento del coste de licencia y el coste de propiedad de SharePoint contra alguien que defendía un producto gratuito u open source que ha acabado reconociendo que si querías un rendimiento aceptable para un volumen elevado de usuarios necesitabas tener detrás bases de datos Oracle o servidores de aplicaciones de BEA. De nuevo, os invito a que me expongáis vuestros comentarios al respecto y me encantaría que alguien me convenciese de que estoy equivocado.

Ahora podría exponer mis 100 razones para usar SharePoint pero creo que con lo que he expuesto anteriormente queda claro que tengo una confianza total en el prducto. He visto y he participado en la implantación de numerosos proyectos donde SharePoint era una pieza fundamental y os puedo garantizar que es un producto fantástico que puede mejorar la productividad de un equipo de personas y minimizar sus costes. Evidentemente tiene sus detractores, como todo… porque no es una plataforma que sirva PARA TODO, y en ocasiones así es como se vende. Me he encontrado también en muchas ocasiones con clientes insatisfechos porque no recibieron lo que esperaban. Son, claramente, casos donde las espectativas no se gestionaron de manera adecuada. Si te encuentras en esa situación, será un placer para mí exponerte mi punto de vista, tanto para decirte que la elección de SharePoint no era la adecuada para ti como para decirte que hicieron un trabajo desastroso.

Finalmente, me parece que acabar el artículo recomendando no usar SharePoint porque no integra un producto desarrollado por su propia empresa no me parece para nada adecuado. En primer caso porque te expones a que alguien te diga que tiene algo similar funcionando sobre SharePoint y comience a decir por ahí que no compren su producto porque no se integra con SharePoint, y en segundo lugar porque no creo que sea una buena práctica enfrentarte a un gigante. Hay miles de implantaciones de SharePoint a lo largo del planeta y lo más inteligente sería integrar tu producto para optar a entrar en todas esas implantaciones. En cualquier caso es una opinión igual de respetable que la mía y la de cualquiera.

Y ahora, reventadme a comentarios Winking smile

8 comentarios:

luis dijo...

Brillante contraataque David!! resumiendo, tú sabes de lo que hablas. Una opinión basada en el desconocimiento, se desautoriza sola...
Saludos!!

Él dijo...

Gracias Luís, aunque prefiero no llamarlo contraataque porque tampoco veía el otro artículo como un ataque sino como una opinión :)

Marco Antonio Canales dijo...

Vamos a ver no es un contrataque es simplemente revocar sus puntos de vista, estamos en un mundo globalizado donde las mismas redes sociales nos obligan a atacar la competencia, pero se puede atacar de manera mas subliminal, en fin cuando un post no aporta valor de información no es un post de blog es salsa rosa española.

Anónimo dijo...

Que buen post David, llegué a tu blog precisamente por el artículo que referencias en tu post, y definitivamente post como el tuyo si dan gusto leerlos :)

Anónimo dijo...

Me pareció bien interesante la verdad, pero habría alguna forma de decir ¿Por qué usar SharePoint?. Tal vez con ella se podría hacer un aporte más objetivo. Y bueno gracias por el aporte.

Rubén Alonso dijo...

Rubén Alonso:

Hola David, ya leí tu comentario. El problema de esta gente es que habla sin saber. Yo, si no tengo ni idea de un producto, prefiero tener la boca callada (que además estoy más guapo).

Enhorabuena por tu post, salao¡¡

Anónimo dijo...

David, estoy de acuerdo con lo que dices, pero Sharepoint tiene dos problemas enormes:

1 - Microsoft: cuando se detecta un bug, no lo corrige, lo añade a sus especificaciones y .. listo!.

2 - Sharpepoint, en cada versión, incorpora más lagunas, incoherencias y errores que no va a corregir Microsoft. Trabajar en esta plataforma és realmente costos, complejo, ingrato y sumamente frutrante porque nunca puedes terminar nada sin etrar en un callejón sin salida o duplicando, triplicando o més los datos para solucionar los problemas funcionales.

Él dijo...

Anónimo, es una opinión que respeto pero no comparto. El punto 1 no hace falta que lo comente. Si Microsoft está donde está no puede ser que, por definición, haga las cosas mal. Comete errores, sí, pero también hace muchas cosas bien. Respecto al punto 2 podríamos hablar durante horas. Yo conozco muchísimas empresas en las que SharePoint ocupa un lugar central y es básico para su productividad. Cierto es que en muchas ocasiones SharePoint es sinónimo de problemas y que la adopción de la plataforma es prácticamente nula... pero en la mayoría de esos casos habría que hacer un análisis de dos factores antes de culpar a SharePoint: el primero, qué se ha intentado hacer, y el segundo quién lo ha intentando hacer. Si intentas montar un ERP sobre SharePoint, la culpa del fracaso no será de SharePoint. Si pones personal que no ha visto SharePoint ni en pintura a instalarlo en un entorno, la culpa del fracaso tampoco será de SharePoint. Puedes cambiar, por cierto, la palabra SharePoint por cualquier otro sistema que se te ocurra y el resultado será el mismo ;).

Un saludo!