Aplicaciones de código abierto para cubrir las necesidades de gestión de tu empresa

Posteado April 9, 2008 a 8:49 pm por ansueta Feed Articulos

Hace tiempo que las aplicaciones de código abierto constituyen una alternativa potente y madura, capaz de satisfacer muchas de las necesidades básicas de gestión de una empresa. Quedan lejos los tiempos en que esta tecnología -más conocida como Open Source- quedaba exclusivamente en manos de pioneros, “frikis” y visionarios, y era considerada una opción “rebelde y minoritaria” frente a los grandes dominadores del mercado.

Vamos a repasar las ventajas que puede aportar a una empresa el uso de aplicaciones de código abierto, y después vamos a presentar algunos ejemplos destacados de paquetes de gestión para diferentes áreas: gestión de contenidos, e-commerce, CRM y ERP.

¿Qué significa código abierto?

En sentido estricto, las aplicaciones de código abierto u Open Source son aquellas que permiten consultar el código fuente y -aunque con diferentes condicionamientos y restricciones- modificarlo y redistribuirlo. Antes que nada, conviene zanjar un equívoco: que el código esté “abierto” no significa, necesariamente, que esa aplicación sea gratuita. Hay empresas que cobran licencias de uso, aunque permiten la posterior modificación del código; otras distribuyen libremente la aplicación, pero después cobran por el servicio de soporte; algunas ofrecen una versión gratuita y cobran por la versión “premium”, o por los desarrollos a medida; muchas otras, siguiendo al pie de la letra el espíritu inicial, ofrecen un producto absolutamente gratuito, y permiten su libre modificación y distribución.

Como podéis ver, hay variantes para todos los gustos. Aunque esta disparidad de modelos ha generado cierta controversia entre los defensores de un software auténticamente libre, en este artículo nos centraremos en la utilidad de las aplicaciones.

Ventajas del código abierto

Cuando alguien pone el código a disposición de la comunidad, puede esperar varias cosas. Por ejemplo, que el resto de los usuarios colaborarán en la detección de errores, y realizarán sus aportaciones para solucionarlos. En teoría, el software surgido de esta interacción continua será más completo y tendrá una mejor calidad que el código inicial. Repasemos las ventajas que esto supone:

Transparencia. El usuario no compra una caja cerrada, sino que puede revisar de arriba abajo la estructura y el “motor” de la aplicación. Y ya sabemos que la transparencia se traduce casi siempre en confianza.

OpenSource

Alto nivel de penetración. Una distribución gratuita es la mejor garantía para lograr un alto nivel de penetración y, de paso, la consolidación de una tecnología. La mejor prueba es que, incluso en el caso de aplicaciones de código “cerrado”, hemos podido asistir a formidables expansiones -teóricamente “no buscadas”- gracias a la distribución masiva de copias pirata.

Flexibilidad y bajo coste. Con las aportaciones de los diferentes usuarios, la aplicación puede crecer y mejorar a alta velocidad. En la mayor parte de las ocasiones, el departamento de desarrollo de una empresa no puede competir con toda una comunidad de miles de desarrolladores utilizando una aplicación.

Personalización. Partiendo del código base, podemos realizar modificaciones hasta ajustarlo a los requisitos y las necesidades específicas de nuestra empresa.

Menos riesgo. Si la tecnología se expande y el código puede ser modificado por diferentes actores disminuye el riesgo de que nuestra empresa quede atada de pies y manos, sometida a las decisiones de un proveedor único.

Fidelidad de los desarrolladores. La gente que, de forma directa o indirecta, participa en la construcción de esa aplicación, muchas veces acaba por sentirse identificada con ella, y desarrolla un cierto sentimiento de pertenencia y de propiedad respecto del producto.

