Sobre story points, horas y demás yerbas de estimación

Ayer en una clase de Ingeniería de Software en @untref un alumno me consulto sobre «la tendencia a dejar de utilizar story points».

En lo personal desconocía esa tendencia, pero si me constan un par de cuestiones al respecto de los story points.

  1. Los story points son uno de los artefactos peor entendidos y más mal utilizados de la ingeniería de software. Ejemplos clásico: gente que estima en story point para luego «traducirlos» a horas.
  2. Los story points son herramientas surgidas en un contexto con ciertas condiciones, valores y principios. Como suele ocurrir, utilizar una herramienta fuera del contexto y las condiciones en las que fue pensada, podría no dar los resultados esperados.
  3. En lo personal me animo a decir que me han resultado una herramienta útil pero que hoy en día, intento no utilizarlos. Los story points nos ayudan a lidiar con ítems de distinta complejidad/tamaño. Si logramos particionar los ítems de forma tal que todos tengan «el mismo tamaño», entonces podremos directamente hablar de cantidad de ítems y prescindir de los story points.
  4. Lo que definitivamente no me ha funcionado es estimar/planificar utilizando horas. No digo que no funcione en general, sino que a mi, con el conjunto de prácticas que utilizo(pair-programming, mobbing, gestión de alcance variable, etc), no me funciona. Más aún, en un punto resulta incompatible.

En fin, cada médico con su librito.

Infra para TPs

Desde que comencé a dictar la materia Ingeniería de Software (allá por 2012), siempre apunté por un enfoque muy práctico y lo más parecido posible a la práctica profesional. Entre otras cosas esto implica construir software y ponerlo a correr, en nuestro caso en un ambiente cloud. Para esto he utilizado distintas herramientas/servicios/plataformas a lo largo del tiempo. Comencé con Heroku, luego Okteto , fly.io, Azure y Render. También hay algunas otras que evalué y que por uno y otro motivo descarté sin llegar a utilizarlas en el curso.

Siempre he procurado utilizar servicios que resulten gratuitos para los estudiantes, llegando incluso a pagar yo mismo por el servicio.

Hoy en día estoy usando tres plataformas Render , Neon y un Kubernetes sobre Digital Ocean. En caso de Render y Neon, ambas ofrecen un free tier. Mientras que en el caso de Digital Ocean es posible acceder a 200 dólares de crédito si se cuenta con el GitHub Student Developer Pack. Esta oferta de GitHub incluye un interesante set de recursos gratuitos para estudiantes entre los que se incluyen cursos, licencias y accesos a servicios como Heroku, Digital Ocean y Azure entre otros.

Iniciativa: «El estado de TDD»

Mis colegas residentes en España, Matheus Marabesi y Emmanuel Valverde Ramos, ambos practicantes y estudiosos de TDD, están llevando adelante una encuesta sobre el uso de dicha técnica. En realidad esta encuesta es parte de una iniciativa más amplia que empezaron tiempo atrás: https://thestateoftdd.org/.

Creo que la encuesta es un recursos valioso para todos aquellos que practicamos TDD o que intentamos investigarlo, por ello invito a todos aquellos que practican TDD o que tal vez no lo practican pero les gustaría hacerlo, a que completen la encuesta disponible aquí.