miércoles, 4 de julio de 2012

Estimación - ¿Por que somos tan malos estimando?

¿Por que somos malos estimando?

Los principales obstaculos que afectan el logro de nuestros objetivos son generados por nosotros mismos.

Somos el principal obstaculo porque asumimos como verdades simples supuestos; y aunque asumir es una caracteristica importante de toda buena estimación no podemos tomarlos como axiomas y mas si afectan algún elemento que haga parte de la triple restricción (Alcance, Tiempo, Costo, Calidad).

 Asumir como verdades simples supuestos pueden llevarnos a dos situaciones:
Ambos extermos son igualmente malos. A continuación los ilustro a través de un ejemplo.
Realizar estimaciones poco realistas
El gerente de una compañía plantea lo siguiente al líder del proyecto el cual se esté estrenando en el cargo y quiere lucirse:

Gerente: Como parte del plan estratégico de la compañía necesitamos ofrecer un nuevo producto el cual se caracteriza por lo siguiente: x,y,z.

Lider: Déjeme reviso con el equipo y le daremos un estimado.

Mas tarde...

Lider (Piensa): Tenemos que hacer ésto en el menor tiempo posible porque normalmente los planes estratégicos no dan espera y adicional a ésto si presento un plan que les permita obtener el producto en menos tiempo voy a quedar muy bien.

Gerente (Piensa): Éste producto hace parte de un programa estratégico que se planea ejecutar en los próximos 5 años. Independiente de cuanto tarde éste no podremos aprovecharlo hasta que el resto de cosas estén listas. No me importa mucho cuanto tarde, lo que mas me interese es que sea de excelente calidad.

Tiempo después...

Lider: Señor gerente tendremos el producto listo para dentro de 1 año.

Gerente (Piensa): Ohhh si!!!. Que papayazo!!!

Gerente: !Aprobado!
Hacer gold plating de los planes
En éste caso pasa exactamente lo contrario:

Gerente (Piensa): Necesitamos ésto lo mas rápido posible porque tenemos un requisito de ley que nos obliga a ofrecer el producto y en caso de que no lo cumplamos nos van a multar.

Lider (Piensa): Debo hacer el producto lo mejor posible. ¡Algo perfecto!

6 meses después el líder no ha entregado el plan del proyecto

Gerente: Está usted despedido.

Lider. Ahh carajo!!

En éste punto estaremos de acuerdo en que uno de los mayores problemas no solo estimando sino en general es la falta de comunicación.

Adicional a lo anterior muchas veces no podemos siquiera estimar sino que nos debemos acomodar a Metas y Objetivos estratégicos. Es decir restricciones impuestas por la gerencia.

Gerente: Eso debe estar listo para dentro de tres meses.

Lider: Ahh bueno!!. Haremos nuestro mejor esfuerzo.
                                                                                                                                                                
x meses dspues...

Lider: No alcanzamos a terminar!

Y si a ésto le sumamos que con nuestros estimados damos una sensación de absuluta precisión matematica (Nos demoramos 8.6257 Dias), completamos la formula prefecta para el fracaso.

Formula para el fracaso: Asumo supuestos como premisas+Me imponen metas y objetivos+Doy una falsa sensación de exactitud+Falta de empoderamiento del equipo.
Como podrán ver en la formula aparece una nueva variable que no habiamos discutido, "Falta de empoderamiento del equipo". "Si entiendo los objetivos del proyecto y soy parte del plan entonces en ese momento la dirección logrará mi mayor compromiso con el logro de las metas, de lo contrario solo tendrán un recurso trabajando 8.5 Horas/Nalga sin ninguna motivación para hacer valer el plan".

Éstas son en mi opinión las principales razones por las que fallamos aunque podriamos mencionar otras como:
  • Falta de herramientas.
  • Desconocimiento total del dominio que estamos estimando.
  • Mal entendimiento de la necesidad
que aunque son importantes no son las causas raizales de nuestro grave problema y podrian solucionarse simplemente pidiendo apoyo al director.

Conclusiones: Las razones por las que no somos buenos estimando son las siguientes: Falta de comunicación, imposición de metas y objetivos desde la gerencia, generar una falsa sensación de exactitud en nuestros estimados, no hacer parte de la estimación al equipo, falta de herramientas, desconocimiento del dominio y mal entendimiento de la necesidad.


Estimación - ¿Como mejorar nuestras estimaciones?

¿Como mejorar nuestras estimaciones?

