SlideShare a Scribd company logo
1 of 44
Download to read offline
Estimaciones en desarrollo de
software
...Un juego en el que todos perdemos
Romén Rodríguez Gil
@romenrg - www.romenrg.com
2017
Sobre mi
Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
Sobre mis experiencias: startups, software, productos digitales...
Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
Sobre mi mayor aprendizaje: Vocabulary Notebook
Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
Estimaciones en desarrollo de
software
...Un juego en el que todos perdemos
Romén Rodríguez Gil
@romenrg - www.romenrg.com
2017
Contenido
1. Las estimaciones en desarrollo de software fallan dramáticamente
1.1. Estudios sobre desviaciones (en tiempo y costes) en software
1.2. Asumamos que nunca sabemos cuánto vamos a tardar desarrollando
1.3. Las graves consecuencias de las estimaciones de tiempo
2. ¿Por qué creemos necesitar las estimaciones de tiempo?
2.1. La percepción de los managers / clientes frente a la de los desarrolladores
2.2. El rol de los contratos tóxicos
2.3. La falacia de comparar proyectos
3. Alternativas con las que todos ganamos
3.1. Team velocity + Backlog para el cálculo empírico y dinámico de fechas
3.2. Contratos no-tóxicos: agile contracts
3.3. Resultados y satisfacción de los clientes
Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
1. Las estimaciones en desarrollo fallan dramáticamente
Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
1. Las estimaciones fallan dramáticamente
● Desde los años 90 muchos plasman una desagradable realidad
○ Harvard Business Review:
■ Why Your IT Project May Be Riskier Than You Think (resumen InfoQ) - 2011
● Proyectos IT: sobrecoste de 400% y obtener sólo 25% de beneficios
esperados
○ Chaos Reports (Standish Group)
■ Informe de 2015 (resumen InfoQ)
● > 10 000 proyectos analizados
● El 71% de los proyectos software son definidos como fracasos
○ Tiempos, costes y resultados no son los esperados
Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
1.1 Estudios sobre desviaciones (en tiempo y costes) en software
1. Las estimaciones fallan dramáticamente
Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
1.1 Estudios sobre desviaciones (en tiempo y costes) en software
...Siguiendo con el Chaos Report 2015
¿Estamos mejorando?
1. Las estimaciones fallan dramáticamente
● Coding, Fast and Slow: Developers and the Psychology of Overconfidence
○ Primera experiencia de Dan Milstein
■ [...] The account manager explained, in rough form, what the client was looking for, we
talked it out, and I said, “That should be about 3 weeks of work.”
“Sounds good,” he said. And so I got to coding.
How long do you imagine this project took? Four weeks? Maybe five?
Um, actually: three months. [...]
○ Tras años intentando no volver a estar tan equivocado, Dan llega a la conclusión de que
siempre está tan equivocado… y se da cuenta de que, por lo general, todos lo estamos
Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
1.2 Asumamos que nunca sabemos cuánto vamos a tardar desarrollando
1. Las estimaciones fallan dramáticamente
● Crear software es complejo, abstracto y cambiante
○ Escribir software requiere entender algo a un nivel tan preciso que nos permita decir a un
ordenador cómo hacerlo.
■ Ese detalle no lo tenemos al hacer una análisis inicial, ni de lejos.
■ Para analizar con ese nivel de detalle tan preciso
● acabaríamos desarrollando gran parte del software para “analizarlo”
● sería tremendamente costoso e inflexible
● y desde luego no tendría la utilidad que se pretende de “análisis” ni “estimación”
● llegado a este punto sería más lógico desarrollar el software directamente...
Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
1.2 Asumamos que nunca sabemos cuánto vamos a tardar desarrollando
1. Las estimaciones fallan dramáticamente
● Crear software es complejo, abstracto y cambiante
○ Cuando analizamos requerimientos por primera vez
■ Siempre hay partes que no comprendemos del todo
■ Hay partes que el propio cliente no comprende del todo
■ No podemos conocer las tecnologías al 100%
■ Cada problema requiere tecnologías, librerías o desarrollos propios diferentes
● Y esto lo vamos descubriendo durante el desarrollo
■ Los equipos cambian, cada persona tiene habilidades y conocimientos diferentes,
avanza a ritmo diferente y trabaja en equipo de forma diferente
Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
1.2 Asumamos que nunca sabemos cuánto vamos a tardar desarrollando
1. Las estimaciones fallan dramáticamente
● Lo más grave: desarrolladores que se creen sus estimaciones
○ Cualquier desarrollador que haya trabajado al menos unos meses, ha vivido el caos de las
estimaciones. Sin embargo, la mayoría siguen creyéndose capaces de estimar y buenos
estimadores
○ ¿Por qué se siguen creyendo los desarrolladores sus estimaciones?
■ Al terminar no cuantifican el tiempo real que les ha costado
■ No comparan el tiempo real con el “estimado” inicialmente
■ Trabajan en varias cosas a la vez, con lo que se desconoce la dedicación a cada una
■ Si es evidente la desviación se echan balones fuera (problemas externos, etc…)
■ Se quieren cumplir los deseos de managers / clientes
■ Se cede a la presión de grupo por parecer rápido (o no parecer lento)
Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
1.2 Asumamos que nunca sabemos cuánto vamos a tardar desarrollando
1. Las estimaciones fallan dramáticamente
Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
Jose, me dijiste que
tendríamos lista la nueva
versión en un mes… Quedan
4 días, ¿ya estará casi, no?
Ehhh… bueno…
espero poder tenerlo,
como sea...
1.3 Las graves consecuencias de las estimaciones de tiempo
1. Las estimaciones fallan dramáticamente
Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
¡#~@%#! ¡Que no llego! Nada, dejo de hacer
tests, yo creo que lo que queda es fácil… Sólo
falla en casos raros… lo subo así mismo y si
hace falta ya lo corregiré… Esto es complejo
de entender… pero bueno, los diagramas ya
los haré en otro momento… Uhm, ¿qué
nombre le poco a esta variable? Bah, “var
pepe” está bien, no perdamos tiempo...
1.3 Las graves consecuencias de las estimaciones de tiempo
Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
… cuatro días más tarde ....
1.3 Las graves consecuencias de las estimaciones de tiempo
1. Las estimaciones fallan dramáticamente
1. Las estimaciones fallan dramáticamente
Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
Jose, está todo
listo, ¿no?
Ehhh… bueno… sí… He estado
echando horas para poder tenerlo...
Sólo faltan algunas cosas
menores… Podemos subirlo así...
1.3 Las graves consecuencias de las estimaciones de tiempo
Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
… unos días después de
la subida ....
1.3 Las graves consecuencias de las estimaciones de tiempo
1. Las estimaciones fallan dramáticamente
1. Las estimaciones fallan dramáticamente
Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
¡Jose! ¡¿Pero qué demonios
has hecho?! Hay usuarios
que no pueden acceder y
otros a los que se les han
corrompido sus datos...
Ehhh… bueno… había
algunos casos raros…
Pero ya es mala suerte...
...Enseguida lo arreglo...
1.3 Las graves consecuencias de las estimaciones de tiempo
1. Las estimaciones fallan dramáticamente
Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
1.3 Las graves consecuencias de las estimaciones de tiempo
Pufff… ¡Este código no lo entiendo ni yo
mismo!… A saber en qué casos falla esto… No
hay ningún test…
¿Qué demonios era la variable “pepe”?
¿Cómo era el flujo de ejecución de este código?
Ojalá tuviera algún diagrama o descripción...
1. Las estimaciones fallan dramáticamente
Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
1.3 Las graves consecuencias de las estimaciones de tiempo
¡A ver qué le digo a los clientes!... ¡Este tío
es un inútil! Si me hubiera dicho que que era
un plazo imposible hubiéramos esperado,
pero con esta cagada ya hemos perdido
más de 3 000 usuarios, lo que tiene un
impacto económico mayor de 150 000 €...
Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
...todos perdemos….
1.3 Las graves consecuencias de las estimaciones de tiempo
1. Las estimaciones fallan dramáticamente
2. ¿Por qué creemos necesitar las estimaciones de tiempo?
Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
2. ¿Por qué “necesitamos” estimaciones de tiempo?
2.1 Percepciones de Managers / clientes vs desarrolladores
Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
Yo creo que tardo un par de
semanas… Digamos un mes,
por si acaso....
Ok, son 160h de desarrollo, a los
35 €/h que facturamos serían 5600
€… Pongamos 6000 €. Con este
proyecto podríamos tener unos
1500 € de beneficio para la
empresa. ¡Presentaré la oferta!
Para facturar al
cliente calcularemos
X horas por Y€ / hora
Jose, ¿cuánto tardarías en hacer X?
2.1 Percepciones de Managers / clientes vs desarrolladores
2. ¿Por qué “necesitamos” estimaciones de tiempo?
Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
Oferta aceptada.
...Un mes más tarde...
2. ¿Por qué “necesitamos” estimaciones de tiempo?
Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
¡Cómo que no está
terminado aún! ¡Dijiste que
estaría para final de mes!
Se ha complicado... Estuve varios días con
un bug inesperado de una librería, varios
días más analizando una API externa que
no estaba documentada como debería... Y
además hemos tenido problemas con
dependencias transitivas… Necesito al
menos dos o tres semanas más...
2.1 Percepciones de Managers / clientes vs desarrolladores
2.1 Percepciones de Managers / clientes vs desarrolladores
2. ¿Por qué “necesitamos” estimaciones de tiempo?
Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
…Pero es que hasta que no me he puesto
a desarrollar no han ido surgiendo los
problemas… Son demasiadas variables
a tener en cuenta como para preverlas...
¡Tenías que haberlo
analizado antes de darme la
estimación! ¡Ahora no solo se
esfuma nuestro margen, sino
que vamos a perder dinero!
Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
...todos perdemos….
2.1 Percepciones de Managers / clientes vs desarrolladores
2. ¿Por qué “necesitamos” estimaciones de tiempo?
2. ¿Por qué “necesitamos” estimaciones de tiempo?
- Pretenden fijarlo todo
- Precio
- Tiempo
- Alcance
- Pero no sabemos qué va a ocurrir
- Hay mucha incertidumbre
- Cosas que no comprendemos
- Cosas que el cliente aún desconoce
- Complicaciones imprevistas
- Tecnologías variables y desconocidas
- Equipo variable y no “copiable
Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
2.2 El rol de los contratos tóxicos
2. ¿Por qué “necesitamos” estimaciones de tiempo?
Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
Agente, ¿cuánto tiempo tardarán en
encontrar al ladrón? Si al último lo
cogieron en 2 días, para este deberían
bastarles 36 horas, que ya tienen
experiencia...
Edison, eso que dice de crear algo
que nos ilumine por la noche sin
fuego ¿cuánto tardará en inventarlo?
Tampoco debe ser tan complicado
partiendo de una vela...
Doctor, ¿cuánto queda para
recuperarme de la fractura de peroné?
Para el esguince de tobillo fue sólo
una semana y con la fractura llevo ya
1 mes… ¡Su productividad ha bajado!
2.3 La falacia de comparar proyectos: no hay dos casos iguales
3. Alternativas con las que todos ganamos
Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
3. Alternativas con las que todos ganamos
● Productos, no proyectos
○ Es un error ver “proyectos” software como algo con un inicio y un fin cerrados
○ Casi todo software que desarrollamos se convierte en un producto con un largo ciclo de vida
■ Sus funcionalidades evolucionan
■ Los sistemas con los que interactúa cambian
■ Se detectan errores
■ Queremos adaptarlo a nuevas tecnologías o realidades
● Confianza y colaboración
● Ciclos cortos, iterativos e incrementales
Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
Cambios de enfoque clave (importante)
3. Alternativas con las que todos ganamos
● Estimación indirecta
○ Team Velocity en puntos de esfuerzo
■ Práctica introducida por XP (eXtreme Programming)
■ Funcionalidades descritas como Historias de Usuario, estimadas en Puntos de Esfuerzo
■ La clave: desacoplar “tamaño”/“peso” de una funcionalidad del tiempo de desarrollo
● El margen de error es más natural, no hablamos de tiempo sino tamaño relativo
○ Product Backlog
■ Práctica introducida por Scrum
■ Tenemos una lista priorizada de las funcionalidades (historias de usuario) a desarrollar
○ Sprint
■ Periodo de desarrollo de X funcionalidades
■ Usualmente 15 días o 1 mes
Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
3.1 Team velocity + Backlog para el cálculo empírico y dinámico de fechas
3. Alternativas con las que todos ganamos
● Estimación indirecta
Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
3.1 Team velocity + Backlog para el cálculo empírico y dinámico de fechas
5
2
8
3
13
5
2
8
2
Backlog de producto estimado en
puntos de esfuerzo (1 bloque = 1 funcionalidad)
...
5
8
5
5
2
3
2
3
2
8
3
3
Sprint N-3: 18
Sprint N-2: 15
Sprint N-1: 16
Empíricamente
vemos que el
equipo tiene una
velocity de 16
puntos de esfuerzo
por sprint (media
del histórico)
Como cada sprint
son 15 días,
podemos hacer
estimaciones
inversas con el
backlog
3. Alternativas con las que todos ganamos
● Estimación indirecta
Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
3.1 Team velocity + Backlog para el cálculo empírico y dinámico de fechas
5
2
8
3
13
2
8
2
Funcionalidad que queremos
estimar (Fx)
...
5
2
8
3
13
2
8
Sprint N+1: 15
Sprint N+2: 16
Sprint N+3
Basados en la
velocity del equipo
(16 puntos / sprint),
existen elementos
previos en el backlog
para 2 sprints
completos antes de
abordar el elemento
elegido (Fx).
Probablemente Fx
estará desarrollado
en 3 sprints. Es decir
45 días (15 días /
sprint x 3 sprints)
5
5
3. Alternativas con las que todos ganamos
● Estimación indirecta (resumen)
○ Inicialmente estimamos todo el Backlog en Puntos de Esfuerzo
■ Tomando como referencia las Historias de Usuario más pequeñas o mayores
■ Mantenemos estas estimaciones consistentes
○ Sprints
■ Al planificar un sprint
● El equipo añade el número de Historias que cree ser capaz de terminar
■ Al finalizar un sprint
● Veremos cuántos puntos de esfuerzo hemos podido realizar
● En los primeros es normal que varíen los puntos de esfuerzo que realizamos
● Tras varios sprints convergerá en una cifra similar cada sprint: Team Velocity
○ Conocienciendo nuestra Team Velocity, el total de puntos de nuestro backlog y la
duración de cada sprint, podremos estimar la fecha de lanzamiento
Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
3.1 Team velocity + Backlog para el cálculo empírico y dinámico de fechas
● No Deadlines For You! Software Dev Without Estimates, Specs or Other Lies
○ Conclusión del artículo de Dan Milstein
■ Tras aprender que no es posible estimar en software
■ Lo importante es ayudar al cliente
● Aprender qué quiere realmente
● Ayudarle a recabar datos sobre el mercado
● Ayudarle a recabar datos sobre la efectividad de las funcionalidades
● Desarrollar funcionalidades pequeñas
○ Priorizadas por el valor que aportan al negocio
○ Al final Dan está hablando de enfoques ágiles
■ Ir a la raíz del problema, aprender constantemente, desarrollo iterativo-incremental,
facturar por dedicación (2 semanas de dedicación a X...)
Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
3. Alternativas con las que todos ganamos
3.2 Contratos no-tóxicos: agile contracts
3. Alternativas con las que todos ganamos
Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
3.2 Contratos no-tóxicos: agile contracts
● ¿Existen contratos / enfoques alternativos? “Agile contracts”
○ “Esconder Agile”
■ Emplear métodos ágiles internamente y prever desviaciones dinámicamente
○ No cure, no pay
■ Sólo se cobra si se soluciona el problema
● Riesgo del proveedor para asumir inversión y controlar alcance
○ Time & Materials
■ Ej: Se cobra por hora trabajada + “suplidos”
○ Rolling contracts
■ Precio fijado por sprint
■ Producto iterativo-incremental como resultado de cada sprint
■ Renovación automática tras cada sprint
■ Money for nothing, change for free (variación propuesta por Jeff Sutherland)
Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
● Enfoques ágiles mejoran la
satisfacción
○ Proyectos pequeños
■ Fracasos: -60%
○ Proyectos medianos
■ Éxitos: +400%
○ Proyectos grandes
■ Éxitos: +600%
3. Alternativas con las que todos ganamos
3.3 Resultados y satisfacción de los clientes
Estimaciones en desarrollo de
software
...Un juego en el que todos perdemos
Romén Rodríguez Gil
@romenrg - www.romenrg.com
2017
Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
Why Asking Developers for Time Estimates in Software Projects Is a
Terrible Idea and How to Bypass It With Scrum
Leer más:
http://www.romenrg.com/blog/2015/09/28/why-asking-developers-for-time-estimates
-in-software-projects-is-a-terrible-idea-and-how-to-bypass-it-with-scrum/
Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
...todos perdemos
Centrándonos en las estimaciones de tiempo en desarrollo de software...
Recuerda:
Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
...todos podemos ganar
Con alternativas ágiles (empíricas y dinámicas)
Recuerda:
Estimaciones en desarrollo de
software
...Un juego en el que todos perdemos
Romén Rodríguez Gil
@romenrg - www.romenrg.com
2017

