<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: José Gutiérrez</title>
    <description>The latest articles on DEV Community by José Gutiérrez (@jagj77).</description>
    <link>https://dev.to/jagj77</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2190822%2F93caa0da-5856-47cf-b20e-5b949931f7bf.jpg</url>
      <title>DEV Community: José Gutiérrez</title>
      <link>https://dev.to/jagj77</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jagj77"/>
    <language>en</language>
    <item>
      <title>¿Cuándo esta terminado?</title>
      <dc:creator>José Gutiérrez</dc:creator>
      <pubDate>Fri, 24 Apr 2026 20:27:03 +0000</pubDate>
      <link>https://dev.to/jagj77/cuando-esta-terminado-49ml</link>
      <guid>https://dev.to/jagj77/cuando-esta-terminado-49ml</guid>
      <description>&lt;h2&gt;
  
  
  Nos pasa, a todos, no tengás vergüenza.
&lt;/h2&gt;

&lt;p&gt;Con IA y sin. Alguien en algún momento empieza a preguntar: "¿Cuándo esta? ¿Cuándo terminamos?&lt;/p&gt;

&lt;p&gt;Decimos: "En 3 semanas más". Llega la fecha, aun no terminamos. Surge la pregunta de nuevo. Surge la respuesta "2 semanas más." y ahí se repite el ciclo hasta ser un meme ("no de nuevo decía") con total pérdida de credibilidad.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No es que estimes mal. La estimación es una ilusión.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Nadie puede decir cuánto tardará en algo que no entiende completamente, en un contexto que cambia constantemente, con un equipo cuya capacidad varía semana a semana.&lt;/p&gt;

&lt;p&gt;¿Entonces?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deja de estimar. Empezá a medir&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  El Sistema
&lt;/h2&gt;

&lt;p&gt;Tres pasos:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Divide característica/historia en tareas pequeñas&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cada tarea ≤ 1 día ideal&lt;/li&gt;
&lt;li&gt;Si parece más grande de un día la dividís.&lt;/li&gt;
&lt;li&gt;Si sigue siendo grande, dividís de nuevo&lt;/li&gt;
&lt;li&gt;Resultado: tareas comparables y además un plan ejecutable y refinado.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;2. Registra cada semana&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Cuántas tareas completó cada dev.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Semana 1: 4 tareas&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Semana 2: 7 tareas&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Semana 3: 6 tareas&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;... &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Semana 8: converges &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3. Predecí con actualización Bayesiana&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Después de 8 semanas: sabes distribución real de cada desarrollador.&lt;/li&gt;
&lt;li&gt;Backlog actual tiene X tareas&lt;/li&gt;
&lt;li&gt;Simula 10k escenarios con esas distribuciones.&lt;/li&gt;
&lt;li&gt;Resultado: "con 95% de confianza, no terminamos antes del día Y"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No es complicado.&lt;/p&gt;




&lt;h2&gt;
  
  
  Por qué funciona
&lt;/h2&gt;

&lt;p&gt;Las distribuciones &lt;strong&gt;convergen a capacidad real&lt;/strong&gt; no importa si la tarea tomo más de un día siempre que hayamos intentado que tomara a lo sumo un día. Recordá que dije 'un día ideal', seamos honestos la mayoría de los días están lejos de ser ideales. Pero la ley de los grandes números está a nuestro favor, finalmente la capacidad real converge. &lt;/p&gt;

&lt;p&gt;No es esperás 8 semanas para "entrenar" el modelo. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Semana 1-3:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dev A hace 20 tareas (contexto simple)&lt;/li&gt;
&lt;li&gt;Dev B hace 5 tareas (aprende)&lt;/li&gt;
&lt;li&gt;Variación alta&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Semana 4-6:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Complejidad aumenta (arquitectura, dependencias)&lt;/li&gt;
&lt;li&gt;Dev A hace 12 tareas&lt;/li&gt;
&lt;li&gt;Dev B hace 9 tareas&lt;/li&gt;
&lt;li&gt;Se estabiliza&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Semana 7-8:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Distribución converge&lt;/li&gt;
&lt;li&gt;Dev A: 11 ± 2 tareas&lt;/li&gt;
&lt;li&gt;Dev B: 10 ± 2 tareas&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Eso es su capacidad real&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No necesitas "ajustar manualmente". Los datos lo hacen solitos.&lt;/p&gt;




