Cultura PromoFarma Engineering

Pablo Ros
Tech at PromoFarma by DocMorris
4 min readFeb 28, 2018

En PromoFarma trabajamos continuamente en cuidar y mejorar nuestra cultura de equipo. Probamos conceptos, los revisamos e iteramos. Para inaugurar nuestro blog de Engineering queremos compartir con vosotros en términos generales nuestra cultura.

En primer lugar hablamos de Agile. Todos nuestros equipos se definen a partir de los principios Agile y escogen de forma autónoma qué Framework se adapta más a sus necesidades. Así que no hablamos de Scrum, Kanban, XP, etc. sino que en PromoFarma hablamos de equipos ágiles.

Por ello la figura del Agile Coach es muy importante, facilitando a que todas las áreas dentro de Engineering encuentren respuesta a sus necesidades como equipo. Por ejemplo, nuestros Data Science se manejan con SCRUM de Sprints de 1 semana, y nuestro equipo de Mobile y Web Development juegan con SCRUMs de ciclos de 2 semanas. Nuestro equipo de Soporte, en cambio, se basan en un Kanban.

Personas & Equipo vs procesos

Los equipos se configuran con el objetivo de ser autónomos. Buscamos la plena independencia de cada equipo construyéndolos con todas las piezas necesarias. Por ejemplo, nuestro equipo de Mobile Developers son perfiles Full Stack capaces de lidiar con las APIs y con sus dispositivos iOS & Android. Otro ejemplo es la integración de QA dentro del ciclo de desarrollo de una User Story, formando parte de inicio a fin del ciclo de valor.

Individuals and interactions over processes and tools

Nuestro equipo de producto forma parte del equipo de Engineering. Con esto se logra que el Product Owner no sea solamente un nexo entre los stakeholders de negocio y el equipo de tecnología, sino una pieza totalmente integrada en la metodología Ágil. Esta característica nos permite tomar decisiones de negocio y tecnológicas que están alineadas desde el core, reduciendo idas y venidas innecesarias.

La confianza en las personas es la base de que la rueda gire. Un equipo sabe cual es su objetivo y se auto-organiza para conseguirlo con éxito. Creemos en la transmisión del conocimiento y por ello, en los equipos se desarrollan las User Stories en el estricto orden que hay en nuestra pizarra, priorizada en los planning meetings. Todos se ayudan entre todos con el objetivo común de finalizar el compromiso de Sprint. Es tal el punto de colaboración que casi no tenemos sitios definidos y cada día el equipo se sienta en el sitio donde mejor pueda conseguir llevar a cabo su trabajo, potenciando técnicas como el Pair Programming.

Customer collaboration over contract negotiation

Transparencia y comunicación

Apostamos por la visibilidad de nuestros logros, problemas y avances. Con una pizarra por equipo, plasmamos en ellas lo que ocurre en el día a día y nos ayuda a poder reaccionar a tiempo ante cualquier imprevisto. Cada pizarra se organiza de formas diferentes mostrando información como el estado de las User Stories, las releases de las APPs, quien está de vacaciones o cuales son los objetivos del trimestre.

Responder al cambio vs seguir el plan

Creemos firmemente en responder ante el cambio versus seguir el plan. Nuestra filosofía de test A/B la aplicamos tanto en la obsesión de ofrecerle a nuestros clientes la mejor experiencia, como en nuestros desarrollos y procesos de trabajo. Creemos en la mejora continua y todo cambio en nuestros procesos y formas de trabajar son evaluados en nuestras retrospectivas e iteramos constantemente para mejorar cada día.

Responding to change over following a plan

Tenemos la metodología de test A/B totalmente integrada en nuestros procesos de planificación y desarrollo, con un test & learn continuo que hace que tengamos feedback directo e inmediato de los usuarios en los diferentes pasos de concepción del producto.

Analizamos los datos y creemos en las Data Driven Decisions. Apostamos por el riesgo que puede llevar a fallar. Pero de estos errores aprendemos e iteramos buscando siempre ser mejores. Analizamos los datos para tomar decisiones e intentamos medir todo lo posible para que no se nos escape nada.

Valor continuo a nuestros clientes

Por último destacar nuestra filosofía de aportar valor a nuestros clientes constantemente, realizando más de 20 releases por semana siendo fieles a nuestro sistema de integración continua que nos garantiza que toda User Story que acaba en producción cumple la calidad que nos exigimos en PromoFarma. Unit Testings, tests funcionales y de aceptación forman parte de nuestro PipeLine de CI que garantizan que nuestro producto está preparado para nuestros clientes.

Working software over comprehensive documentation

Trabajamos para que nuestro código exprese conceptos de nuestro contexto. Introducimos el lenguaje ubicuo a base de técnicas, principios o patrones de diseño aceptados en la industria: Screaming architecture, Value Objects, y otros elementos del DDD.

Para finalizar…

Cuidar y trabajar la cultura es la base del buen funcionamiento del equipo. Hemos iterado mucho para llegar a los puntos que hemos comentado y seguiremos evolucionando para mejorar día a día.

Este es el primer post de muchos otros que vendrán. A partir de aquí nos encantará profundizar y compartir con vosotros en muchos de los aspectos que he comentado y que faltan por explicar. Nuestros Backends, Frontends, Mobile, QA, Data Science, Agile Coach y Product Owners tienen mucho que explicar a la comunidad.

Y no puedo finalizar este post sin la coletilla habitual de los Daily Stand-up…

Dudas, preguntas, sugerencias, quejas?

--

--