More Related Content

Similar to Estimaciones fallan en desarrollo de software

Planificación y gestión de proyectos de desarrollo de videojuegos
Planificación y gestión de proyectos de desarrollo de videojuegosPlanificación y gestión de proyectos de desarrollo de videojuegos
Planificación y gestión de proyectos de desarrollo de videojuegosElío Ferrán
 
Desarrollo de Software por www.jasoftsolutions.com
Desarrollo de Software por www.jasoftsolutions.comDesarrollo de Software por www.jasoftsolutions.com
Desarrollo de Software por www.jasoftsolutions.comJosé Luis Lee Rázuri
 
Micro Focus - Presentación TestingAndToolsDay 2016 v0.1
Micro Focus - Presentación TestingAndToolsDay 2016 v0.1Micro Focus - Presentación TestingAndToolsDay 2016 v0.1
Micro Focus - Presentación TestingAndToolsDay 2016 v0.1Micro Focus
 
El proceso creativo de una aplicación
El proceso creativo de una aplicación El proceso creativo de una aplicación
El proceso creativo de una aplicación Jorge Galindo Cruces
 
Haciendo que el equipo de desarrollo GeneXus sea productivo y de calidad - Fe...
Haciendo que el equipo de desarrollo GeneXus sea productivo y de calidad - Fe...Haciendo que el equipo de desarrollo GeneXus sea productivo y de calidad - Fe...
Haciendo que el equipo de desarrollo GeneXus sea productivo y de calidad - Fe...GeneXus
 
