Lee "Clean Coder" de Bob Martin (y "Clean Code" mientras estás en ello). Lo siguiente es de la memoria pero fuertemente sugiero que compre su propia copia.
Lo que debe hacer es un promedio ponderado de tres puntos. Usted hace tres estimaciones para cada trabajo:
- el mejor escenario posible: suponiendo que todo salga bien (a)
- el peor de los casos: asumir que todo va mal (b)
- la suposición real: lo que crees que probablemente tomará (c)
Su estimación es entonces (a + b + 2c) / 4
- No, no será preciso. Hay mejores formas de estimar, pero este método es rápido, fácil de entender y mitiga el optimismo al hacer que consideres el peor de los casos.
- Sí, tendrá que explicarle a su gerente que no está familiarizado con el código y que es demasiado imprevisible para usted realizar estimaciones firmes y precisas sin tener que pasar mucho tiempo investigando el código cada vez para mejorar la estimación (oferta para haga esto pero diga que necesita n días solo para dar una estimación firme de cuántos días más tomará). Si usted es un "JuniorDev", esto debería ser aceptable para un gerente razonable.
- También debe explicarle a su gerente que sus estimaciones se promedian, en función del mejor de los casos, el peor de los casos y el caso probable, y proporcionarles sus cifras, que también les dan las barras de error.
- NO negocie con una estimación, si su gerente intenta usar el mejor de los casos para cada estimación (son un tonto, pero me he encontrado con algo así) y luego lo acosaré o lo motivaré para que intente cumplir con la fecha límite. Bueno, van a estar decepcionados a veces. Continúe explicando las razones detrás de las estimaciones (mejor caso, peor caso y caso probable) y continúe acercándose al promedio ponderado la mayoría de las veces y debería estar bien. Además, para sus propios fines, mantenga una hoja de cálculo de sus estimaciones y agregue sus datos reales cuando haya terminado. Eso debería darle una mejor idea de cómo ajustar sus estimaciones.
Editar:
Mis suposiciones cuando respondí esto:
- El OP es un Desarrollador Junior (basado en el nombre de usuario elegido). Por lo tanto, cualquier consejo dado no es desde la perspectiva de un Gerente de Proyecto o Líder de Equipo, de quien se espera que pueda realizar estimaciones más sofisticadas dependiendo de la madurez del entorno de desarrollo.
- El administrador del proyecto ha creado un plan de proyecto que consiste en un número bastante grande de tareas planificadas que demoran varios meses en entregarse.
- Se le pide a la OP que proporcione una cantidad de estimaciones para las tareas a las que les asigna su Administrador de Proyectos que desea un número razonablemente exacto (no una curva de probabilidad :)) para incluirlo en el plan del proyecto y utilizarlo para hacer un seguimiento del progreso .
- OP no tiene semanas para producir cada estimación y se ha quemado antes al dar estimaciones demasiado optimistas y desea un método más preciso que meter un dedo en el aire y decir "2 semanas, a menos que el código sea particularmente arcano en el que caso 2 meses o más ".
El promedio ponderado de tres puntos funciona bien en este caso. Es rápido, comprensible para lo que no es técnico y, según varias estimaciones, debería alcanzar una precisión aproximada. Especialmente si OP toma mi consejo acerca de mantener registros de estimaciones y datos reales. Cuando sepa qué aspecto tienen los "peores casos" y "los mejores casos" del mundo real, puede incluir los datos reales en sus estimaciones futuras e incluso ajustar las estimaciones para su gerente de proyectos si el caso más desfavorable es peor de lo que pensaba.
Hagamos un ejemplo trabajado:
- El mejor de los casos, desde la experiencia, lo más rápido que he hecho es realmente sencillo, fue una semana de principio a fin (5 días)
- En el peor de los casos, por experiencia, hubo un tiempo en el que hubo enlaces en todas partes y me tomó 6 semanas (30 días)
- Estimación real, probablemente me llevará 2 semanas (10 días)
5 + 30 + 2x10 = 55
55/4 = 13.75 que es lo que le dices a tu PM. Tal vez redondas hasta 14
dias. Con el tiempo, (por ejemplo, diez tareas), debería promediarse.
No tengas miedo de ajustar la fórmula. Tal vez la mitad de las tareas terminan en pesadillas y solo el diez por ciento son fáciles; así que haces la estimación a / 10 + b / 2 + 2c / 5. Aprende de tu experiencia.
Tenga en cuenta que no estoy haciendo ninguna suposición sobre la calidad del PM. Un mal primer ministro dará una breve estimación a la junta del proyecto para obtener la aprobación y luego acosará al equipo del proyecto para tratar de alcanzar el plazo poco realista que se han comprometido. La única defensa es mantener un registro para que te vean dando tus estimaciones y acercándote a ellas.