Foto de Lisa Zoe

Milestone

Lo que he aprendido formando parte de los Coding Stones

Como diseñador que ha participado en la creación de un equipo de desarrollo de software, he aprendido algunas cosas que me gustaría compartir en este post.

Hace aproximadamente un año y medio, nos juntamos 5 personas con ganas de trabajar como pensamos que se debe hacer. Montamos los Coding Stones como un medio de vida sostenible, con la idea de demostrar, que un equipo pequeño, potente y engrasado, es una buena opción para el diseño y construcción de productos digitales.

Todos juntos somos más

Todos los miembros del equipo éramos freelancers desde hace años. Todos con nuestros contactos y clientes. El crear una marca con personalidad propia ha generado más repercusión (hasta hemos diseñado unas camisetas molonas). Cada taller, cada charla, cada contacto se ha multiplicado al estar juntos como equipo.

El equipo es más que la suma de cada uno. Es una construcción donde se invierte esfuerzo y revierte en todos de forma mucho más óptima que en formato freelance.

Desaprender lo aprendido

Mi metodología como diseñador y la de muchos de mis clientes, aún teniendo equipos de desarrollo ágiles, era en forma de cascada en lo que a experiencia de usuario y a diseño se refiere, por estar desacoplada del proceso de construcción.

En los Coding Stones hay una total alineación con respecto a los valores de eXtreme Programming, de mejora contínua y de compartir conocimiento.

He aprendido que los diseñadores tenemos mucho que aprender con respecto a las metodologías ágiles de desarrollo de software, probablemente más que lo que les podemos aportar a ellos, ya que sus metodologías han evolucionado de forma muy eficiente y orgánica estos últimos 15 años.

Ha sido un reto el supeditar la UX a una metodología marcada por el proceso de construcción, no el de planificación o diseño, y al mismo tiempo, mantener un estándar de calidad de esa experiencia de usuario en todo el proceso. No ha sido fácil y es un aprendizaje contínuo, pero hemos conseguido buenos resultados.

Aprender de desarrollo de software

El equipo es muy cañero en TDD y han probado diversas aproximaciones de Clean Arquitecture. Esto para un diseñador es una oportunidad única para aprender conceptos muy core de desarrollo de software.

El haber formado parte en proyectos potentes y experimentos con nuevas tecnologías de frontend como Vue.js, Angular o React, me ha dado la ocasión de ganar puntos de experiencia en la maquetación de componentes reutilizables para single page applications.

Como equipo hemos respetado la calidad de la UX en el proceso de construcción, aprendiendo cómo integrarlo en las historias de usuario, en las revisiones, en las priorizaciones de los tableros. Ha ayudado el hecho de que, además de diseñar la UX, también desarrolle yo mismo la maquetación HTML y CSS, pero no es algo trivial el conseguir un buen flujo de trabajo para integrar todo ello.

Definir una metodología en equipo

Desde el principio teníamos claro que nuestra fuerza está en ser fieles a una metodología de equipo, engrasada y perfeccionada. Como una banda de rock que suena de forma especial. Conseguir el sonido es algo que requiere tiempo, coordinación y buen hacer: hay que ensayar hasta que tienes buenos resultados, y son las tablas en el escenario lo que genera un sonido compacto y potente.

Nuestra metodología, como la de todo equipo de desarrollo, es nuestra carta de presentación y por lo que nos contratan y nos valoran. Para afianzarla hemos aprendido muchas cosas, algunas de ellas son estas:

  • Gestionar la comunicación con los clientes (y futuros clientes) de forma distribuida entre todos.
  • Identificar cuál es un cliente que encaja con un equipo como el nuestro y cuál no lo es (y saber rechazarlo gentilmente).
  • Presupuestar en equipo, teniendo en cuenta la sostenibilidad del equipo y de cada uno de nosotros.
  • Repartir la pasta entre nosotros de forma que permita movilidad y colaboraciones externas.
  • Tener comunicación y mejora contínua, presencialmente y en remoto.
  • Descubrimiento de producto con varias técnicas de diseño colaborativo.
  • Planificar y priorizar funcionalidades a construir usando User Story Mapping.
  • Refinar nuestra gestión de historias de usuario y tareas de desarrollo y diseño en tableros de Kanban, limitando el WIP de forma ajustada y midiendo la velocidad del equipo.
  • Hacer demos y planificación con el cliente de forma distribuida entre todos.
  • Mejorar continuamente el proceso analizándolo y probando cosas nuevas.

Convivir y equilibrar las individualidades

Cada miembro de un equipo tiene un estilo muy personal de trabajar. Cada uno tiene una forma de ver el mundo, de tomar iniciativas y de resolver problemas.

La convivencia es el verdadero reto de los equipos ágiles, al mismo nivel que el conocimiento compartido. Para ello, las retrospectivas son útiles, pero, al estar, por lo general, marcadas por una orientación pragmática, no siempre llegan a profundizar en temas relacionales.

El conseguir un equipo alineado en una visión común y con herramientas de comunicación para resolver los problemas, es algo difícil y muy valioso.

Conocer a gente

Una de las cosas más gratificantes de formar un equipo como este es la magnífica oportunidad de conocer a gente. En los desksurfings, en los eventos y en las comunidades, el formar parte de un equipo te da una carta de presentación. Sumando tus conocidos y los conocidos del resto de tus compañeros de equipo, la red se multiplica. Al final es, casi, como formar parte de una banda de rock (pero sin groupies ;)


Gracias y hasta pronto

Este año y medio de montar la banda ha sido genial. Siento un profundo agradecimiento por cada uno de mis compañeros. Por construir juntos el inicio de la andadura de un equipo de desarrollo.

Hemos formado parte de un pequeño fenómeno que se va extendiendo en la comunidad: el de montar tu propio equipo “indie” y ponerlo en valor. Muchos otros lo han hecho ya: Noflopsquad, Codesai, 540, Interzonas, Karumi

Ha sido un aprendizaje para todos, especialmente para mi, en el que también hay que aprender a decir adiós cuando llega el momento. Al fin y al cabo, nada dura para siempre.

Estoy deseando formar otro equipo en un futuro no muy lejano. Por ahora, si quieres colaborar conmigo en un proyecto, en el cual el diseño y desarrollo vayan de la mano, llámame o visita mi sitio web: jesuscuadra.es