Experiencias desarrollando mi primer videojuego - Techne18
Experiencias desarrollando mi primer videojuego - Techne18Experiencias desarrollando mi primer videojuego - Techne18
Experiencias desarrollando mi primer videojuego - Techne18Vanessa Galcera
 
Juegos de Producción y Estadística para la Promoción de las Metodologías Ágiles
Juegos de Producción y Estadística para laPromoción de las Metodologías ÁgilesJuegos de Producción y Estadística para laPromoción de las Metodologías Ágiles
Juegos de Producción y Estadística para la Promoción de las Metodologías ÁgilesLuiz C. Parzianello
 
Nerdear.la 2018 | Journey to Stability - Cómo reducimos costos y aumentamos l...
Nerdear.la 2018 | Journey to Stability - Cómo reducimos costos y aumentamos l...Nerdear.la 2018 | Journey to Stability - Cómo reducimos costos y aumentamos l...
Nerdear.la 2018 | Journey to Stability - Cómo reducimos costos y aumentamos l...Gustavo Arjones
 
Diapositivas Robotica!
Diapositivas Robotica!Diapositivas Robotica!
Diapositivas Robotica!Plan24
 
Ser ágil en España, un caso real con equipos de trabajo en remoto
Ser ágil en España, un caso real con equipos de trabajo en remotoSer ágil en España, un caso real con equipos de trabajo en remoto
Ser ágil en España, un caso real con equipos de trabajo en remotoAgile Spain
 
Ser Ágil en España: Un caso real con equipos de trabajo en remoto
Ser Ágil en España: Un caso real con equipos de  trabajo en remotoSer Ágil en España: Un caso real con equipos de  trabajo en remoto
Ser Ágil en España: Un caso real con equipos de trabajo en remotoEnrique Amodeo
 
Pasos para crear un videojuego power ponit
Pasos para crear un videojuego power ponitPasos para crear un videojuego power ponit
Pasos para crear un videojuego power ponittatiana meneses
 

Similar to Estimaciones fallan en desarrollo de software (20)

Planificación y gestión de proyectos de desarrollo de videojuegos
Planificación y gestión de proyectos de desarrollo de videojuegosPlanificación y gestión de proyectos de desarrollo de videojuegos
Planificación y gestión de proyectos de desarrollo de videojuegos
 
Desarrollo de Software por www.jasoftsolutions.com
Desarrollo de Software por www.jasoftsolutions.comDesarrollo de Software por www.jasoftsolutions.com
Desarrollo de Software por www.jasoftsolutions.com
 
pRogramacion.pptx
pRogramacion.pptxpRogramacion.pptx
pRogramacion.pptx
 
Betabeers BCN
Betabeers BCNBetabeers BCN
Betabeers BCN
 
Estimación temprana de proyectos software #pmot #pmlat @iprocuratio
Estimación temprana de proyectos software #pmot #pmlat @iprocuratioEstimación temprana de proyectos software #pmot #pmlat @iprocuratio
Estimación temprana de proyectos software #pmot #pmlat @iprocuratio
 
Micro Focus - Presentación TestingAndToolsDay 2016 v0.1
Micro Focus - Presentación TestingAndToolsDay 2016 v0.1Micro Focus - Presentación TestingAndToolsDay 2016 v0.1
Micro Focus - Presentación TestingAndToolsDay 2016 v0.1
 
El proceso creativo de una aplicación
El proceso creativo de una aplicación El proceso creativo de una aplicación
El proceso creativo de una aplicación
 
Haciendo que el equipo de desarrollo GeneXus sea productivo y de calidad - Fe...
Haciendo que el equipo de desarrollo GeneXus sea productivo y de calidad - Fe...Haciendo que el equipo de desarrollo GeneXus sea productivo y de calidad - Fe...
Haciendo que el equipo de desarrollo GeneXus sea productivo y de calidad - Fe...
 
Experiencias desarrollando mi primer videojuego - Techne18
Experiencias desarrollando mi primer videojuego - Techne18Experiencias desarrollando mi primer videojuego - Techne18
Experiencias desarrollando mi primer videojuego - Techne18
 
