Want to create interactive content? It’s easy in Genially!

Get started free

Desarrollo de producto en una scale-up

Genially Team 🚀

Created on April 25, 2024

Start designing with a free template

Discover more than 1500 professional designs like these:

Smart Presentation

Practical Presentation

Essential Presentation

Akihabara Presentation

Flow Presentation

Dynamic Visual Presentation

Pastel Color Presentation

Transcript

Desarrollo de producto en una scale-up

Desde la idea al mercado Software Crafters Pamplona 2024 #SCPNA

Hola

Soy Dani - @dani_latorre Software Developer Platform & Internal Tools Lead at Genially Prev: Coding Stones, Devengo, Inditex, Unusuals, Jobsket...

Trabajamos más de 150 personas en la compañía

Genially

  • Herramienta para crear contenidos interactivos
  • Somos un SaaS freemium
  • Con modelo de negocio B2C2B
  • Compañía remota desde Córdoba

En el área de producto somos unas 70 personas

¿Qué os voy a contar?

Organización

¿Qué equipos hay y cómo operamos?

Descubrimiento

¿Cómo se originan y aterrizan las iniciativas?

Cómo trabajamos a día de hoy Tratamos de mejorar continuamente

Entrega

¿Cómo construimos y entregamos?

Go to Market

¿Cómo lanzamos al mercado?

Organización

¿Qué equipos hay y cómo operamos?

Tipologías de equipos

  • Value-stream aligned
    • Líneas de trabajo
      • Continuidad con KPIs en los que enfocarse
      • Product trío
      • Figura de PMM recientemente incorporada
    • Squads
      • Naturaleza temporal alrededor de una o varias iniciativas
      • Cubren necesidades del negocio que no encajan en LTs
      • Con perfiles ad-hoc
    • Equipos fluidos con rotaciones de vez en cuando
  • Platform
    • Enfoque de servicio aunque en ocasiones tienen que colaborar
  • Enablers
    • Colaboración con el resto de equipos y facilitación

Equipos

Group Use

Interaction & Effects

Payments

Tracking

Engagement

Acquisition

UI System

Mobile

Internal Tools

SRE

Data*

QA

CX*

ProdDev Management

Planes de Q

  • Centrado en iniciativas, ya sean nuevas o evoluciones/pivotajes
  • Tiende a convivir con Lean Roadmapping
  • Rock, Pebble and Sand
  • Slack time para:
    • Resolver Bugs 🐛
    • Pagar deuda técnica
    • Mejoras en DX transversales
    • KTLO
    • Otras iniciativas

Coordinación

  • Iteración sincronizada de 2 semanas
    • Compartir las planning de los equipos
    • Sesión para identificar dependencias a corto y medio plazo
    • Demo con todo desarrollo de producto + stakeholders
    • Retros por equipo, management les da seguimiento

Herramientas asíncronas*

  • Carpetas de Clickup por equipo con su documentación y backlog
  • Figma para comunicación diseño-desarrollo
  • Canales de Slack por equipo:
    • Equipo
    • Stakeholders
    • Alerts
    • Experiments

Descubrimiento

¿Cómo se originan y aterrizan las iniciativas?

Origen

  • ¿De quiénes?
    • Las propias LTs/squads
    • Customer Experience
    • C-level
    • Otras áreas o equipos
  • ¿De dónde?
    • Métricas de negocio o producto
    • Research cualitativo
    • Movimientos de la competencia
    • Ideas felices 🧞‍♂️

Doble diamante

Problem Discovery
Problem Definition
Solution Discovery
Build & Iterate
Concept Validation

Aterrizando

  • Experimentos y spikes para reducir incertidumbre
  • ¿Cuál va a ser la estrategia de rollout y el go to market?
  • ¿Tenemos lo necesario para medir el impacto o necesitamos introducir más instrumentación?
  • Identificar si necesitamos a otros equipos para llevarla a cabo
  • Refinamiento y división de épicas, historias de usuario y tareas

Entrega

¿Cómo construimos y entregamos?

Arquitecura y stack

  • AWS como cloud provider
  • Node, React, Typescript
  • Varias aplicaciones y servicios
    • Monorepo
    • Algunas Lambdas
    • Servicio Java y Spring Boot
    • Web Drupal + Gatsby
  • Mongo, Postgres, MySQL, Tinybird, Redis