Concentrados en el desarrollo. Según algunas teorías, la mayor parte del esfuerzo de las empresas tradicionales de desarrollo se concentra en la venta y no tanto en la construcción del producto. Una distribución gratuita puede corregir este desequilibrio, liberando a la compañía de parte de sus esfuerzos demarketing y venta para permitir que sus profesionales se concentren en el desarrollo puramente tecnológico.

Algunas desventajas

La última ventaja que hemos mencionado, la de una mayor concentración en el desarrollo, bien podría transformarse en una desventaja. De hecho, algunos achacan a las aplicacionesOpen Source una falta de visión de negocio: los desarrolladores se concentran casi exclusivamente en el aspecto técnico y, a veces, no tienen claro el objetivo final y las diferentes fases del proyecto. Siempre cabe el riesgo de que la aplicación acabe convertida en un software-desafío para “frikis” más que en una herramienta de gestión para un amplio número de usuarios.

Otra de las desventajas que a veces se señalan es que, al ser el sistema tan transparente, cualquiera puede conocer la estructura y sus debilidades, lo que podría convertir a la aplicación en un blanco vulnerable frente a los ataques de usuarios desaprensivos.

Algunas aplicaciones destacadas de código abierto

Gestión de contenidos. Drupal
Drupal es una aplicación gratuita diseñada para publicar y gestionar contenidos web. Está teniendo mucho éxito. Tanto es así que, en la actualidad, 10.000 personas y organizaciones están utilizando Drupal para en gestionar sitios webs de diferente tamaño y temática: blogs personales, webs de empresa, aplicaciones de Intranet, redes sociales, webs de debate y discusión, aplicaciones de e-commerce, etc. Drupal se distribuye mediante la licencia GNU General Public License, por lo que es absolutamente gratuita, y se mantiene gracias a una amplia comunidad formada por miles de usuarios.

E-commerce. OsCommerce
OsCommerce es una plataforma de comercio electrónico que tiene ya 8 años de experiencia y cuenta con más de 13.000 tiendas online. Utilizando OsCommerce, los propietarios pueden construir, gestionar y mantener sus negocios online con el mínimo esfuerzo y sin costes, ya que también se distribuye mediante una licencia GNU. Una comunidad formada por más de 170.000 propietarios y desarrolladores ha permitido generar más de 4000 mejoras en la plataforma.

CRM (Customer Relationship Management). SugarCRM
SugarCRM es una aplicación diseñada para gestionar las relaciones con los clientes, la venta y el marketing. Permite realizar un seguimiento de los contactos comerciales y las oportunidades de negocio, realizar proyecciones de beneficios, monitorizar el comportamiento mediante paneles de control, gestionar los contratos, trabajar con soluciones móviles, etc. En este caso nos encontramos con otra variante del código abierto, que enSugarCRM han denominado Open Source comercial. Esto se traduce en dos niveles: un producto gratuito que cualquier puede descargarse -ya lo han hecho más de un millón y medio de usuarios- y otras versiones más completas -profesional y empresa- que se pagan por usuario y año.SugarCRM completa su oferta con servicios de consultoría, formación y soporte.

ERP (Enterprise Management System). Openbravo
Openbravo es una aplicación diseñada para planificar el uso de recursos empresariales, y está orientada a las empresas pequeñas y medianas. A través de un interfaz sencillo y fácil de usar, proporciona herramientas para la gestión dealmacen, inventario, proyectos y servicios, producción y contabilidad. Al igual que en el caso anterior, Open Bravo presenta una versión gratuita -para la comunidad- y otra que se paga por usuario y año.

14 Commentarios Publicado en: Aplicaciones Web, Productividad, Tendencias

Tags: , , , , , , ,

SCRUM: metodología “ágil” para tus proyectos

Posteado April 2, 2008 a 9:24 pm por ansueta