Juegos de Producción y Estadística para la Promoción de las Metodologías Ágiles
Juegos de Producción y Estadística para laPromoción de las Metodologías ÁgilesJuegos de Producción y Estadística para laPromoción de las Metodologías Ágiles
Juegos de Producción y Estadística para la Promoción de las Metodologías Ágiles
 
Intro PyGame Capitulo 1
Intro PyGame Capitulo 1Intro PyGame Capitulo 1
Intro PyGame Capitulo 1
 
Diseño de video juegos
Diseño de video juegosDiseño de video juegos
Diseño de video juegos
 
Tecnologia
TecnologiaTecnologia
Tecnologia
 
03 Introduccón a la administracion de proyectos
03 Introduccón a la administracion de proyectos03 Introduccón a la administracion de proyectos
03 Introduccón a la administracion de proyectos
 
Nerdear.la 2018 | Journey to Stability - Cómo reducimos costos y aumentamos l...
Nerdear.la 2018 | Journey to Stability - Cómo reducimos costos y aumentamos l...Nerdear.la 2018 | Journey to Stability - Cómo reducimos costos y aumentamos l...
Nerdear.la 2018 | Journey to Stability - Cómo reducimos costos y aumentamos l...
 
Diapositivas Robotica!
Diapositivas Robotica!Diapositivas Robotica!
Diapositivas Robotica!
 
Ser ágil en España, un caso real con equipos de trabajo en remoto
Ser ágil en España, un caso real con equipos de trabajo en remotoSer ágil en España, un caso real con equipos de trabajo en remoto
Ser ágil en España, un caso real con equipos de trabajo en remoto
 
Ser Ágil en España: Un caso real con equipos de trabajo en remoto
Ser Ágil en España: Un caso real con equipos de  trabajo en remotoSer Ágil en España: Un caso real con equipos de  trabajo en remoto
Ser Ágil en España: Un caso real con equipos de trabajo en remoto
 
Windows phonesessions
Windows phonesessionsWindows phonesessions
Windows phonesessions
 
Pasos para crear un videojuego power ponit
Pasos para crear un videojuego power ponitPasos para crear un videojuego power ponit
Pasos para crear un videojuego power ponit
 

More from Romén Rodríguez-Gil

Charla: Aventuras Profesionales en un Mundo Digital - ULL (2021)
Charla: Aventuras Profesionales en un Mundo Digital - ULL (2021)Charla: Aventuras Profesionales en un Mundo Digital - ULL (2021)
Charla: Aventuras Profesionales en un Mundo Digital - ULL (2021)Romén Rodríguez-Gil
 
Building a Cloud Native Platform to Provide Lab Instances at CloudBees Univer...
Building a Cloud Native Platform to Provide Lab Instances at CloudBees Univer...Building a Cloud Native Platform to Provide Lab Instances at CloudBees Univer...
Building a Cloud Native Platform to Provide Lab Instances at CloudBees Univer...Romén Rodríguez-Gil
 
Agile software development - Beyond Projects - ULL
Agile software development - Beyond Projects - ULLAgile software development - Beyond Projects - ULL
Agile software development - Beyond Projects - ULLRomén Rodríguez-Gil
 
"Everything as code" - CloudBees University
"Everything as code" - CloudBees University"Everything as code" - CloudBees University
"Everything as code" - CloudBees UniversityRomén Rodríguez-Gil
 
Dwjw2019 Lisbon - Training-as-code- applying CI & CD to training development
Dwjw2019 Lisbon - Training-as-code- applying CI & CD to training developmentDwjw2019 Lisbon - Training-as-code- applying CI & CD to training development
Dwjw2019 Lisbon - Training-as-code- applying CI & CD to training developmentRomén Rodríguez-Gil
 
Analítica web y métricas para Startups, Julio 2018
Analítica web y métricas para Startups, Julio 2018Analítica web y métricas para Startups, Julio 2018
Analítica web y métricas para Startups, Julio 2018Romén Rodríguez-Gil
 
Integracion y Entrega Continua - TLP Innova 2017
Integracion y Entrega Continua - TLP Innova 2017Integracion y Entrega Continua - TLP Innova 2017
Integracion y Entrega Continua - TLP Innova 2017Romén Rodríguez-Gil
 
Redes Sociales: Conceptos, estrategia y uso de las principales plataformas
Redes Sociales: Conceptos, estrategia y uso de las principales plataformasRedes Sociales: Conceptos, estrategia y uso de las principales plataformas
Redes Sociales: Conceptos, estrategia y uso de las principales plataformasRomén Rodríguez-Gil
 
Arquitectura WEB & Funcionalidad y Diseño web
Arquitectura WEB & Funcionalidad y Diseño webArquitectura WEB & Funcionalidad y Diseño web
Arquitectura WEB & Funcionalidad y Diseño webRomén Rodríguez-Gil
 
10+1 Lecciones Aprendidas Liderando Startups Digitales
10+1 Lecciones Aprendidas Liderando Startups Digitales10+1 Lecciones Aprendidas Liderando Startups Digitales
10+1 Lecciones Aprendidas Liderando Startups DigitalesRomén Rodríguez-Gil
 
Analítica web y métricas para startups (versión 2017)
Analítica web y métricas para startups (versión 2017)Analítica web y métricas para startups (versión 2017)
Analítica web y métricas para startups (versión 2017)Romén Rodríguez-Gil
 
Analítica web y métricas para startups (versión 2016)
Analítica web y métricas para startups (versión 2016)Analítica web y métricas para startups (versión 2016)
Analítica web y métricas para startups (versión 2016)Romén Rodríguez-Gil
 
New Economy & Startups: 3 New Realities and 2 Key Insights
New Economy & Startups: 3 New Realities and 2 Key InsightsNew Economy & Startups: 3 New Realities and 2 Key Insights
New Economy & Startups: 3 New Realities and 2 Key InsightsRomén Rodríguez-Gil
 
Taller de Métricas para Startups en TF Invierte 2015
Taller de Métricas para Startups en TF Invierte 2015Taller de Métricas para Startups en TF Invierte 2015
Taller de Métricas para Startups en TF Invierte 2015Romén Rodríguez-Gil
 
Curso LaunchTF: Customer Discovery. Taller de entrevistas con clientes
Curso LaunchTF: Customer Discovery. Taller de entrevistas con clientesCurso LaunchTF: Customer Discovery. Taller de entrevistas con clientes
Curso LaunchTF: Customer Discovery. Taller de entrevistas con clientesRomén Rodríguez-Gil
 
10+1 Valuable Lessons I learned from my Failed Startup
10+1 Valuable Lessons I learned from my Failed Startup10+1 Valuable Lessons I learned from my Failed Startup
10+1 Valuable Lessons I learned from my Failed StartupRomén Rodríguez-Gil
 
Curso LaunchTF: Lean Startup, filosofía y acción
Curso LaunchTF: Lean Startup, filosofía y acciónCurso LaunchTF: Lean Startup, filosofía y acción
Curso LaunchTF: Lean Startup, filosofía y acciónRomén Rodríguez-Gil
 
Curso UX Tenerife (No maltrates a tus usuarios) FG ULL - Día 5 - Testing auto...
Curso UX Tenerife (No maltrates a tus usuarios) FG ULL - Día 5 - Testing auto...Curso UX Tenerife (No maltrates a tus usuarios) FG ULL - Día 5 - Testing auto...
Curso UX Tenerife (No maltrates a tus usuarios) FG ULL - Día 5 - Testing auto...Romén Rodríguez-Gil
 
Curso UX Tenerife (No maltrates a tus usuarios) FG ULL - Día 5 - Claves sobre...
Curso UX Tenerife (No maltrates a tus usuarios) FG ULL - Día 5 - Claves sobre...Curso UX Tenerife (No maltrates a tus usuarios) FG ULL - Día 5 - Claves sobre...
Curso UX Tenerife (No maltrates a tus usuarios) FG ULL - Día 5 - Claves sobre...Romén Rodríguez-Gil
 