El monorepo

  • Código compartido en forma de paquetes
    • Contratos entre front y back
    • Lógica compartida
    • Design System
    • Librerías internas de utilidades
  • Cómodo pero es un reto mantener a raya la gestión de dependencias
  • Tenemos un labeler en github actions para saber de qué hacer build

Integración frecuente

  • Branching strategy de PRs Show y Ask (no Ship)
    • No son bloqueantes
    • Fomentamos el pair programming
  • Jenkins + AWS Codebuild
    • Code linting
    • Unit tests
    • Integration/API testing
    • Builds de Docker
    • E2E Cypress tests
  • Entornos efímeros vs entornos de development y staging
  • Isengard

Despliegue frecuente

  • Docker
    • Contrato entre aplicaciones y la plataforma
  • Cada merge al mainline va a producción
  • Uso intensivo de Feature Flags para pruebas manuales en producción
  • Aprox: 80/90 despliegues por semana
    • Segregando por aplicaciones 250/270
  • Dependencia con SRE para proveer nueva infra o cambios en ella
    • Pulumi
    • Helm

Go to Market

¿Qué hacemos una vez hemos lanzado?

Estrategias de rollout

  • Feature Flags para un subconjunto de early adopters concreto
  • Canary release
    • Por % de tráfico
    • Por % de usuarios
    • Por país
  • Gentle release
  • Big Bang

Anuncios internos

  • En #product-news
  • Se documenta en un product changelog
  • La demo
  • Actualización del help center

Anuncios externos

  • Se añaden nuevos call to action en el producto
  • Onboarding a las novedades en el propio producto
  • Alguna acción de comunicación en uno o varios canales, eventos, etc.
  • Newsletter mensual de novedades
  • Nuevo contenido en Academy
  • Se queda como silent release

Telemetría

  • Three pillars of observability:
    • Logs: Winston y Loki
    • Metrics: Prometheus y Mimir
    • Traces: OpenTelemetry y Tempo
  • Critical crashes: Sentry
  • Session replay: Logrocket
  • User behavior analytics: Snowplow y Amplitude

Incidencias

  • Origen típicamente son alertas vía grafana o sentry o customer support
  • Slack y disaster room
  • Sistema de rollbacks vía Jenkins
  • Redacción de blameless postmortem si ha afectado al SLA

Y luego ¿qué?

Aprender e iterar

  • Una vez tiene un tiempo de rodaje:
    • Suficientemente bueno por ahora y a otra cosa
    • Se pivota o mejora
    • Se descarta 🔥
  • Data-Informed
    • Analítica de negocio: Metabase, Lookerstudio y Spreadsheets
    • Analítica de producto: Amplitude

¡Gracias!

Plantilla Postmortem

Fecha y Título Resumen Tiempo de detección Tiempo de recuperación Timeline Causa raíz Resolución y recuperación Acciones preventivas o correctivas

Espacio de problema

Qué problema resolver y para quién

Lideran CX, PM, PMM Pueden participar PD, Domain Experts, TL... Conseguir una visión definida del problema

  • Entrevistas
  • Focus groups
  • Desk research
  • Encuestas
  • Journeys

Lean Roadmapping

Se trabaja con horizontes de tiempo. A más lejano más incertidumbre:

  • Now: Son las cosas en las que vamos a empezar a trabajar.Alcance y solución muy definida.
  • Next: Hay bastante confianza que trabajaremos en ello. Puede que estemos haciendo ya discovery
  • Later: Problemas u oportunidades en las que creemos que en algún momento trabajaremos. Aunque puede que no.

Espacio de solución

Diferentes posibles soluciones para el problema

Lideran PM, PD, TL,PMM Pueden participar Domain Experts, CX...

  • Benchmarking
  • Observación
  • Entrevistas
  • Focus groups
  • Prototipado
  • Tests con personas usuarias
  • Tests A/B
  • Spikes

Prioridad de impacto

Analogía sobre el mejor modo de llenar un bote con piedras:

  • Rocks: son los temas más importantes y principales apuestas del Q
  • Pebbles: importante pero podemos vivir sin ello
  • Sand: son nice to have