Radiografía de un equipo trabajando a lo Extreme Programming

Hay muchas descripciones teóricas en libros, artículos y conferencias sobre cómo trabajar con la metodología Extreme Programming, pero muy pocos dando detalles. En este sentido un recurso excelente es el libro de Henrik Kniberg, Scrum and XP from Trenches. Al margen de ello, quiero compartir aquí algunos detalles de implementación de la forma en la que trabaja el equipo del cual soy parte actualmente.

Equipo (la gente está en todas las dailies):

  • 5 Devs (skills de front, back, ci/cd, infra)
  • 1 Tester
  • 1 UX
  • 1 facilitador
  • 2 personas de negocio

Proceso:

  • Duración de iteración: 2 semanas calendario, time-boxed
  • Daily Stand-up: todos los días 9.15
  • Revisión de iteración & Demo: Jueves de 10:00 a 10:30 (cada 2 semanas)
  • Retrospectiva: Jueves de 10:30 a 11:30 (cada 2 semanas)
  • Planificación estratégica: Jueves de 11:45 a 13:00 (cada 2 semanas)
  • Planificación táctica: Jueves de 14:00 a 16:00 (cada 2 semanas)
  • Refinamiento: por el no tiene un horario ni cadencia fija, viene variando de iteración en iteración
  • Invision (el nombre aún no me cierra): martes de 11:00 a 12:00 tenemos esta reunión semanal donde coordinamos con otro equipo que desarrolla una API con la cual tenemos un importante dependencia

Prácticas de desarrollo:

  • Trunk-based Development, todo el equipo, todo el tiempo trabajando en la misma rama
  • Pair-Programming, todo el tiempo
  • TDD todo el tiempo en el código server-side (C#)
  • Test-Last en el código de client-side (angular)
  • Despliegue automatizado a todos los ambiente
  • Feature Toggling

Stack tecnológico:

  • Net Core 3.1
  • Angular 9
  • Gitlab (versionado de fuentes & pipeline)
  • Artifactory (versionado de binarios)
  • RunDeck (deploy automation)
  • Specflow, NUnit, Postman/Newman y Jess (test automation)
  • Sonar (quality check)
  • Docker, Docker Compose & Kubernetes (packaging & runtime)
  • Visual Studio Code, Visual Studio, WebStorm & Rider (IDEs para todos los gustos pues tenemos gustos muy distintos)

Herramientas de gestión / colaboración

  • Microsoft Teams (chat & calls)
  • Miro & Zeplin (diseño & mockups)
  • Jira (backlog)
  • Confluence (wiki)

Algunas de estas cuestiones de esta forma de trabajo no me terminan de convencer (por ejemplo yo preferiría hacer iteraciones de 1 semana) pero por el momento nos viene funcionando bien, el negocio está contento y ningún miembro del equipo ha planteado desconformidades relevantes.

One thought on “Radiografía de un equipo trabajando a lo Extreme Programming

  1. Hola Nico, veo que marcas el deseo de hacer Sprint de 1 semana. Cuál te parece que es el contexto ideal para hacerlo?
    Participé de un proyecto donde, al comienzo del mismo, se implementaron Sprint semanales y era muy poco el tiempo que se tenía para poder agregar valor visible, ya que se ocupaba gran parte en Refinement que bloqueaba el desarrollo.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.