More from Romén Rodríguez-Gil (20)

Charla: Aventuras Profesionales en un Mundo Digital - ULL (2021)
Charla: Aventuras Profesionales en un Mundo Digital - ULL (2021)Charla: Aventuras Profesionales en un Mundo Digital - ULL (2021)
Charla: Aventuras Profesionales en un Mundo Digital - ULL (2021)
 
Building a Cloud Native Platform to Provide Lab Instances at CloudBees Univer...
Building a Cloud Native Platform to Provide Lab Instances at CloudBees Univer...Building a Cloud Native Platform to Provide Lab Instances at CloudBees Univer...
Building a Cloud Native Platform to Provide Lab Instances at CloudBees Univer...
 
Agile software development - Beyond Projects - ULL
Agile software development - Beyond Projects - ULLAgile software development - Beyond Projects - ULL
Agile software development - Beyond Projects - ULL
 
"Everything as code" - CloudBees University
"Everything as code" - CloudBees University"Everything as code" - CloudBees University
"Everything as code" - CloudBees University
 
Dwjw2019 Lisbon - Training-as-code- applying CI & CD to training development
Dwjw2019 Lisbon - Training-as-code- applying CI & CD to training developmentDwjw2019 Lisbon - Training-as-code- applying CI & CD to training development
Dwjw2019 Lisbon - Training-as-code- applying CI & CD to training development
 
Analítica web y métricas para Startups, Julio 2018
Analítica web y métricas para Startups, Julio 2018Analítica web y métricas para Startups, Julio 2018
Analítica web y métricas para Startups, Julio 2018
 
Introducción a Lean Startup
Introducción a Lean StartupIntroducción a Lean Startup
Introducción a Lean Startup
 
Integracion y Entrega Continua - TLP Innova 2017
Integracion y Entrega Continua - TLP Innova 2017Integracion y Entrega Continua - TLP Innova 2017
Integracion y Entrega Continua - TLP Innova 2017
 
Redes Sociales: Conceptos, estrategia y uso de las principales plataformas
Redes Sociales: Conceptos, estrategia y uso de las principales plataformasRedes Sociales: Conceptos, estrategia y uso de las principales plataformas
Redes Sociales: Conceptos, estrategia y uso de las principales plataformas
 
Arquitectura WEB & Funcionalidad y Diseño web
Arquitectura WEB & Funcionalidad y Diseño webArquitectura WEB & Funcionalidad y Diseño web
Arquitectura WEB & Funcionalidad y Diseño web
 
10+1 Lecciones Aprendidas Liderando Startups Digitales
10+1 Lecciones Aprendidas Liderando Startups Digitales10+1 Lecciones Aprendidas Liderando Startups Digitales
10+1 Lecciones Aprendidas Liderando Startups Digitales
 
Analítica web y métricas para startups (versión 2017)
Analítica web y métricas para startups (versión 2017)Analítica web y métricas para startups (versión 2017)
Analítica web y métricas para startups (versión 2017)
 
Analítica web y métricas para startups (versión 2016)
Analítica web y métricas para startups (versión 2016)Analítica web y métricas para startups (versión 2016)
Analítica web y métricas para startups (versión 2016)
 
New Economy & Startups: 3 New Realities and 2 Key Insights
New Economy & Startups: 3 New Realities and 2 Key InsightsNew Economy & Startups: 3 New Realities and 2 Key Insights
New Economy & Startups: 3 New Realities and 2 Key Insights
 
Taller de Métricas para Startups en TF Invierte 2015
Taller de Métricas para Startups en TF Invierte 2015Taller de Métricas para Startups en TF Invierte 2015
Taller de Métricas para Startups en TF Invierte 2015
 
Curso LaunchTF: Customer Discovery. Taller de entrevistas con clientes
Curso LaunchTF: Customer Discovery. Taller de entrevistas con clientesCurso LaunchTF: Customer Discovery. Taller de entrevistas con clientes
Curso LaunchTF: Customer Discovery. Taller de entrevistas con clientes
 
10+1 Valuable Lessons I learned from my Failed Startup
10+1 Valuable Lessons I learned from my Failed Startup10+1 Valuable Lessons I learned from my Failed Startup
10+1 Valuable Lessons I learned from my Failed Startup
 
Curso LaunchTF: Lean Startup, filosofía y acción
Curso LaunchTF: Lean Startup, filosofía y acciónCurso LaunchTF: Lean Startup, filosofía y acción
Curso LaunchTF: Lean Startup, filosofía y acción
 
Curso UX Tenerife (No maltrates a tus usuarios) FG ULL - Día 5 - Testing auto...
Curso UX Tenerife (No maltrates a tus usuarios) FG ULL - Día 5 - Testing auto...Curso UX Tenerife (No maltrates a tus usuarios) FG ULL - Día 5 - Testing auto...
Curso UX Tenerife (No maltrates a tus usuarios) FG ULL - Día 5 - Testing auto...
 
Curso UX Tenerife (No maltrates a tus usuarios) FG ULL - Día 5 - Claves sobre...
Curso UX Tenerife (No maltrates a tus usuarios) FG ULL - Día 5 - Claves sobre...Curso UX Tenerife (No maltrates a tus usuarios) FG ULL - Día 5 - Claves sobre...
Curso UX Tenerife (No maltrates a tus usuarios) FG ULL - Día 5 - Claves sobre...
 

Recently uploaded

DIAPOSITIVA- LOGISTICA DE LA PRODUCCIÓN[1].pptx
DIAPOSITIVA- LOGISTICA DE LA PRODUCCIÓN[1].pptxDIAPOSITIVA- LOGISTICA DE LA PRODUCCIÓN[1].pptx
DIAPOSITIVA- LOGISTICA DE LA PRODUCCIÓN[1].pptxJOSECONTRERASMAESTRE
 
Presentación plan de diseño blanco, verde y marrón y cafe.pdf
Presentación plan de diseño blanco, verde y marrón y cafe.pdfPresentación plan de diseño blanco, verde y marrón y cafe.pdf
Presentación plan de diseño blanco, verde y marrón y cafe.pdfWilchesGabriel
 
Promedio movil ponderado proyeccion de demanda.pptx
Promedio movil ponderado proyeccion de demanda.pptxPromedio movil ponderado proyeccion de demanda.pptx
Promedio movil ponderado proyeccion de demanda.pptxramon1305
 
PLAN DE RESPUESTA ANTE EMERGENCIAS DE DERRAMES Y EMISIONES
PLAN DE RESPUESTA ANTE EMERGENCIAS DE DERRAMES Y EMISIONESPLAN DE RESPUESTA ANTE EMERGENCIAS DE DERRAMES Y EMISIONES
PLAN DE RESPUESTA ANTE EMERGENCIAS DE DERRAMES Y EMISIONESMire66
 
Libros - Las 48 leyes del Poder vida.pdf
Libros - Las 48 leyes del Poder vida.pdfLibros - Las 48 leyes del Poder vida.pdf
Libros - Las 48 leyes del Poder vida.pdfomd190207
 
GESTIÓN POR PROCESOS - 09.12 y 16.12.23 - parte 2 - MILAGROS FERNANDEZ - PRES...
GESTIÓN POR PROCESOS - 09.12 y 16.12.23 - parte 2 - MILAGROS FERNANDEZ - PRES...GESTIÓN POR PROCESOS - 09.12 y 16.12.23 - parte 2 - MILAGROS FERNANDEZ - PRES...
GESTIÓN POR PROCESOS - 09.12 y 16.12.23 - parte 2 - MILAGROS FERNANDEZ - PRES...ssuser66a3da
 