En muchas ocasiones, los modelos de gestión tradicionales no nos sirven para afrontar un reto que hoy en día resulta fundamental: incorporar cambios con rapidez y en cualquier fase del proyecto. Se trata de evitar lo que tantas veces nos ha ocurrido: cuando el proyecto se encuentra bastante avanzado nos damos cuenta de que no vamos por el buen camino o, simplemente, el cliente decide introducir cambios sustanciales, y esos cambios nos obligan a tirar por la borda todo el trabajo realizado hasta entonces, y nos impiden acabar en el plazo previsto.

Dado que los cambios nunca van a dejar de existir, lo que necesitamos es ser capaces de gestionar los proyectos de una forma más ágil. Con ese objetivo, en los años 80 los japoneses Takeuchi y Nonaka estudiaron las prácticas de empresas con buenos resultados de rapidez y flexibilidad en la producción: Xerox, Canon, Honda, NEC, Epson, Brother, 3M o Hewlett-Packard. De ahí extrajeron la base de la metodología SCRUM que, aunque nació en el ámbito tecnológico, ha ido creciendo hasta consolidarse en campos de actividad muy diferentes.

Seguro que puedes utilizar algunas de sus técnicas y procedimientos para mejorar la gestión de los proyectos en tu empresa. Estas son algunas de las claves de SCRUM:

Mejor con equipos pequeños y auto-organizados

Los equipos pequeños y formados por miembros de diferentes disciplinas consiguen mejores resultados. Es fundamental que el equipo pueda organizarse por sí mismo y la comunicación sea transparente. Esta es la manera de que todos los miembros se compromentan y se encuentren motivados. De hecho, la palabra SCRUM procede del vocabulario del rugby y significa melé; es decir, esa “figura” en la que los compañeros del equipo se amontonan, forman una piña y empujan todos en la misma direccion.

Scrum

Punto de vista del usuario

La recogida de requisitos para crear un producto se realiza teniendo en cuenta la visión del cliente y del usuario. Para ello se utilizan las historias de usuario, unas sencillas tarjetas en las que se recoge -de forma esquemática y en un lenguaje claro- QUÉ es lo que queremos hacer.

Con esas historias de usuario construimos la lista de requisitos del producto o “product backlog”. A cada item de la lista se le asigna una prioridad. El equipo tiene que estimar cuánto tiempo es necesario para realizar cada una de las tareas.

Sprints cortos, entregas frecuentes

El mercado exige ciclos de desarrollo cada vez más cortos. Para lograrlo se utiliza el sprint de requisitos o “sprint backlog”, una lista en la que se detalla CÓMO se van a construir los diferentes requisitos del producto.

Los requisitos del product backlog se “trocean” para transformarlos en tareas de no más de 16 horas. Cada sprint suele realizarse en un plazo de entre 2 y 4 semanas. Al final, el objetivo es entregar algo que funcione, para el usuario pueda probarlo y se puedan introducir los cambios necesarios antes de que sea demasiado tarde. Esto es lo que nos permitirá ser flexibles.

Roles dentro de SCRUM

Aunque suene a broma, los roles se dividen en dos: los “cerdos” y los “pollos”. Y la mejor manera de entender la diferencia entre unos y otros es un chiste:

Un cerdo y un pollo van caminando por la carretera. El pollo le dice al cerdo:
-Oye, ¿por qué no abrimos un restaurante?
El cerdo se vuelve y le responde:
-Buena idea, ¿cómo quieres que lo llamemos?
El pollo se lo piensa y propone:
-¿Por qué no lo llamamos “Huevos con jamón”.
-No cuentes conmigo -responde el cerdo-. En ese caso, tú sólo estarías IMPLICADO, mientras que yo estaría realmente COMPROMETIDO.

Siguiendo esta lógica, el papel de los cerdos -que son los que están realmente comprometidos, porque son los que contribuyen con su “jamón” al proyecto- lo desempeñan:

  • El product owner o dueño del producto, que representa la voz del cliente y aporta la visión de negocio. Él se encarga de escribir las historias de usuario, les da prioridad y las ubica en la lista de requisitos del producto.
  • El ScrumMaster o facilitador, que tiene como principal papel el de dejar el camino libre de obstáculos e impedimentos para que el resto del equipo consiga el objetivo del sprint.
  • El equipo, que tiene la responsabilidad de entregar el producto. Lo ideal es que incluya entre 5 y 9 miembros, y que pertenezcan a diferentes disciplinas (desarrolladores, diseñadores, etc.).

