sábado, 19 de julio de 2008
La importancia de la comunicación
sábado, 12 de abril de 2008
Google Gears, aplicaciones web desconectadas
Hayuna serie de herramientas que nos permiten trabajar de forma online, es decir, hacerlo a través del navegador sin necesidad de tener nada instalado en nuestro ordenador.
Estas herramientas web tienen una clara desventaja: necesitamos disponer de conectividad para poder trabajar, lo cual, por la razón que sea, no siempre es posible. Imaginemos un vuelo en avión: allí nos será imposible conectarnos a Internet, pero podemos seguir trabajando con nuestro ordenador.
¿Como solucionar ese problema? Google Gears es la propuesta de Google para permitir que las aplicaciones web trabajen desconectadas
Google Gears es un plugin que funciona tanto con los navegadores Internet Explorer como con Firefox y que permite a las aplicaciones guardar datos de forma local, en nuestro disco, para poder recuperarlos y trabajar con ellos aunque no tengamos conexión a Internet.
Para instalarlo, debemos ir a la página de Google Gears y descargarnos el archivo correspondiente. Una vez realizada la instalación reiniciaremos el navegador cerrándolo y abriéndolo y ya podremos empezar a usarlo.
Para que Google Gears sea útil, la aplicación web que queremos usar de forma desconectada debe implementar soporte para este. De momento, el número de aplicaciones que lo hace no es demasiado elevado, pero va aumentando poco a poco y es de esperar que muchas de ellas lo hagan en un futuro.
De momento, ya hemos visto una, como Remember The Milk, que permite trabajar de forma desconectada. También Zoho, una aplicación ofimática dispone soporte para ello y, recientemente, Google ha implementado el soporte en Google Docs y está trabajando para tenerlo listo pronto también en Google Calendar.
Esto significará que tendremos nuestros documentos y nuestro calendario accesibles tanto conectados y desconectados, además de estar sincronizados, ya que los datos se copian al servidor una vez recuperemos la conexión. Juntamos así las ventajas de ambos mundos, el online y el offline, con la facilidad que nos da el poder trabajar desde cualquier lado.
miércoles, 2 de abril de 2008
SCRUM: metodología “ágil” para tus proyectos
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.
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:
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 gran protagonismo y el cliente se convierte en parte del equipo de desarrollo.
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.
