Reflexiones sobre el desarrollo tras el lanzamiento de Tractis Beta

Ya hemos envíado las primeras invitaciones para la Beta. Pocos beta-testers descubrirán muchos cosas a mejorar. La idea es resolverlas rápido y, en cuanto baje el nivel de feedback, invitar a más gente.

Screenshot Beta.png

1. Testear cuanto antes

Hay cosas que, después de desarrolladas, no nos convencen como quedan y queremos cambiar. Esta es la razón principal por la que seguimos una metodología ágil (iteración continua, rinse & repeat o como lo quieras llamar). Hasta que no “experimentas” con lo desarrollado, no sabes si funcionará o no. Incluso antes de empezar la beta, eramos conscientes de que quedaban esquinas por pulir y algunos bugs pero preferimos dejar entrar a la gente ya y que nos diesen su opinion cuanto antes.

2. Abrazar los cambios

¿Y por qué no os lo pensasteis todo mejor antes de empezar a desarrollar?. Lo hicimos. Pero no existen las especificaciones perfectas. No creemos en elaborar el-documento-perfecto-e-inmutable durante 5 meses y desarrollar durante 10 más… para luego descubrir que te has olvidado/equivocado/malinterpretado algo. Preferimos sacar 15 versiones, 1 cada mes, y recibir feedback cada vez. Muchas de las decisiones que estamos tomando estos días no las podríamos haber tomado hace 2 meses. Necesitabamos ver, tocar y decidir. Se acerca una época de cambios. ¡Bienvenida sea!. Algunas partes (p.ej: edición del contrato) serán reescritas completamente.

3. La perfección existe

Un comentario que puede parecer una tontería pero que no lo es: La perfección existe, otra cosa es alcanzarla. Cuesta. Si no existiese, sería como admitir la derrota antes de empezar. “No hay nada perfecto!!” es la excusa de los mediocres. Hay partes de la aplicación que son “perfectas”. Al menos así lo siento. A veces se trata de una pagina, otras de un texto, un mensaje de error o un workflow. Queda mucho por hacer pero mucho se ha conseguido. Cuando navegues la aplicación, encontrarás pequeños detalles y rincones que, estoy seguro, transmitirán toda la pasión empleada. Con vuestros comentarios y sugerencias, muchas cosas mejorarán y estaremos un pasito más cerca de la perfección.

Aviso importante para futuros negonators

Desarrolla y muestra. Y encaja el feedback y responde y convence… todos los días si es posible. Esa es la gente que buscamos y creemos que si lo conseguimos, tendremos una “arquitectura fundamentalmente superior” a cualquier otro competidor. Pasar por este proceso NO es perder el tiempo. Es investigación (super-valiosa, super-útil) para llegar a la solución mejor o más perfecta. No medimos el éxito por la cantidad de funcionalidades ni el número de líneas de código que tiene Tractis. Medimos el éxito por la calidad de lo que hay. Mejor pocas líneas de código (menos bugs) que reflejen todo lo que hemos aprendido y porqué debe hacerse así. Puro código destilado.

Capuccino Negonation: corto de paciencia, largo de mala leche

Todo lo dicho, nos lo tomamos muy en serio. Creo sinceramente que el tipo de desarrollador al que le gusta que le den unas especificaciones perfectamente claras, trabajar en silencio sin interactuar con nadie y luego, 2 meses después, presentar el código al resto con cara de triunfo (“¡¡¡Ta-chán!!!“)… no tiene lugar aquí. Si tienes un problema con desarrollar código rápido, enseñárselo al usuario y después tirar el 90% a la basura, tienes un problema con la forma de trabajar de Negonation.

La Beta oculta

Conversación telefónica, una noche antes del lanzamiento de la Beta, tras un día agotador:

David: “Manolo, ¿qué nos falta? ¿en tu opinión cual es el bug más grande y con el que no podemos sacar la beta hasta que no lo resolvamos?
Manuel: “Hombre, pues yo creo que lo de que desaparezcan los contratos al publicarlos… “.