El papel de los “pollos”, que no son actores esenciales pero sí están implicados y deben ser tenidos en cuenta, lo juegan:

  • Los usuarios del producto o aplicación.
  • Los clientes y vendedores.
  • Los gestores y directivos.

Reunión diaria. Transparencia total

Una de la figuras fundamentales de la metodología SCRUM es la reunión diaria de todo el equipo. Tiene que hacerse de la siguiente forma:

  • La reunión es diaria y se hace siempre a una hora predefinida, normalmente por la mañana. Es importante que todos los miembros del equipo acudan puntuales.
  • La reunión debe durar alrededor de 15 minutos y se realiza de pie, para mantener el máximo de concentración y atención.
  • Todos los roles son bienvenidos, pero sólo los “cerdos” pueden hablar
  • En la reunión se realizan las siguientes 3 preguntas clave: 1. ¿Qué has hecho desde ayer? 2. ¿Qué tienes planeado hacer mañana? 3. ¿Has encontrado algún problema para conseguir tu objetivo?
  • Uno de los puntos más importantes es el de la transparencia: todos los miembros saben que están haciendo os demás, y los problemas deben ser sacados a la luz en cuanto se detectan.
  • En definitiva, SCRUM permite la creación de equipos motivados, capaces de organizarse por sí mismos, donde la comunicación y la transparencia es total. Y además, con esta metodología, el usuario gana protagonismo y el cliente se convierte en parte del equipo de desarrollo.

    Ejemplo

    Algunas herramientas ágiles

    Los métodos de desarrollo ágil ponen el énfasis en la comunicación “cara a cara” y en los resultados más que en la generación de documentación y, por eso, muchos de sus procesos pueden llevarse a cabo prácticamente sin herramientas. Esta búsqueda de la sencillez no ha impedido que aparezcan en el mercado algunas aplicaciones específicas para trabajar con una metodología ágil. Os proponemos las siguientes:

    Todo el ciclo del proyecto
    En Rally afirman ser los auténticos y genuinos número 1 en el software de gestión ágil. Su aplicación cubre todo el ciclo del proyecto, y permite crear un flujo entre la labor de los gestores, desarrolladores y responsables de testing. Sus productos están centrados en las siguientes funciones: organización del proyecto, el reporte y control, la planificación y seguimiento, gestión de calidad, colaboración de equipos, customización e integración, y administración de permisos. Entre los clientes de Rally se encuentran varias grandes compañías.

    Hecho para scrum
    Scrumdesk es una herramienta de gestión diseñada específicamente para trabajar con SCRUM, la metodología de desarollo ágil más conocida. Permite automatizar los procedimientos básicos de SCRUM, como son la elaboración del product backlog (lista de requisitos de alto nivel ordenada según la prioridad), el sprint backlog (lista de tareas que deben ser completadas en un plazo de entre 1 y 4 semanas) o las historias de usuario.

    Enseña tus cartas

    Cardmeeting es una sencilla herramienta de colaboración simultánea en la que los usuarios pueden ir añadiendo sus cartas con ideas, conceptos, tareas, etc. Puede resultar útil para celebrar una tormenta de ideas o brainstorming, para realizar una planificación ágil, o simplemente para fijar y compartir las ideas con otros usuarios. Las cartas pueden clasificarse luego en diferentes categorías temáticas (curioso, sorprendente, divertido, frustrante) y colores, de forma que podemos asignar un orden a las ideas formuladas de manera dispersa. Todavía está en versión Alfa.

    24 Commentarios Publicado en: General, Productividad

    Tags: , , , , , , , , ,