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:
- 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
- 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
- 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
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
- 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:
- 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
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:
View
Smart Presentation
View
Practical Presentation
View
Essential Presentation
View
Akihabara Presentation
View
Flow Presentation
View
Dynamic Visual Presentation
View
Pastel Color Presentation
Explore all templates
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
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
Equipos
Group Use
Interaction & Effects
Payments
Tracking
Engagement
Acquisition
UI System
Mobile
Internal Tools
SRE
Data*
QA
CX*
ProdDev Management
Planes de Q
Coordinación
Herramientas asíncronas*
Descubrimiento
¿Cómo se originan y aterrizan las iniciativas?
Origen
Doble diamante
Problem Discovery
Problem Definition
Solution Discovery
Build & Iterate
Concept Validation
Aterrizando
Entrega
¿Cómo construimos y entregamos?
Arquitecura y stack
El monorepo
Integración frecuente
Despliegue frecuente
Go to Market
¿Qué hacemos una vez hemos lanzado?
Estrategias de rollout
Anuncios internos
Anuncios externos
Telemetría
Incidencias
Y luego ¿qué?
Aprender e iterar
¡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
Lean Roadmapping
Se trabaja con horizontes de tiempo. A más lejano más incertidumbre:
Espacio de solución
Diferentes posibles soluciones para el problema
Lideran PM, PD, TL,PMM Pueden participar Domain Experts, CX...
Prioridad de impacto
Analogía sobre el mejor modo de llenar un bote con piedras: