Cómo llevar un equipo ágil de Product Development

25
Cómo llevar un equipo ágil de Product Development

Transcript of Cómo llevar un equipo ágil de Product Development

Page 1: Cómo llevar un equipo ágil de Product Development

Cómo llevar un equipo ágil de Product Development

Page 2: Cómo llevar un equipo ágil de Product Development

EasyBroker en númerosEl code base tiene 10 años (empezó con Rails 1)

Más de 1,000 empresas usan EasyBroker

~5 millones de requests por semana

46,995 líneas de código

Lanzamos ~400 releases en 2016 - ~1.5 por día

Page 3: Cómo llevar un equipo ágil de Product Development

El Equipo

Page 4: Cómo llevar un equipo ágil de Product Development

Me frustraba mucho

Page 5: Cómo llevar un equipo ágil de Product Development

Proceso Ideal

Calidad antes de todo

40 horas a la semana

Movemos rápidos

Todos contentos

Page 6: Cómo llevar un equipo ágil de Product Development

Es imposible estimar…

Page 7: Cómo llevar un equipo ágil de Product Development

Es imposible estimar… precisamente

Page 8: Cómo llevar un equipo ágil de Product Development

¿Cómo planeamos?

Page 9: Cómo llevar un equipo ágil de Product Development

Metas trimestralesAgregar mensajes

Diseñar un dashboard

Actualizar el flow de signup

Actualizar a Rails 5

Page 10: Cómo llevar un equipo ágil de Product Development

Sprint PlanningNos juntamos cada martes

Planeamos esta y la siguiente semana

Page 11: Cómo llevar un equipo ágil de Product Development

¿Qué es un Sprint para EB?

Una semana de trabajo

No es un release

Tiene metas semanales

Todos participan

Page 12: Cómo llevar un equipo ágil de Product Development

Usamos Pivotal Tracker

Page 13: Cómo llevar un equipo ágil de Product Development

Workflow con Pivotal Tracker

Page 14: Cómo llevar un equipo ágil de Product Development

Features, Bugs, ChoresBugs siempre tienen prioridad

No puedes mover features al Current/Backlog

Page 15: Cómo llevar un equipo ágil de Product Development

Releases

Page 16: Cómo llevar un equipo ágil de Product Development

Releases

Lanza releases frecuentemente

Usamos Capistrano para los deploys

Cualquier persona puede hacer un release

No lanzamos el viernes en la noche

Page 17: Cómo llevar un equipo ágil de Product Development

Story points0 - cosas super sencillas

1 - cosas sencillas; max 2 horas

2 - sencillas; max 4 horas

3 - media complicadas; max un día

>3 - hay que dividirlo en más stories

Page 18: Cómo llevar un equipo ágil de Product Development

Pruebas y QASiempre escribimos pruebas

El autor prueba localmente y en staging antes de entregar

Alguien más tiene que probar el story y aceptarlo

Hacemos pruebas con usuarios

Page 19: Cómo llevar un equipo ágil de Product Development

Git Flow

"master" estable

"develop" para el siguiente release

Ramas para features y epics

Page 20: Cómo llevar un equipo ágil de Product Development

Code Reviews

Page 21: Cómo llevar un equipo ágil de Product Development

Tiempo para refactor

Page 22: Cómo llevar un equipo ágil de Product Development
Page 23: Cómo llevar un equipo ágil de Product Development

Bueno todavía…Nos olvidamos de dividir los stories complicados

Debemos lanzar suficiente

A veces nadie revisa PRs o acepta stories

Page 24: Cómo llevar un equipo ágil de Product Development

ResumenEstamos más contentos

Entregamos muy frecuentemente

Mantenemos una buena calidad de código

Casi nunca trabajamos horarios extras

Page 25: Cómo llevar un equipo ágil de Product Development

Gracias@enortham