Archive for February, 2008

El blog de la semana

Todos nos sentimos orgullosos de los blogs que consultamos: TechCrunch, Scoble, Guy Kawasaki, TBL, Martin Vars, en fin…

Esta semana y gracias a Huellaspyp conocí uno de los mejores blogs que he visitado en mucho tiempo: El mundo de Gaby, una niña de 5 años a la que le gustan los gatos y jugar con plastilina.

Pedaleando con Scrum

Hoy arrancamos con Cavorite un proyecto web que se llama dandobiela.com

Por el momento no tenemos nada “fisico” para mostrar, pero vamos a crear una comunidad en línea de aficionados y amantes del ciclismo.

Como ustedes se imaginarán, queremos hacerla con “todos los juguetes” y eso incluye también la metodología para la gestión del proyecto. Mi hermano sugirió el uso de Scrum y después de leer un poco mas sobre él, me di cuenta que era la mejor alternativa.

Les adelanto que apenas hoy me metí en el cuento de Scrum, por lo que no soy un experto en el tema. Nuestra meta es aprender de esta metodología a medida que vamos trabajando en el proyecto, para que cuando nos toque implementarlo en nuestros trabajos de verdad (aquí o acá) tengamos un poco de experiencia.

Para empezar, les cuento que Scrum se define como una metodología para el desarrollo ágil de proyectos tecnológicos.

En el mundo han surgido muchas metodologías de gestión, las cuales no sólo se han aplicado en proyectos de software sino en labores que requieran empujar átomos y no pixeles como la ingeniería civil.

El problema de algunas de ellas es que encuentra barreras en su aplicación para entornos donde los clientes y el mercado exigen resultados rápidos, donde a mitad de camino es posible que haya un cambio de requerimientos y en fin, todas aquellas situaciones que hacen de nuestro trabajo algo entretenido o completamente frustante (como cuando gracias a un test definimos a nuestro cliente como un completo idiota).

Por esta razón, surgen iniciativas como Scrum, que plantean un modelo ordenado y predecible para llevar a cabo nuestras tareas. Realmente estos modelos apelan en muchos momentos al sentido común, el que créanme, en el desarrollo de software muchas veces falta.

Pero bueno, vamos a lo que venimos, después de definir qué es Scrum, para empezar les cuento lo básico:

Scrum tiene dos elementos: Los actores y las acciones. Los actores se dividen en:

  • Product owner: El dueño del producto o quien conoce mas de lo que vamos a hacer. Para el caso de nuestra comunidad, ese soy yo.
  • Scrum master: Es el que tiene que velar por que en todo el proceso de desarrollo adoptemos la metodología, en este caso será Cavorite.
  • El Scrum team implementa las funcionalidades. En nuestro caso, seremos - por lo pronto - mi hermano (dev) y yo (design).
  • Los usuarios o clientes se vinculan en el proyecto aportando ideas. Somos nosotros junto con un par de amigos bikers a los que vamos a contarles nuestra idea cuando tengamos algo que mostrarles.

Ahora bien, Scrum tiene una serie de pasos que a continuación les presento (les repito, aún estoy aprendiendo de este cuento, así que es muy seguro que con el tiempo comparta con ustedes unas definiciones mas completas):

  1. Product backlog: Es el listado de requerimientos y responde a la pregunta de ¿Qué espera recibir el cliente?
  2. Sprint planning meeting: Define una serie de tareas y un objetivo (entregable o producto) por cumplir.
  3. Sprint backlog: Grupo de tareas realistas que el grupo de trabajo (Scrum team) debe cumplir en un plazo de 2 a 4 semanas. ¿Porqué tan poco tiempo? La idea es generar entregables desde el mismo momento en que arranca el proyecto, así tenemos a nuestros clientes y jefes contentos pues saben que estamos trabajando.
    Las tareas deben ser cuidadosamente escogidas, pues se debe buscar cumplirlas en el plazo estipulado, ademas que una vez arranca el Sprint no hay marcha atrás; si una tarea quedó por fuera, lo siento mucho, pero va a un segundo Sprint.
  4. Daily scrum meeting: Se trata de una corta reunión diaria donde cada uno de los miembros del Scrum Team cuenta tres cosas: ¿Qué ha hecho?, ¿qué va a hacer el día de hoy? y ¿en qué necesita ayuda del scrum master?
  5. Una vez se cumple el Sprint (2 o 4 semanas) se hace una reunión que se conoce como Sprint Review donde se presentan los resultados esperados.
  6. En esta reunión se hace un Sprint retroespective donde se revisan los objetivos planteados, se resalta para repetir los aspectos positivos y se determinan cuáles han sido los aspectos negativos.
  7. Luego volvemos de nuevo al punto dos hasta cumplir con todos los requerimientos establecidos en el Product backlog.

Como pueden darse cuenta, el modelo es muy sencillo, casi obvio. Pero se trata de un procedimiento ordenado y muy claro. Al aplicarlo, nos dimos cuenta de la casi ausencia de documentación adicional (nada de gráficos y diagramas de flujo).

Personalmente me gusta mucho eso, pero nos dimos cuenta que hace falta un documento que explique objetivos y funcionalidades específicas. En nuestro caso no tuvimos mayores inconvenientes, pues Cavo también se dió cuenta que es mejor en bicicleta.

¿Además de Scrum qué estamos usando?