Ya identificamos algunas de las principales causas por las que somos tan malos estimando. Ahora, ¿como mejorar nuestras estimaciones?.
  • Diferenciar entre meta u objetivo impuesto y estimación: Por el hecho de que alguien pretenda que esté listo en una fecha determinada; si no se puede simplemente, ¡NO SE PUEDE!. Hay que dejar muy claro ante la gerencia los planes con los que tendremos un compromiso y los cuales simplemente ejecutaremos pero no sabremos si cumpliremos o no. 
  • No subestime a propósito: Asumir como cierta una suposición respecto a lo que espera la gerencia podria ocasionar que entregemos estimaciones muy poco realistas. No asumamos, comuniquemos.
  • Es mejor sobre estimar que subestimar: Cuando subestimamos y nos retrasamos en el logro de los objetivos debemos incurrir en actividades adicionales como: Reuniones mas frecuentes de estado del proyecto, reuniones con el cliente justificando los retrasos, menor productividad del equipo al trabajar horas extras y bajo presión. Si sobre estimamos podría materializarse la ley de parkinson "El trabajo se expandirá hasta alcanzar el tiempo disponible", pero ésto es facilmente controlado en seguimiento y control del proyecto.
  •  Generar confianza entre los negros y los directivos: Inicialmente las áreas directivas cortan el tiempo que estimamos porque piensan que como de constumbre aún así no les vamos a entregar a tiempo, cuando ésto pasa efectivamente no entregamos a tiempo, pero en la siguiente estimación inflamos lo que consideramnos necesario para que con el recorte que ya sebemos que vendrá tengamos el tiempo suficiente para terminar a tiempo. El problema es que aún así no entregamos a tiempo.
  •  Realizar asunciones en las estimaciones: Aunque lo peor que podemos hacer es asumir la percepción de los demás, estaría muy bien en el proceso de identificación de las actividades a realizar para alcanzar la meta, escribir las cosas que asumimos. Ésto permitirá obtener retroalimentación del negocio y de alguna manera garantizará que lo que estimé obedece a la precepción que tienen los interesados de lo que se les entregará. Asumí pero comuniqué.
  •  No generar falsas espectativas de precisión: "It´s called estimation, not exactimation". Procuremos en la medida de lo posible por no dar estimados cerrados, siempre hablemos de rangos, "Le entregaremos entre julio y septiembre", o brinde ciertos niveles de confianza en las estimaciones que dé. "Le entrego dentro de 5 meses con una probabilidad de éxito de 50% o le podré entregar entre julio y septiembre con una confianza del 90%". Con seguridad la gerencia preferirá el plan con un nivel mayor de confianza porque los proyectos en los que participamos pueden hacer parte de planes estratégicos, los cuales se componen de programes quienes a su vez contienen proyectos, el proyecto que estamos estimando probablemente afecte toda la cadena hasta afectar el plan mismo por lo tanto un nivel mayor de confianza les permitirá reorganizar sus metas y ésto es mas valioso que simplemente aceptar y no cumplir.
  • Hacer parte al equipo de los planes y las estimaciones: Como ya lo mencioné en la medida de que el equipo haga parte de los planes, mayor compromiso existirá con éste y por ende mayor probabilidad de éxito.
  • Reestimar constantemente: Normalmente las estimaciones mejoran cuando se tiene mayor cantidad información. Es por ésto que se considera una buena práctica estimar en los siguientes puntos: En la licitación, Al identificar plenamente requerimientos (Analisis), Al terminar la arquitectura y/o diseño y en varios puntos de la implementación. La razón por la que ésto debe hacerse es que en etapas tempranas existe mayor probabilidad de poder renegociar lo estimado en caso de que ésta no haya sido tan acertada. Es mejor decir "Nos equivocamos" pero podriamos hacer lo siguiente para recuperarnos, que decir al final "No pudimos!".
Referencia: 

Software Estimation: Demystifying the Black Art
bySteve McConnell

Estimación - Estimación del software

Estimación del software

La RAE define la palabra estimar como: "Apreciar, poner precio, evaluar algo"

Como podemos ver no se trata de un pronostico de lo que va a suceder, se trata mas bien de una apreciación subjetiva respecto a la magnitud de algo. Hablo de subjetividad porque el alcance de éste blog no incluye el análisis de métodos matematicos complejos que la conviertan en una ciencia (Aunque los hay), de hecho para la mayor parte de los proyectos en los que estamos involucrados, el uso de métodos matematicos y técnicas de estimación muy elaboradas no es práctico porque son demasiado costosos y el retorno de la inversión sería muy bajo.

La abordamos como un arte porque en éste alcance el éxito depende de la habilidad del talento humano involucrado, tanto de sus conocimientos técnicos, de dominio, como de las habilidades que parten de su personalidad. 

Las personas orientadas al logro (Aquellas que buscan siempre alcanzar un objetivo y que se preocupan de los indicadores que les permitan verificar el éxito de su trabajo) en mi opinión son quienes tienen mayor posoibilidad de desarollar una buena habilidad para estimar porque les interesa mejorar constantemente y miden su progreso a través del tiempo.

"Lo que no se puede medir, no se puede mejorar" y  precisamente la práctica es lo que nos va a convertir en buenos estimadores. Una habilidad se mejora con práctica y mientras mas tiempo pasemos estimando y evaluando la asertividad de nuestras estimaciones, mejor lo vamos a hacer.

Ahora, sabemos que son las personas las que lo pueden hacer, sin personas no hay estimaciones y sin estimaciones no podemos ser competitivos; pero, "El mayor problema con el talento humano es que tiene piernas y va a casa todos los dias". Lo anterior constituye un reto adicional y es ¿Como hacer que la empresa aprenda a estimar?. La respuesta a ésta pregunta es: "Recolección de datos históricos de estimación", la cual discutiremos mas adelante.

Conslusión: La asertividad en la estimación depende de la habilidad de las personas involucradas, pero el talento humano es quizá lo mas complejo de gestionar y la gestión del conocimiento se convierte en un reto importante. Las empresas deben aprender y no depender del conocimiento tácito de sus empleados.