Errar es humano, rectificar es de sabios
Hay que aprender de los errores para no repetirlos. Esta es una frase que me permito rescatar para apoyar el concepto: “Mejores prácticas de estimación de esfuerzo”. La estimación de esfuerzo del software viene dada por “patrones” y “antipatrones” que se reúnen en recomendaciones alineadas a elementos básicos del proceso de estimación.
Los elementos son:
- Entradas = datos objetivos de estimación y datos cuantitativos de proyectos terminados.
- Contexto = características del medio (facilita o dificulta la estimación).
- Recursos = personas que participan en estimación.
- Estimación = métodos y procedimientos usados para estimar.
- Salidas = productos de estimación.
- Uso de resultados = forma en que se emplea salidas de estimación.
Verifiquemos los seis elementos que brindan el soporte necesario para llegar a las “Mejores prácticas de estimación de esfuerzo”:
Elemento 1.- Asegurar entradas apropiadas.- Considerar que los propósitos y objetivos podrían variar; las entradas deben apoyar la toma de decisiones a partir de ofertas y negociaciones. ¿Qué hacer para asegurar entradas apropiadas?
- Definir la finalidad y objetivos:Si no se sabe hacia donde vamos, podríamos terminar en cualquier lugar.
- Identificar las actividades a estimar: Generalmente se subestima o se omiten las actividades del proyecto lo cual ocasiona represamiento o acumulación en actividades como la documentación.
- Estructurar las actividades de trabajo antes de la estimación: cuando estas se encuentran correctamente estructuradas evitan problemas como malos entendidos, redundancia, entre otras. Interviene la estructura de desgloce del trabajo (EDT) como un método para estructurar sistemáticamente las actividades del proyecto.
- Aplicar sus propios datos y experiencias: para esto toda experiencia pasada es válida, siempre y cuando dicha experiencia se hizo en un entorno similar.
- Combinar la experiencia con los datos cuantitativos:Mesclar “un conocimiento sólido del entorno de desarrollo de software” y las “características del proyecto a medida”.
- Garantizar la calidad adecuada de los datos del proyecto:Seleccionar certeramente los métodos para determinar el tamaño y la medición del software esfuerzo. Caso contrario se pueden presentar dificultades.
- Garantizar la cantidad apropiada de datos de proyecto: La cantidad de datos usada para estimar hace la diferencia. Lo importante es la calidad de conocimientos útiles para estimar a extraer de los datos. El exceso de datos o muy pocos datos no aportan en garantizar la calidad.
- Evitar información irrelevante y engañosa:De la cantidad apropiada de datos hay que seleccionar únicamente la “información sin ruido”. Dejar de lado información irrelevante y engañosa que puede venir con los datos o la experiencia. Información como: expectativas de costos del cliente, especificación tamaño del software y redacción del trabajo, presión del horario, perspectiva de oportunidades futuras.
Elemento 2.- Asegurar recursos adecuados.- Es importante considera que la estimación gira entorno a personas que lo realizan. Asegurar que este recurso es el adecuado hace la diferencia.
- Estimador imparcial, es decir, no debe tener intereses personales en los resultados de la estimación.
- Sin estimadores tren, es decir, los estimadores deben formarse en estimación de esfuerzo del software en la selección y el uso de métodos de estimación adecuados. No una persona acarreada a esta actividad.
- Motivar al estimador, Para esto se combina con sus responsabilidades, el estimador es responsable de la medición y control del proceso cuantitativo o puede ser responsable de la gestión de la cartera de proyectos, es decir, el estimador debe garantizar las características del proyecto que son relevantes para la estimación a su vez los métodos, los recursos y los productos deben ser cuantificables.
- Involucrar a las personas de similares entornos: incluir en el equipo de trabajo a personas que vienen de experiencias de algo igual o similar a lo que se va a estimar.
- Agregar un estimador independiente: Esto para evitar sesgos de la estimación.
Elemento 3.- Uso adecuado de los modelos y métodos de estimación.- Para decidir el enfoque de estimación apropiada debemos contestar estas preguntas: ¿Qué estrategia de estimación debemos utilizar?, ¿Qué método de estimación es el mejor en nuestra situación?.
- Usar un enfoque sistemático y estructurado que va a reducir el error de la estimación. Estos métodos de estimación se ajustan a sus necesidades y capacidades.
- Seleccionar un método: buscar el método que es más probable que funcione bien para nosotros según nuestras capacidades y limitaciones.
- Empezar poco a poco: Entrar en la estimación iterativamente.
- Analizar las estimaciones, aprender y mejorar continuamente, la estimación de esfuerzo exitosa no se limita al método de estimación de esfuerzo, se necesita identificar las causas de las deficiencias y mejorar continuamente. Es una inversión inicial y la mejora continua.
- Uso causal de los métodos naipe: Esto es por ejemplo, apoyar el análisis de riesgos de los proyectos relacionados con el esfuerzo. Claro está que combinar estimaciones alternativas múltiples no deja de ser una buena opción.
- Tener varias estimaciones: nos da la oportunidad de evaluar mejor la estimación de la incertidumbre y los riesgos asociados del proyecto. Hay que usar al menos dos métodos de estimación.
- Estimaciones iniciales:Hay que considerar que el inicio de un proyecto no conlleva la información necesaria, para permitir planificar el proyecto por lo que se realizan suposiciones sobre el trabajo y el entorno del proyecto.
- Esperar un cambio y tenerlo en cuenta al estimar:Pueden presentarse diversas situaciones como gente enferma o gente que sale de la organización, problemas técnicos, entre otras tantas. Por lo tanto la estimación de esfuerzo debe siempre considerar el cambio.
- Incluir análisis de riesgos: se debe estimar el esfuerzo nominal, identificar los riesgos y su impacto esperado en el esfuerzo de desarrollo, agregar el impacto esperado de cada uno de los riesgos identificados en el uso de esfuerzo.
- Herramientas apropiadas: esto va a mejorar la eficacia y eficiencia de la estimación. Las herramientas deberían apoyar la recolección, almacenamiento y mantenimiento de la información.
Elemento 4.- Uso adecuado de los resultados de estimación.- Es importante considerar las siguientes pautas para usar de mejor manera los resultados de la estimación: el equipo debe:
- Interpretar resultados de estimación con la gestión del tiempo del proyecto, por ejemplo suponer que lo desarrolladores pasarán el 100% en trabajo productivo es un error;
- Considerar el contexto de estimación.- Sin contexto los resultados de la estimación son difíciles de interpretar correctamente; esto va a evitar el uso de estimaciones para señalar con el dedo, la estimación no está para evaluar luego al equipo de trabajo.
- Evitar estimaciones compromiso: Estimar no es predecir el futuro. La incertidumbre es inherente a la estimación, durante un proyecto las cosas pueden cambiar. Las estimaciones de esfuerzo útiles se deben asociar con información sobre su incertidumbre.
- Evitar las estimaciones relleno.-Agregar esfuerzo adicional solo para estar en el lado seguro. Esto puede socavar la confianza, socavar a otros proyectos y socavar la oportunidad de aprender.
- Distinguir el esfuerzo de tiempo y duración.- Planificar el esfuerzo necesario para completar el trabajo. El esfuerzo es la mano de obra que se necesita para hacer el trabajo, el tiempo productivo es el tiempo que se necesita para hacer el trabajo bajo el supuesto de una dedicación del 100%; el tiempo total es la suma de los tiempos productivos y no productivos para completar el trabajo. La duración se refiere al tiempo calendario dedicado para completar el trabajo.
Elemento 5.- Asegurar un entorno apropiado de estimación.- Prácticas a considerar con respecto a influencias externas:
- Evitar exceso de optimismo: Un cuidadoso enfoque que elimina el sesgo por la reducción de efecto de juicios individuales.
- Evitar estimaciones de expectativas impulsadas: Esto se relaciona con el exceso de optimismo y falta de realismo en la estimación de las personas que tienen influencia sobre los estimadores como: los propietarios del proyecto, marketing de la empresa o los clientes, presión política entre otras tantas.
Elemento 6.- Usar métodos y modelos simples.-Los métodos de estimación simple funcionan tan efectivamente como los complejos.
- Evitar la construcción de un modelo universal para un gran contexto que abarca una amplia variedad de dominios, tecnologías y paradigmas de desarrollo.
- Considerar los modelos pequeños y comprensibles para los contextos limitados.
Resumen
En resumen para realizar una buena práctica de estimación en lo que corresponde a datos de entrada será necesario: 1) explícitamente enumerar y evaluar la relevancia de la información para la estimación. 2) Metas claras definen el propósito de la estimación. Todas las personas involucradas en la estimación deben entender la diferencia entre estimación, objetivo y la oferta.
En términos generales las mejores prácticas de estimación van de la mano de un raciocinio del estimador o del equipo siempre es importante verificar paso a paso lo que se ha mencionado anteriormente.
Video
Referencia:
Galliers, R. D., & Leidner, D. E. (Eds.). (2014). Strategic information management