Queremos que el desarrollo de dandobiela.com sea eficiente (tiempos justos y presupuesto bajo), pues lo hemos tomado como un hobbie donde cada uno esta probando cosas.

Buscamos que la gestión del proyecto sea muy ágil y por tal razón estamos usando Google Docs como herramienta para la documentación y el seguimiento de actividades. No usamos un software de gestión de proyectos ni nada de cosas extrañas. Dado que no nos podemos reunir todos los días, vamos a usar un blog que funcione como bitácora diaria…. ¡Y hasta aquí llegamos! Nada mas.

Mientras el proyecto avance, voy a contarles en carloscaicedo.net y en Seesmic el desarrollo del proyecto y de la adopción de la metodología Scrum. Espero sus aportes y sus opiniones.

..Y si quieren ser usuarios beta que prueben como van las cosas, solo tienen que esperar a que cumplamos el primer Sprint, es decir, en una semana.

¿!Microsooooft?!

El chisme del día es la oferta de compra que hizo Microsoft sobre Yahoo. ¿Cuáles podrían ser las repercusiones de esta movida que se veía venir?

M$ ha demostrado una vez mas que el dinero consigue lo que no se puede lograr por medios propios. Incapaz de competir con Google en el segmento de la publicidad en línea (y eso que ha destinado en su departamento de I+D sumas exorbitantes) ha decidido comprar al competidor mas cercano que tiene Google.

La compra de Yahoo! se veía venir, pues meses pasados los de Redmond ya habían hecho pública su intención de adquirir la empresa, solo que esta vez mostraron aún mas sus dientes, pues hicieron una oferta que es casi irrechazable:

El día después que Yahoo! presentó sus resultados financieros y donde su acción llegó al punto mas bajo de la historia de esta compañía, Microsoft ofrece mas del 50% sobre el valor de la misma.

Podría decirse que para cualquier accionista preocupado por sus inversiones, esta es una oportunidad de oro, pues estan saliendo de una empresa casi moribunda. Incluso, afirman muchos bloggers que se trata de un mal negocio para Microsoft:

“Does Yahoo + Microsoft make sense?
Nahh. It’s like the dead leading the blind”

“¿Tiene sentido Yahoo y Microsoft juntos?

Nop, es como si un cadáver guiara a un ciego”

Scripting News

¿Esta frase tiene validez?

Mucho me temo que bajo cierto punto de vista si. Microsoft compró a Yahoo! para acercarse a Google, una compañía que revolucionó el mundo no solo por sus productos sino también por sus prácticas administrativas y de producción.

Yahoo! es muy parecida: Tiene una gran capacidad de investigación, una cultura “abierta” y productos realmente killer (para usar el término de un amigo que trabaja en los nuevos medios). El problema es que en estos casos, cuando una gran empresa compra a una pequeña, lastimosamente nunca la gran empresa adopta las prácticas de la pequeña. Hemos visto el ejemplo en las fusiones Avianca - Aces y Banco de Colombia - Conavi: Avianca sólo ahora - y después que fue comprada - ha podido acercarse a las políticas de atención al cliente que tenía Aces y Bancolombia en muchos aspectos, deja mucho que desear.

No quiero sonar pesimista, pero no quisiera que Yahoo! perdiera el espíritu que en muchos aspectos, me hace admirarla mucho mas que a Google.

En ocasiones, veo a M$ como algo del pasado, y como muy bien lo dijo Nicholas Carr, la salida de Bill Gates marcó el fin de una era: Microsoft es el ejemplo de la empresa basada en la venta de licencias, en el transporte físico de cajas llenas con bytes. Google representa al modelo de las nuevas empresas (2.0 si se les antoja llamarlas así), donde lo mas importante es establecer una plataforma que permita que la información no este centralizada en terminales locales sino que esta dispersa y unida en la red.

Google Docs es el mejor ejemplo de ese cambio. En vez de empacar y vendernos una caja de bytes con un programa que tiene miles de funciones que nunca vamos a usar, Google nos presenta una mejor alternativa: Usar una herramienta que nos permite crear documentos sencillos (tal y como los que necesitamos a diario) pero con la especial característica de establecer un verdadero modelo de trabajo colaborativo.

En el escrito de Carr hay una analogía que me parece muy ilustrativa: En el siglo XIX, las industrias invertían en la generación de sus propia energía. Las fuentes eléctricas hacían parte de su negocio.

Después del establecimiento de redes públicas y de la centralización en la prestación de este servicio, las empresas se dieron cuenta que la generación de energía electrica no hacía parte de su core business. Creo que dentro de unos pocos años terminaremos por convencernos que las licencias de software no son vitales para desarrollar nuestras actividades y que realmente lo que importa es poder aprovechar los recursos que se encuentran dispersos y listos para trabajar de forma colaborativa en la Internet.

¿Yahoo esta muerto?

Nop, como ya lo dije, creo que tiene muchas de las mejores herramientas en la web. Tiene una gran capacidad de innovación y de desarrollo de productos. Lo malo es que ha tenido malos gerentes y eso se puede solucionar.

¿Microsoft es el mejor gerente para Yahoo? 

Mucho me temo que no. No quiero ni imaginarme a Steve Ballmer tomando decisiones sobre el futuro del YUI

Para terminar, quiero hacer público mi ruego:

¡Por favor Micro$oft, no te metas ni con flickr, ni con del.ico.us ni mucho menos con developer.yahoo.com!