Como programador debes ser capaz de proporcionar estimaciones a tus directivos, colegas y usuarios de las tareas que necesitas realizar, así ellos tendrán una idea razonablemente precisa del tiempo, costo, tecnología y otros recursos necesarios para lograr sus objetivos.
Para poder estimar bien es obvia la importancia aprender algunas técnicas de estimación. En primer lugar, sin embargo, es fundamental aprender qué son las estimaciones y para qué deberían ser usadas –por extraño que parezca, muchos desarrolladores y administradores no conocen esto–.
El siguiente diálogo entre un administrador de proyectos y un programador es nada atípico:
Al programador, al final, se le ocurre un “estimado” que concuerda con lo que es aceptable para el administrador. Pero, ya que es una estimación del programador, el gerente lo hará responsable de ello. Para entender qué está mal en esta conversación necesitamos tres definiciones: estimado, fin y compromiso.
Los estimados, fines y compromisos son independientes uno del otro, pero los blancos y cometidos deberían estar basados en estimados. Como Steve McConnell señala: “El propósito principal de la estimación de software no es predecir el futuro del proyecto, sino determinar si los fines son lo suficientemente realistas para que pueda ser controlado hasta lograrlo”. Por lo tanto, el propósito de una estimación es hacer una administración de proyecto adecuada y una planificación posible, permitiendo que los interesados hagan compromisos basados en fines realistas.
Lo que estaba pidiendo el administrador en la conversación anterior al programador era hacer un compromiso basado en un fin no declarado que el administrador tenía en mente, no dar un estimado. La próxima vez que te pidan proporcionar un estimado asegúrate que todos los involucrados sepan de lo que están hablando, y tus proyectos tendrán una mejor oportunidad de éxito. Ahora es el momento de aprender algunas técnicas…
Traducción: Espartaco Palma