&lt;h2&gt;
  
  
  Actualización Bayesiana
&lt;/h2&gt;

&lt;p&gt;Lo que estás haciendo es ajustar tus creencias a la evidencia:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Semana 1: "Asumo que el dev hace ~25 tareas" (prior)&lt;/li&gt;
&lt;li&gt;Dev hace 23 (observación)&lt;/li&gt;
&lt;li&gt;Semana 2: ajusta estimación a 24 (posterior = nuevo prior)&lt;/li&gt;
&lt;li&gt;Dev hace 26&lt;/li&gt;
&lt;li&gt;Semana 3: ajusta a 25&lt;/li&gt;
&lt;li&gt;... semana 8: converge a distribución real&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cada semana mejora la predicción automáticamente.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Estás sincronizando tu modelo con la realidad semanal.&lt;/p&gt;




&lt;h2&gt;
  
  
  Gestión de Expectativas (Lo Importante)
&lt;/h2&gt;

&lt;p&gt;*&lt;em&gt;La mayoría de software estima para evitar responsabilidad. *&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sin datos:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"Terminamos en 3 semanas" (esperanza optimista)&lt;/li&gt;
&lt;li&gt;Falla: "Sorpresas, dependencias, cambios de scope"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Con datos:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Semana 1: "No tengo datos. 6/7 meses creo."&lt;/li&gt;
&lt;li&gt;Semana 4: "Con 70% de confianza, 24 semanas."&lt;/li&gt;
&lt;li&gt;Semana 8: "Con 95% de confianza, 17 semanas."&lt;/li&gt;
&lt;li&gt;Semana 12: "Actualizando... 9 semanas."&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;El PM &lt;strong&gt;no promete fechas optimistas&lt;/strong&gt;. Promete rangos realistas.&lt;/p&gt;

&lt;p&gt;El cliente sabe qué esperar. Vos sabes qué esperar. El dev sabe qué esperar.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Eso es gestión de expectativas con evidencia.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Lo que cambió
&lt;/h2&gt;

&lt;p&gt;No fue solo predicción. Fue cómo trabajábamos:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Refinamiento forzado&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Para dividir features, necesitas pensar en pasos&lt;/li&gt;
&lt;li&gt;Dev no puede decir "voy a hacerla" sin plan&lt;/li&gt;
&lt;li&gt;Resultado: menos sorpresas, ejecución más limpia&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;2. Dailies claras&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"¿Dónde estás?" → "Terminé la tarea X, empecé la Y para completar la feature"&lt;/li&gt;
&lt;li&gt;No,"estoy trabajando en la feature" (nada claro)&lt;/li&gt;
&lt;li&gt;Visibilidad real&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3. Bloqueos visibles&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Si alguien no termina tareas, se ve en los números&lt;/li&gt;
&lt;li&gt;¿Es capacidad? ¿Son bloqueos externos? Los datos nos dicen&lt;/li&gt;
&lt;li&gt;PM interviene, cero dramas, son datos&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;4. Devs caóticos se exponen y aprenden&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Algunos devs , le cuesta dividir en tareas.&lt;/li&gt;
&lt;li&gt;La distribución reflejaba eso (muy variable, baja velocidad)&lt;/li&gt;
&lt;li&gt;Con insistencia, mejoraron o mostraban su verdadero desempeño&lt;/li&gt;
&lt;li&gt;No fue culpa, fue realidad&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Las Limitaciones
&lt;/h2&gt;