Cadena de suministro de Gloria ,,,,.pptx
Cadena de suministro de Gloria ,,,,.pptxCadena de suministro de Gloria ,,,,.pptx
Cadena de suministro de Gloria ,,,,.pptxGregoryGarciaMoscol2
 
Facultad de GERENCIA DE MÁRKETING kotler
Facultad de GERENCIA DE MÁRKETING kotlerFacultad de GERENCIA DE MÁRKETING kotler
Facultad de GERENCIA DE MÁRKETING kotlerJhonahanRodrguezaval
 
CADENA LOGISTICA IMPORTACIÓN DE MATERIALES.pptx
CADENA LOGISTICA IMPORTACIÓN DE MATERIALES.pptxCADENA LOGISTICA IMPORTACIÓN DE MATERIALES.pptx
CADENA LOGISTICA IMPORTACIÓN DE MATERIALES.pptxjheymipanosolizarazu
 
Plantilla de analisis Pestel para evaluar nuestra empresa
Plantilla de analisis Pestel para evaluar nuestra empresaPlantilla de analisis Pestel para evaluar nuestra empresa
Plantilla de analisis Pestel para evaluar nuestra empresaJose Manuel Fuentes Prieto
 
PPT Reunion SEGURIDAD EMPRESAS CONTRATISTAS
PPT Reunion SEGURIDAD EMPRESAS CONTRATISTASPPT Reunion SEGURIDAD EMPRESAS CONTRATISTAS
PPT Reunion SEGURIDAD EMPRESAS CONTRATISTASfrancosr1
 

Recently uploaded (11)

DIAPOSITIVA- LOGISTICA DE LA PRODUCCIÓN[1].pptx
DIAPOSITIVA- LOGISTICA DE LA PRODUCCIÓN[1].pptxDIAPOSITIVA- LOGISTICA DE LA PRODUCCIÓN[1].pptx
DIAPOSITIVA- LOGISTICA DE LA PRODUCCIÓN[1].pptx
 
Presentación plan de diseño blanco, verde y marrón y cafe.pdf
Presentación plan de diseño blanco, verde y marrón y cafe.pdfPresentación plan de diseño blanco, verde y marrón y cafe.pdf
Presentación plan de diseño blanco, verde y marrón y cafe.pdf
 
Promedio movil ponderado proyeccion de demanda.pptx
Promedio movil ponderado proyeccion de demanda.pptxPromedio movil ponderado proyeccion de demanda.pptx
Promedio movil ponderado proyeccion de demanda.pptx
 
PLAN DE RESPUESTA ANTE EMERGENCIAS DE DERRAMES Y EMISIONES
PLAN DE RESPUESTA ANTE EMERGENCIAS DE DERRAMES Y EMISIONESPLAN DE RESPUESTA ANTE EMERGENCIAS DE DERRAMES Y EMISIONES
PLAN DE RESPUESTA ANTE EMERGENCIAS DE DERRAMES Y EMISIONES
 
Libros - Las 48 leyes del Poder vida.pdf
Libros - Las 48 leyes del Poder vida.pdfLibros - Las 48 leyes del Poder vida.pdf
Libros - Las 48 leyes del Poder vida.pdf
 
GESTIÓN POR PROCESOS - 09.12 y 16.12.23 - parte 2 - MILAGROS FERNANDEZ - PRES...
GESTIÓN POR PROCESOS - 09.12 y 16.12.23 - parte 2 - MILAGROS FERNANDEZ - PRES...GESTIÓN POR PROCESOS - 09.12 y 16.12.23 - parte 2 - MILAGROS FERNANDEZ - PRES...
GESTIÓN POR PROCESOS - 09.12 y 16.12.23 - parte 2 - MILAGROS FERNANDEZ - PRES...
 
Cadena de suministro de Gloria ,,,,.pptx
Cadena de suministro de Gloria ,,,,.pptxCadena de suministro de Gloria ,,,,.pptx
Cadena de suministro de Gloria ,,,,.pptx
 
Facultad de GERENCIA DE MÁRKETING kotler
Facultad de GERENCIA DE MÁRKETING kotlerFacultad de GERENCIA DE MÁRKETING kotler
Facultad de GERENCIA DE MÁRKETING kotler
 
CADENA LOGISTICA IMPORTACIÓN DE MATERIALES.pptx
CADENA LOGISTICA IMPORTACIÓN DE MATERIALES.pptxCADENA LOGISTICA IMPORTACIÓN DE MATERIALES.pptx
CADENA LOGISTICA IMPORTACIÓN DE MATERIALES.pptx
 
Plantilla de analisis Pestel para evaluar nuestra empresa
Plantilla de analisis Pestel para evaluar nuestra empresaPlantilla de analisis Pestel para evaluar nuestra empresa
Plantilla de analisis Pestel para evaluar nuestra empresa
 
PPT Reunion SEGURIDAD EMPRESAS CONTRATISTAS
PPT Reunion SEGURIDAD EMPRESAS CONTRATISTASPPT Reunion SEGURIDAD EMPRESAS CONTRATISTAS
PPT Reunion SEGURIDAD EMPRESAS CONTRATISTAS
 

Estimaciones fallan en desarrollo de software

  • 1. Estimaciones en desarrollo de software ...Un juego en el que todos perdemos Romén Rodríguez Gil @romenrg - www.romenrg.com 2017
  • 2. Sobre mi Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
  • 3. Sobre mis experiencias: startups, software, productos digitales... Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
  • 4. Sobre mi mayor aprendizaje: Vocabulary Notebook Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
  • 5. Estimaciones en desarrollo de software ...Un juego en el que todos perdemos Romén Rodríguez Gil @romenrg - www.romenrg.com 2017
  • 6. Contenido 1. Las estimaciones en desarrollo de software fallan dramáticamente 1.1. Estudios sobre desviaciones (en tiempo y costes) en software 1.2. Asumamos que nunca sabemos cuánto vamos a tardar desarrollando 1.3. Las graves consecuencias de las estimaciones de tiempo 2. ¿Por qué creemos necesitar las estimaciones de tiempo? 2.1. La percepción de los managers / clientes frente a la de los desarrolladores 2.2. El rol de los contratos tóxicos 2.3. La falacia de comparar proyectos 3. Alternativas con las que todos ganamos 3.1. Team velocity + Backlog para el cálculo empírico y dinámico de fechas 3.2. Contratos no-tóxicos: agile contracts 3.3. Resultados y satisfacción de los clientes Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
  • 7. 1. Las estimaciones en desarrollo fallan dramáticamente Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
  • 8. 1. Las estimaciones fallan dramáticamente ● Desde los años 90 muchos plasman una desagradable realidad ○ Harvard Business Review: ■ Why Your IT Project May Be Riskier Than You Think (resumen InfoQ) - 2011 ● Proyectos IT: sobrecoste de 400% y obtener sólo 25% de beneficios esperados ○ Chaos Reports (Standish Group) ■ Informe de 2015 (resumen InfoQ) ● > 10 000 proyectos analizados ● El 71% de los proyectos software son definidos como fracasos ○ Tiempos, costes y resultados no son los esperados Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg) 1.1 Estudios sobre desviaciones (en tiempo y costes) en software
  • 9. 1. Las estimaciones fallan dramáticamente Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg) 1.1 Estudios sobre desviaciones (en tiempo y costes) en software ...Siguiendo con el Chaos Report 2015 ¿Estamos mejorando?
  • 10. 1. Las estimaciones fallan dramáticamente ● Coding, Fast and Slow: Developers and the Psychology of Overconfidence ○ Primera experiencia de Dan Milstein ■ [...] The account manager explained, in rough form, what the client was looking for, we talked it out, and I said, “That should be about 3 weeks of work.” “Sounds good,” he said. And so I got to coding. How long do you imagine this project took? Four weeks? Maybe five? Um, actually: three months. [...] ○ Tras años intentando no volver a estar tan equivocado, Dan llega a la conclusión de que siempre está tan equivocado… y se da cuenta de que, por lo general, todos lo estamos Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg) 1.2 Asumamos que nunca sabemos cuánto vamos a tardar desarrollando
  • 11. 1. Las estimaciones fallan dramáticamente ● Crear software es complejo, abstracto y cambiante ○ Escribir software requiere entender algo a un nivel tan preciso que nos permita decir a un ordenador cómo hacerlo. ■ Ese detalle no lo tenemos al hacer una análisis inicial, ni de lejos. ■ Para analizar con ese nivel de detalle tan preciso ● acabaríamos desarrollando gran parte del software para “analizarlo” ● sería tremendamente costoso e inflexible ● y desde luego no tendría la utilidad que se pretende de “análisis” ni “estimación” ● llegado a este punto sería más lógico desarrollar el software directamente... Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg) 1.2 Asumamos que nunca sabemos cuánto vamos a tardar desarrollando
  • 12. 1. Las estimaciones fallan dramáticamente ● Crear software es complejo, abstracto y cambiante ○ Cuando analizamos requerimientos por primera vez ■ Siempre hay partes que no comprendemos del todo ■ Hay partes que el propio cliente no comprende del todo ■ No podemos conocer las tecnologías al 100% ■ Cada problema requiere tecnologías, librerías o desarrollos propios diferentes ● Y esto lo vamos descubriendo durante el desarrollo ■ Los equipos cambian, cada persona tiene habilidades y conocimientos diferentes, avanza a ritmo diferente y trabaja en equipo de forma diferente Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg) 1.2 Asumamos que nunca sabemos cuánto vamos a tardar desarrollando
  • 13. 1. Las estimaciones fallan dramáticamente ● Lo más grave: desarrolladores que se creen sus estimaciones ○ Cualquier desarrollador que haya trabajado al menos unos meses, ha vivido el caos de las estimaciones. Sin embargo, la mayoría siguen creyéndose capaces de estimar y buenos estimadores ○ ¿Por qué se siguen creyendo los desarrolladores sus estimaciones? ■ Al terminar no cuantifican el tiempo real que les ha costado ■ No comparan el tiempo real con el “estimado” inicialmente ■ Trabajan en varias cosas a la vez, con lo que se desconoce la dedicación a cada una ■ Si es evidente la desviación se echan balones fuera (problemas externos, etc…) ■ Se quieren cumplir los deseos de managers / clientes ■ Se cede a la presión de grupo por parecer rápido (o no parecer lento) Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg) 1.2 Asumamos que nunca sabemos cuánto vamos a tardar desarrollando
  • 14. 1. Las estimaciones fallan dramáticamente Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg) Jose, me dijiste que tendríamos lista la nueva versión en un mes… Quedan 4 días, ¿ya estará casi, no? Ehhh… bueno… espero poder tenerlo, como sea... 1.3 Las graves consecuencias de las estimaciones de tiempo
  • 15. 1. Las estimaciones fallan dramáticamente Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg) ¡#~@%#! ¡Que no llego! Nada, dejo de hacer tests, yo creo que lo que queda es fácil… Sólo falla en casos raros… lo subo así mismo y si hace falta ya lo corregiré… Esto es complejo de entender… pero bueno, los diagramas ya los haré en otro momento… Uhm, ¿qué nombre le poco a esta variable? Bah, “var pepe” está bien, no perdamos tiempo... 1.3 Las graves consecuencias de las estimaciones de tiempo
  • 16. Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg) … cuatro días más tarde .... 1.3 Las graves consecuencias de las estimaciones de tiempo 1. Las estimaciones fallan dramáticamente
  • 17. 1. Las estimaciones fallan dramáticamente Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg) Jose, está todo listo, ¿no? Ehhh… bueno… sí… He estado echando horas para poder tenerlo... Sólo faltan algunas cosas menores… Podemos subirlo así... 1.3 Las graves consecuencias de las estimaciones de tiempo
  • 18. Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg) … unos días después de la subida .... 1.3 Las graves consecuencias de las estimaciones de tiempo 1. Las estimaciones fallan dramáticamente
  • 19. 1. Las estimaciones fallan dramáticamente Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg) ¡Jose! ¡¿Pero qué demonios has hecho?! Hay usuarios que no pueden acceder y otros a los que se les han corrompido sus datos... Ehhh… bueno… había algunos casos raros… Pero ya es mala suerte... ...Enseguida lo arreglo... 1.3 Las graves consecuencias de las estimaciones de tiempo
  • 20. 1. Las estimaciones fallan dramáticamente Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg) 1.3 Las graves consecuencias de las estimaciones de tiempo Pufff… ¡Este código no lo entiendo ni yo mismo!… A saber en qué casos falla esto… No hay ningún test… ¿Qué demonios era la variable “pepe”? ¿Cómo era el flujo de ejecución de este código? Ojalá tuviera algún diagrama o descripción...
  • 21. 1. Las estimaciones fallan dramáticamente Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg) 1.3 Las graves consecuencias de las estimaciones de tiempo ¡A ver qué le digo a los clientes!... ¡Este tío es un inútil! Si me hubiera dicho que que era un plazo imposible hubiéramos esperado, pero con esta cagada ya hemos perdido más de 3 000 usuarios, lo que tiene un impacto económico mayor de 150 000 €...
  • 22. Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg) ...todos perdemos…. 1.3 Las graves consecuencias de las estimaciones de tiempo 1. Las estimaciones fallan dramáticamente
  • 23. 2. ¿Por qué creemos necesitar las estimaciones de tiempo? Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
  • 24. 2. ¿Por qué “necesitamos” estimaciones de tiempo? 2.1 Percepciones de Managers / clientes vs desarrolladores Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg) Yo creo que tardo un par de semanas… Digamos un mes, por si acaso.... Ok, son 160h de desarrollo, a los 35 €/h que facturamos serían 5600 €… Pongamos 6000 €. Con este proyecto podríamos tener unos 1500 € de beneficio para la empresa. ¡Presentaré la oferta! Para facturar al cliente calcularemos X horas por Y€ / hora Jose, ¿cuánto tardarías en hacer X?
  • 25. 2.1 Percepciones de Managers / clientes vs desarrolladores 2. ¿Por qué “necesitamos” estimaciones de tiempo? Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg) Oferta aceptada. ...Un mes más tarde...
  • 26. 2. ¿Por qué “necesitamos” estimaciones de tiempo? Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg) ¡Cómo que no está terminado aún! ¡Dijiste que estaría para final de mes! Se ha complicado... Estuve varios días con un bug inesperado de una librería, varios días más analizando una API externa que no estaba documentada como debería... Y además hemos tenido problemas con dependencias transitivas… Necesito al menos dos o tres semanas más... 2.1 Percepciones de Managers / clientes vs desarrolladores
  • 27. 2.1 Percepciones de Managers / clientes vs desarrolladores 2. ¿Por qué “necesitamos” estimaciones de tiempo? Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg) …Pero es que hasta que no me he puesto a desarrollar no han ido surgiendo los problemas… Son demasiadas variables a tener en cuenta como para preverlas... ¡Tenías que haberlo analizado antes de darme la estimación! ¡Ahora no solo se esfuma nuestro margen, sino que vamos a perder dinero!
  • 28. Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg) ...todos perdemos…. 2.1 Percepciones de Managers / clientes vs desarrolladores 2. ¿Por qué “necesitamos” estimaciones de tiempo?
  • 29. 2. ¿Por qué “necesitamos” estimaciones de tiempo? - Pretenden fijarlo todo - Precio - Tiempo - Alcance - Pero no sabemos qué va a ocurrir - Hay mucha incertidumbre - Cosas que no comprendemos - Cosas que el cliente aún desconoce - Complicaciones imprevistas - Tecnologías variables y desconocidas - Equipo variable y no “copiable Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg) 2.2 El rol de los contratos tóxicos
  • 30. 2. ¿Por qué “necesitamos” estimaciones de tiempo? Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg) Agente, ¿cuánto tiempo tardarán en encontrar al ladrón? Si al último lo cogieron en 2 días, para este deberían bastarles 36 horas, que ya tienen experiencia... Edison, eso que dice de crear algo que nos ilumine por la noche sin fuego ¿cuánto tardará en inventarlo? Tampoco debe ser tan complicado partiendo de una vela... Doctor, ¿cuánto queda para recuperarme de la fractura de peroné? Para el esguince de tobillo fue sólo una semana y con la fractura llevo ya 1 mes… ¡Su productividad ha bajado! 2.3 La falacia de comparar proyectos: no hay dos casos iguales
  • 31. 3. Alternativas con las que todos ganamos Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg)
  • 32. 3. Alternativas con las que todos ganamos ● Productos, no proyectos ○ Es un error ver “proyectos” software como algo con un inicio y un fin cerrados ○ Casi todo software que desarrollamos se convierte en un producto con un largo ciclo de vida ■ Sus funcionalidades evolucionan ■ Los sistemas con los que interactúa cambian ■ Se detectan errores ■ Queremos adaptarlo a nuevas tecnologías o realidades ● Confianza y colaboración ● Ciclos cortos, iterativos e incrementales Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg) Cambios de enfoque clave (importante)
  • 33. 3. Alternativas con las que todos ganamos ● Estimación indirecta ○ Team Velocity en puntos de esfuerzo ■ Práctica introducida por XP (eXtreme Programming) ■ Funcionalidades descritas como Historias de Usuario, estimadas en Puntos de Esfuerzo ■ La clave: desacoplar “tamaño”/“peso” de una funcionalidad del tiempo de desarrollo ● El margen de error es más natural, no hablamos de tiempo sino tamaño relativo ○ Product Backlog ■ Práctica introducida por Scrum ■ Tenemos una lista priorizada de las funcionalidades (historias de usuario) a desarrollar ○ Sprint ■ Periodo de desarrollo de X funcionalidades ■ Usualmente 15 días o 1 mes Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg) 3.1 Team velocity + Backlog para el cálculo empírico y dinámico de fechas
  • 34. 3. Alternativas con las que todos ganamos ● Estimación indirecta Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg) 3.1 Team velocity + Backlog para el cálculo empírico y dinámico de fechas 5 2 8 3 13 5 2 8 2 Backlog de producto estimado en puntos de esfuerzo (1 bloque = 1 funcionalidad) ... 5 8 5 5 2 3 2 3 2 8 3 3 Sprint N-3: 18 Sprint N-2: 15 Sprint N-1: 16 Empíricamente vemos que el equipo tiene una velocity de 16 puntos de esfuerzo por sprint (media del histórico) Como cada sprint son 15 días, podemos hacer estimaciones inversas con el backlog
  • 35. 3. Alternativas con las que todos ganamos ● Estimación indirecta Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg) 3.1 Team velocity + Backlog para el cálculo empírico y dinámico de fechas 5 2 8 3 13 2 8 2 Funcionalidad que queremos estimar (Fx) ... 5 2 8 3 13 2 8 Sprint N+1: 15 Sprint N+2: 16 Sprint N+3 Basados en la velocity del equipo (16 puntos / sprint), existen elementos previos en el backlog para 2 sprints completos antes de abordar el elemento elegido (Fx). Probablemente Fx estará desarrollado en 3 sprints. Es decir 45 días (15 días / sprint x 3 sprints) 5 5
  • 36. 3. Alternativas con las que todos ganamos ● Estimación indirecta (resumen) ○ Inicialmente estimamos todo el Backlog en Puntos de Esfuerzo ■ Tomando como referencia las Historias de Usuario más pequeñas o mayores ■ Mantenemos estas estimaciones consistentes ○ Sprints ■ Al planificar un sprint ● El equipo añade el número de Historias que cree ser capaz de terminar ■ Al finalizar un sprint ● Veremos cuántos puntos de esfuerzo hemos podido realizar ● En los primeros es normal que varíen los puntos de esfuerzo que realizamos ● Tras varios sprints convergerá en una cifra similar cada sprint: Team Velocity ○ Conocienciendo nuestra Team Velocity, el total de puntos de nuestro backlog y la duración de cada sprint, podremos estimar la fecha de lanzamiento Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg) 3.1 Team velocity + Backlog para el cálculo empírico y dinámico de fechas
  • 37. ● No Deadlines For You! Software Dev Without Estimates, Specs or Other Lies ○ Conclusión del artículo de Dan Milstein ■ Tras aprender que no es posible estimar en software ■ Lo importante es ayudar al cliente ● Aprender qué quiere realmente ● Ayudarle a recabar datos sobre el mercado ● Ayudarle a recabar datos sobre la efectividad de las funcionalidades ● Desarrollar funcionalidades pequeñas ○ Priorizadas por el valor que aportan al negocio ○ Al final Dan está hablando de enfoques ágiles ■ Ir a la raíz del problema, aprender constantemente, desarrollo iterativo-incremental, facturar por dedicación (2 semanas de dedicación a X...) Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg) 3. Alternativas con las que todos ganamos 3.2 Contratos no-tóxicos: agile contracts
  • 38. 3. Alternativas con las que todos ganamos Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg) 3.2 Contratos no-tóxicos: agile contracts ● ¿Existen contratos / enfoques alternativos? “Agile contracts” ○ “Esconder Agile” ■ Emplear métodos ágiles internamente y prever desviaciones dinámicamente ○ No cure, no pay ■ Sólo se cobra si se soluciona el problema ● Riesgo del proveedor para asumir inversión y controlar alcance ○ Time & Materials ■ Ej: Se cobra por hora trabajada + “suplidos” ○ Rolling contracts ■ Precio fijado por sprint ■ Producto iterativo-incremental como resultado de cada sprint ■ Renovación automática tras cada sprint ■ Money for nothing, change for free (variación propuesta por Jeff Sutherland)
  • 39. Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg) ● Enfoques ágiles mejoran la satisfacción ○ Proyectos pequeños ■ Fracasos: -60% ○ Proyectos medianos ■ Éxitos: +400% ○ Proyectos grandes ■ Éxitos: +600% 3. Alternativas con las que todos ganamos 3.3 Resultados y satisfacción de los clientes
  • 40. Estimaciones en desarrollo de software ...Un juego en el que todos perdemos Romén Rodríguez Gil @romenrg - www.romenrg.com 2017
  • 41. Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg) Why Asking Developers for Time Estimates in Software Projects Is a Terrible Idea and How to Bypass It With Scrum Leer más: http://www.romenrg.com/blog/2015/09/28/why-asking-developers-for-time-estimates -in-software-projects-is-a-terrible-idea-and-how-to-bypass-it-with-scrum/
  • 42. Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg) ...todos perdemos Centrándonos en las estimaciones de tiempo en desarrollo de software... Recuerda:
  • 43. Estimaciones en desarrollo de Software: un juego en el que todos perdemos. Romén Rodríguez Gil (@romenrg) ...todos podemos ganar Con alternativas ágiles (empíricas y dinámicas) Recuerda:
  • 44. Estimaciones en desarrollo de software ...Un juego en el que todos perdemos Romén Rodríguez Gil @romenrg - www.romenrg.com 2017