Para empezar, estaba revisando el post de ayer y me he dado cuenta de que faltaba una idea interesante que comentar. La idea era esta:
- Santiago Lizardo: Red social basada en recomendaciones de TV:
Santiago era muy bueno y la idea está en línea de lo que se lleva en la web 2.0. Los sistemas de recomendación comienzan a tener madurez, y teníamos gente en el equipo que había trabajado con algunos. Las pegas que tenían es que hay empresas grandes que van a por lo mismo, y que la gente cada vez ve menos la televisión.
Y hecha esta corrección, voy a resumir el día 2: aquí tenéis un enlace a lo que conté sobre la marcha y a lo que hay en el blog de iWeekend.
En cuanto a mis comentarios del día: Como dije, llegué tarde, casi al final del briefing o lo que fuera. Nos dividimos en desarrollo, negocio y diseño. De la parte de negocio y diseño no tengo ni idea, no estuve trabajando con ellos en todo el fin de semana así que sólo tengo una noción del resultado, pero había una cosa que compartíamos entre los tres grupos, aunque no se comentaba demasiado: nadie creía en el proyecto. Se había elegido esa idea, teníamos claro que íbamos a trabajar en ello, pero nadie daba un duro por la viabilidad del producto terminado.
Esa fue la primera cuestión importante: no trabajábamos en algo en lo que creíamos
A pesar de eso, comenzamos con el desarrollo. Lo primero que hicimos fue juntarnos unas cuantas personas a definir el modelo de casos de uso (la verdad, bastantes: llegamos a ser cinco o seis) de forma básica y acelerada. A partir de ahí, el modelo de clases. Y mientras lo hacíamos surgían bastantes cuestiones que no sabíamos cómo resolver, puesto que no habíamos trabajado nunca con una peluquería. Había gente que ni siquiera iba a cortarse el pelo. Las chicas nos dieron un cursillo acelerado, ya que suelen utilizar servicios de peluquería más avanzados, pero a pesar de eso nos dimos cuenta de la…
…segunda cuestión importante: no conocíamos el negocio para el que pretendíamos implementar una solución
¿Conocía el emprendedor el negocio? Pues no: sólo tenía una idea general. Intentamos suplirlo con un par de llamadas a peluqueros que conocían algunos asistentes, pero sólo conseguimos un modelo complejo -muy complejo- de reservas, que no se podía implementar en un fin de semana (las peluquerías tienen más de un peluquero, cada uno con su lista. Hay servicios que se solapan. En un servicio tienes que tener en cuenta que hay periodos de inactividad, etc..) A pesar de ello tiramos hacia adelante. Decidimos simplificar para obtener un producto sencillo pero que luego fuera ampliable.
Siguiente paso: a alguien se le ocurrió comentar que mirásemos si había alguna solución ya existente, opensource, que se pudiese modificar. Perdimos un tiempo buscando por la red, salieron unas cuantas soluciones (a mi no hubo ninguna que me gustase) pero, no sé muy bien cómo, se decidió la…
…tercera cuestión importante: decidimos adaptar un software existente en vez de implementar algo nuevo desde cero
Eso, para mi, fue una de las cosas que más influyeron de forma negativa: es mucho más complejo entender y modificar un programa que ya existe, y que además es bastante cutre, a empezar algo nuevo y sencillo. Creo que la decisión se debió al optimismo de dos programadores de PHP excelentes, Arno y Kevin, pero al trabajar en esa línea lo que conseguimos fue tener sólo a dos programadores a pleno rendimiento mientras otros muchos no sabían o podían colaborar. Y no sabían colaborar por lo siguiente:
Cuarta cuestión importante: no se definió con claridad la arquitectura de la solución
Después de decidir no sé muy bien cómo que se adaptaba phpScheduleIt, la gente no sabía si se trabajaba con Akelos, sin Akelos, con php a pelo, y no sabía cómo acceder desde lo que tenían que desarrollar al programa que se estaba adaptando.También influyó mucho el que no supiésemos los conocimientos de cada uno. A toro pasado, parece que hubiese sido más apropiado empezar a desarrollar con Rails, pero quién sabe.
Yo pasé el resto de la tarde configurando el entorno de desarrollo e intentando hacer algo productivo (no había desarrollado nada web en la vida) así que perdí un poco la visión de conjunto: solo sé que, hasta la noche, había conseguido instalar Akelos, conseguir un cliente SVN en mi puesto, crear los virtual host para el desarrollo, y programar un poco.
Así termino mi día 2. No me quedé a cenar, estaba demasiado cansado, sin pasta, y mi chica me esperaba.
Mañana acabaré de resumir el tercer y último día del iWeekend.