Gran pregunta He utilizado muchos procesos de estimación diferentes y no sabría cómo elegir cuál era “el mejor”. Depende mucho de la situación y de las personas involucradas. Creo que hay una serie de pautas que ayudan a mejorar la estimación.
- Averigüe si esta estimación es para el ‘siguiente paso’ o la ‘solución final’. Cuando los usuarios comerciales solicitan estimaciones, a veces no está claro si solicitan la estimación de la primera o la siguiente iteración de una solución, o si solicitan la solución completa y completa. El resultado es que a veces las empresas piensan que están obteniendo una solución completa con una estimación que es para una implementación primera o parcial. Esta es la gestión del alcance y las expectativas, y es el punto de partida para la estimación.
- Obtenga la mejor documentación de requisitos que pueda . El mejor medio (a) lo más completo posible (b) expresado sucintamente (c) usando diagramas para el UX (d) usando diagramas de flujo para la toma de decisiones complejas. Asegúrese de que coincida con el resultado del paso (1) anterior. es decir, si la estimación solicitada es para la ‘solución completa’, haga una ‘estimación completa’, etc.
- Haga un diseño temprano de alto nivel primero. Tener una vista inicial de la arquitectura y un modelo de datos aproximado. Esto ayuda con el siguiente paso. Mantenga esto funcional, no específico de ninguna tecnología.
- Divide el problema en unidades más pequeñas. Hasta qué punto seguir dividiendo es una decisión judicial. Si puede obtener unidades que tengan un tamaño de 2 a 3 semanas, eso es bastante bueno. En general, cuanto más divide, mejor, sin embargo, no desea abrumar a su equipo (o usted mismo) tratando de hacer un seguimiento de más subunidades de las que puede manejar.
- Obtenga un desarrollador o un líder técnico para estimar las unidades más pequeñas. No siempre es posible, pero inténtalo si puedes. Estás buscando 2 cosas. Primero, una estimación. En segundo lugar, complejidades o riesgos ocultos que deben gestionarse. Este segundo elemento es críticamente importante. Dile a tu equipo que los estás buscando.
- Conozca el equipo que está estimando. Diferentes equipos pasan por cargas de trabajo a tasas muy diferentes. Algunos equipos toman riesgos agresivos, otros son más conservadores. Desea saber esto para poder ajustar las estimaciones en consecuencia.
- Conozca la tecnología que está estimando. Las tecnologías maduras tienden a tener menos riesgos técnicos que las tecnologías maduras. Las nuevas tecnologías a veces pueden ofrecer formas más rápidas de hacer las cosas. Si puede perfilar el conjunto de tecnologías en uso, combinado con conocer al equipo, esto puede ayudar a mejorar la estimación.
- Verifica las proporciones. Hay algunas proporciones generales que tienden a desarrollarse en la mayoría de los proyectos de desarrollo. Por ejemplo, la prueba total y el esfuerzo de control de calidad serán aproximadamente del mismo tamaño que el esfuerzo de desarrollo. En una solución bien diseñada, la arquitectura representará entre el 10% y el 20% del esfuerzo de desarrollo. Estas son reglas generales, si sus estimaciones son diferentes, regrese y vuelva a verificar.
- Asigne tiempo para las inevitables actividades ajenas al proyecto. Por ejemplo, si calcula en días, recuerde que hay como máximo 4.5 días por semana. Debe permitir reuniones organizacionales, eventos, interrupciones, etc.
- Suponga que solo ve una fracción del total. Nunca verá el 100% del proyecto total al principio. puede expresar esto con una “medida de confianza” expresada como un porcentaje. Si se siente seguro de haber visto y estimado todos los requisitos, vaya con el 80%. Bajar de su. Si no puede dar una puntuación de más del 60%, regrese y haga más estimaciones. Esto no es lo mismo que agregar tiempo de amortiguación a su estimación. Trae a la superficie su nivel de confianza en la estimación, que en sí misma es significativa. Descubrí que con los clientes, si expresaba una medida del 70% o menos, entendían y aceptaban la necesidad de hacer más estimaciones.
- La calidad de las estimaciones es proporcional al tiempo invertido en ellas. más o menos como todo lo demás. Las “estimaciones rápidas” no son mucho mejores que una suposición. Mi experiencia ha sido que para que una estimación esté dentro del 10% del valor real final, como suelen pedir los clientes, debe gastar aproximadamente el 15% del esfuerzo total del proyecto en la estimación. Esto no es un trabajo ‘desperdiciado’ o sobrecarga: es casi completamente un análisis y planificación que de todos modos ayuda al trabajo de desarrollo.
- Averigüe para qué se utiliza la estimación. Si es para la planificación presupuestaria, y el tamaño del proyecto lo pondrá en el radar del CEO / CFO, entonces deberá dedicar mucho tiempo y esfuerzo a una estimación sólida, junto con las contingencias apropiadas. Es casi un mini proyecto en sí mismo. Si la estimación se trata más de establecer expectativas para un proyecto que va a suceder de todos modos, entonces es posible que no necesite poner el mismo nivel de esfuerzo y recursos. Si se utiliza para actuar como punto de negociación con otro proveedor / proveedor, tenga cuidado de no caer inadvertidamente en un estado de ánimo competitivo y reducir sus estimaciones sin un razonamiento sólido.
Sí, eso es todo.
- ¿Es difícil desarrollar tecnologías de hardware? ¿Se necesita un equipo altamente experimentado o se pueden desarrollar con éxito equipos con conocimientos básicos en ingeniería / software y autoaprendizaje?
- ¿Es incómodo ser ingeniero de iOS en una empresa, como Microsoft, que compite directamente con Apple?
- ¿Cuál es la tasa de éxito de la programación funcional en comparación con otras estrategias de programación?
- Cómo escribir código para un fondo de pantalla que cambia semanalmente
- ¿Hay algún crecimiento en el desarrollador de mainframe COBOL?