&lt;p&gt;No hace por nosotros, ni el producto correcto, ni evitar retrasos o cambios.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Tarda 8 semanas&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Si son caóticos, tarda en converger.&lt;/li&gt;
&lt;li&gt;Necesitas ~8 semanas reales (56 días)&lt;/li&gt;
&lt;li&gt;Después la precisión mejora y mejora&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;2. Requiere equipo estable&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Si rotan gente cada 2 semanas, la distribución se rompe, podemos usar una priora informada, pero ya es más complicado.&lt;/li&gt;
&lt;li&gt;Cambio de contexto grande, producen redistribuciones&lt;/li&gt;
&lt;li&gt;Pero &lt;strong&gt;se ajusta automáticamente cada semana&lt;/strong&gt;, si la historia es muy pesada podemos usar ventanas deslizables sobre los datos para reducir el peso de la evidencia histórica a cambio de mayor varianza&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3. Depende de división clara&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Si dividís mal (tareas poco claras), los datos son ruido&lt;/li&gt;
&lt;li&gt;Pero el sistema lo expone: tareas que dicen ser "pequeñas" pero no terminan.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;4. Backlog en movimiento&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Si el MVP crece 50% en la semana 5, la predicción se recalcula&lt;/li&gt;
&lt;li&gt;Eso es &lt;strong&gt;correcto&lt;/strong&gt;, no fallo del sistema.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;5. Bloqueos externos&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Si hay 2 semanas de bloqueo por infra/aprobaciones&lt;/li&gt;
&lt;li&gt;Velocidad baja esas semanas&lt;/li&gt;
&lt;li&gt;Se refleja en los números (correctamente)&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  ¿Si es tan bueno porque no lo hace nadie?
&lt;/h2&gt;

&lt;p&gt;El software aplica técnicas sofisticadas para todo... menos para sí mismo.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;*Meteorología: * Recalcular predicciones cada hora.&lt;/li&gt;
&lt;li&gt;*Logística: * ETAs que se ajustan con datos.&lt;/li&gt;
&lt;li&gt;*Control de Calidad/Industrial: * Medir capacidad real.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Como casi todo, es multi causal. Te digo algunas:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Waterfall dejó cicatrices perpetuas&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"Medir y registrar" suena a viejo, rígido&lt;/li&gt;
&lt;li&gt;"Agile" mal entendido.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Presión política&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Datos reales exponen problemas: "¿Por qué tan lentos?"&lt;/li&gt;
&lt;li&gt;Estimar es cómodo: Luego decir "pasaron cosas" para justificarse.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Ilusión de control&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Un PM prefiere oír "2 semanas" (certeza falsa)&lt;/li&gt;
&lt;li&gt;Que "70% de confianza, 2-4 semanas" (realidad incómoda)&lt;/li&gt;
&lt;li&gt;El número da "certeza". La distribución da "responsabilidad".&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Herramientas&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Jira está diseñada para estimaciones (story points)&lt;/li&gt;
&lt;li&gt;Medir requiere disciplina&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  ¿Cómo Implementarlo?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Semana 1:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Agarrar el MVP &lt;/li&gt;
&lt;li&gt;Tomar las features y dividirlas en tareas de un día.&lt;/li&gt;
&lt;li&gt;Contás tareas, digamos 120 tareas para el MVP&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Semanas 2-8:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cada semana: registrás tareas completadas&lt;/li&gt;
&lt;li&gt;Cada semana: recalculás predicción&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Semana 9+:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Predicción confiable&lt;/li&gt;
&lt;li&gt;Recalcula cada semana (automático)&lt;/li&gt;
&lt;li&gt;Usa para decisiones de prioridad, scope, comunicación con stakeholders&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Código (Pseudo)
&lt;/h2&gt;

&lt;p&gt;Si quieres hacer la simulación:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;numpy&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;np&lt;/span&gt;

&lt;span class="c1"&gt;# Datos históricos (semanas 1-8)
&lt;/span&gt;&lt;span class="n"&gt;dev_a_velocidad&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;22&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;19&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;21&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;23&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;21&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;22&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;  &lt;span class="c1"&gt;# tareas/semana
&lt;/span&gt;&lt;span class="n"&gt;dev_b_velocidad&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;14&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;17&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;15&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="c1"&gt;# Parámetros distribuciones, asumiendo normalidad
&lt;/span&gt;&lt;span class="n"&gt;velocidad_a&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;np&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;mean&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;dev_a_velocidad&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# ~21
&lt;/span&gt;&lt;span class="n"&gt;std_a&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;np&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;std&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;dev_a_velocidad&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;         &lt;span class="c1"&gt;# ~1.2
&lt;/span&gt;&lt;span class="n"&gt;velocidad_b&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;np&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;mean&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;dev_b_velocidad&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# ~15.4
&lt;/span&gt;&lt;span class="n"&gt;std_b&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;np&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;std&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;dev_b_velocidad&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;         &lt;span class="c1"&gt;# ~0.8
&lt;/span&gt;
&lt;span class="n"&gt;backlog_tareas&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;200&lt;/span&gt;  &lt;span class="c1"&gt;# tareas restantes
&lt;/span&gt;
&lt;span class="c1"&gt;# Simulación Monte Carlo
&lt;/span&gt;&lt;span class="n"&gt;simulaciones&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;10000&lt;/span&gt;
&lt;span class="n"&gt;dias_para_terminar&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;