Recuerdo que empezamos a reirnos y estuvimos así un bueeen rato. Ha habido momentos bastante duros, días agotadores… algún que otro email de “¡Pensé que te encargabas tú!“… la visualización de los contratos en los distintos navegadores ha sido una auténtica pesadilla como pueden atestiguar Ernesto Jímenez, David Calavera y Diego Lafuente. Y, sin embargo, todo el mundo (Juanse Pérez -Pootle-, José Gordo -Sistemas-…) ha arrimado el hombro y aguantado el tirón. Incluso “los nuevos”, Juan Lupión -GetText-, Juanjo Bazán -Settings-, Pelle Braendgaard -Firma digital-… dieron un paso al frente para ayudar en lo que se pudiera. ¡Gracias a todos porque sin vosotros no habríamos llegado hasta aquí!. De la veintena de desarrolladores apuntados a developers_negonation@googlegroups.com, hay 6 o 7 que han demostrado de que madera están hechos. Es un honor trabajar con vosotros. En los momentos de mayor stress, no ha habido ni un paso atrás, ni una deserción… y ahí se me ha acabado el acojonamiento y he pensado: “Lo vamos a conseguir. No hay otro resultado posible“.

¿Cómo es posible que gente de distintos países, con distintas historias, habilidades y situaciones familiares hayan trabajado con el entusiasmo y dedicación que lo han hecho a cambio de un retorno incierto a largo plazo?. La beta oculta no es solo lo que se ve en http://www.tractis.com, sino que alcanza a todo Negonation. Y ha sido todo un éxito. Hay muchas cosas que pulir pero demuestra que esta forma de trabajo es posible. ¿Será que Yochai Benkler tenía razón?…

Por David Blanco
Guardado en: Empowerment, Hacking, Tractis | 5 comentarios » | 2 de Agosto de 2006

5 Comentarios en “Reflexiones sobre el desarrollo tras el lanzamiento de Tractis Beta”

Gravatar de ErneX

ErneX
2 de Agosto de 2006 a las 5:47 pm    

¡enhorabuena! a ver cuando lo puedo probar y comentaros cosas. Como dije en el post anterior, también espero colaborar pronto con el proyecto.

Saludos y felicitaciones.

Gravatar de manu_drac

manu_drac
2 de Agosto de 2006 a las 6:40 pm    

pk?

Creo que es fácil responder, … de los proyectos que se han creado o se quieren crear, Tractis es algo totalmente innovador. ¿Quien no querria participar en algo así si se lo puede permitir?

Después se juntan otros factores humanos. Desde aquí se nota que la gente “visible” sabeis lo que quereis y parece que estais muy capacitados a nivel de conocimiento y experiencia transmitiendo seguridad y confianza. Y a nivel técnico, que placer debe de ser trabajar con compañeros tales que puedes aprender a diario de ellos y aquí creo que lo conseguiis.

Lastima mi falta de conocimiento aún de RoR (soy newbie), sino me hubiese gustado colaborar en tractis. Pero bueno, seguid enseñandonos, posts como estos ayudan mucho..

Y veo que vuestra evolucion en real no para, la imagen inicial de tractis, mucho mejor ahora ;)

Gravatar de Diego Lafuente

Diego Lafuente
6 de Agosto de 2006 a las 4:34 am    

Bueno, hay muchas formas de colaborar. A veces, los personajes más importantes de la historia no eran expertos guerreros o arquitectos, sin embargo ayudaron al cambio. Se supieron adaptar y mejorar. Lo importante, creo yo, es lanzarse. Nunca aprenderás ruby bien si no te involucras en algo. Si piensas que, primero debes aprender para hacer algo, perderás mucho tiempo pero si te involucras en algo y te esforzas para lograrlo aprenderás más de lo que te imaginas…

[...] Teníamos que cambiar el enfoque y hacer cambios importantes. Aunque eso supusiese tirar código y horas de trabajo. Decidimos utilizar un editor WYSWIG existente. Tras analizar varias alternativas, nos decidimos por Dojo Editor. Lo modificamos para integrarlo con nuestra comparación de versiones, para que produjese XHTML limpio cuyo significado poder interpretar y para restringir la entrada (corta&pega) de etiquetas no-permitidas. Ahora, en vez de pedir al usuario que nos indique el significado de cada elemento, deducimos el significado de la estructura del documento. Con el nuevo motor de edición: [...]

Gravatar de Negonation Blog » Blog Archive » Shu Ha Ri

Negonation Blog » Blog Archive » Shu Ha Ri
16 de Enero de 2007 a las 1:32 pm    

[...] En muchos aspectos probablemente nos encontramos en la etapa del Shu. Hemos elegido ser ágiles y hemos elegido Rails como medios con los que alcanzar nuestros ambiciosos objetivos. Por tanto, estamos tratando de aprender, aplicar e interiorizar las técnicas ágiles (TDD, Refactoring, Integración Contínua, etc.) y la manera-Rails de hacer las cosas, según indican nuestros “maestros”. [...]

Más entradas en Negonation Blog