Trabajar como freelancer es un problema constante para mí. Si me equivoco, pierdo dinero.
El problema con la estimación de la programación es precisamente el que varias personas han identificado aquí: son las incógnitas y los errores que pueden explotar y estimar en la tierra de nunca jamás.
Cada vez más, lo que uso es un enfoque doble
A. Si el problema está en un dominio conocido en el software con el que estoy totalmente familiarizado, realizo un desglose mental directo y doy una cotización. A menudo, con los clientes que solicitan un estadio de béisbol por adelantado cuando se habla del proyecto y con estos, por lo general estoy feliz de estar de acuerdo, estoy del lado de la precaución, pero esto es solo la experiencia basada en proyectos anteriores.
B. Si el problema es un dominio desconocido. En este caso, intentaré identificar cuáles son los problemas principales por adelantado y codificaré un caso de prueba en torno a ellos para "analizar" el problema. A veces, se puede persuadir al cliente de que pague por esto como un estudio de "factibilidad", pero incluso si no puede dedicar el tiempo sin pagar y el alcance del problema es más barato que citar al cliente X, entonces encontrar el tiempo necesario para resolverlo es nx. p>
Identificar qué problemas caen en A o B, e identificar cuáles son los elementos de crux en B, se debe a la experiencia, pero creo que la regla general es universalmente aplicable: siempre aísle los problemas de crux por adelantado y enfréntelos primero. Una vez que se conozcan, se pueden utilizar técnicas más convencionales con cierta confianza.