&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;_&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;simulaciones&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="c1"&gt;# para simplificar el ejemplo usamos una distribución normal
&lt;/span&gt;    &lt;span class="n"&gt;tareas_semana_a&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;np&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;random&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;normal&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;velocidad_a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;std_a&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;tareas_semana_b&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;np&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;random&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;normal&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;velocidad_b&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;std_b&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;tareas_por_semana&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tareas_semana_a&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;tareas_semana_b&lt;/span&gt;

    &lt;span class="n"&gt;semanas_necesarias&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;backlog_tareas&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="n"&gt;tareas_por_semana&lt;/span&gt;
    &lt;span class="n"&gt;dias&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;semanas_necesarias&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;7&lt;/span&gt;
    &lt;span class="n"&gt;dias_para_terminar&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;dias&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Resultado
&lt;/span&gt;&lt;span class="n"&gt;percentil_95&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;np&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;percentile&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;dias_para_terminar&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;95&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;percentil_50&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;np&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;percentile&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;dias_para_terminar&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;50&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Mediana: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;percentil_50&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt; días&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;95% confianza (worst case): &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;percentil_95&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt; días&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Eso es. 20 líneas. Nada de magia.&lt;/p&gt;




&lt;h2&gt;
  
  
  ¿Como se ve?
&lt;/h2&gt;

&lt;p&gt;Estas distribuciones son las que convergen.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0imfkpnsacruixbly1yi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0imfkpnsacruixbly1yi.png" alt="J" width="562" height="463"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Así se ven las distribuciones. Ajustadas, notá que no asumo normalidad. Mi  versión productiva ajusta distribuciones antes del MC.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsyla3kma5xtu98fw9qa6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsyla3kma5xtu98fw9qa6.png" alt="X" width="672" height="644"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Vemos el efecto de las tres distribuciones en las fechas de entrega. (100k simulaciones)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd2x7d1g93nhktzsdhk8t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd2x7d1g93nhktzsdhk8t.png" alt="G" width="800" height="242"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Lo que no estoy diciendo que es!!!
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;"Esto es perfecto": No !!&lt;/li&gt;
&lt;li&gt;"Todos deberían hacerlo": Para nada.&lt;/li&gt;
&lt;li&gt;"Reemplaza a los devs estimando": Dividir en tareas es estimar.&lt;/li&gt;
&lt;li&gt;"Es Waterfall disfrazado": Nop.&lt;/li&gt;
&lt;li&gt;"Pero no puedo divi ...": Lo importante es dividir el elefante en pedacitos masticables. La idea es contar 'melones', onzas o kilos no te importan, a larga en el carro se acomodan. &lt;/li&gt;
&lt;li&gt;"Story Points": Si, podes aproximar la distribución o usar tus datos históricos como bootstrap para el Montecarlo. &lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Esto no es nada nuevo
&lt;/h2&gt;

&lt;p&gt;Esto no es innovación, ni hype. &lt;strong&gt;Es ingeniería clásica.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;En construcción, medicina, logística, manufactura, &lt;strong&gt;Miden. No estiman.&lt;/strong&gt; y lo que estiman es a sus clientes por eso miden.&lt;/p&gt;

&lt;p&gt;Que software sea la excepción, no significa que la excepción sea correcta.&lt;/p&gt;

&lt;h2&gt;
  
  
  Probalo.
&lt;/h2&gt;

&lt;h2&gt;
  
  
  Si no te gusta no hay problema solo contame ...
&lt;/h2&gt;

&lt;p&gt;¿Estimas o medis?&lt;/p&gt;

&lt;p&gt;¿Tus predicciones aciertan?&lt;/p&gt;

&lt;p&gt;¿Usas algo similar?&lt;/p&gt;

</description>
      <category>softwaredevelopment</category>
      <category>agile</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
