Hola,
La estimación del esfuerzo juega un papel importante en el desarrollo de software. Una buena estimación puede conducir a un mejor software y una mala puede empeorarlo lo suficiente. Existen muchos desafíos en muchos aspectos para la estimación del desarrollo de software. A continuación se presentan algunos de los desafíos importantes que enfrentan las empresas de pruebas de software:
Problemas abiertos en la estimación del esfuerzo de desarrollo de software:
- ¿El algoritmo básico y la estructura de datos son tan importantes que cada empresa debe examinar a su candidato probándolo?
- ¿Cómo se vería el algoritmo para la combinación óptima de 3 valores en Python?
- ¿Cuál fue tu '¡Ajá!' momento con el aprendizaje automático / ciencia de datos?
- Cómo mantener limpio su sistema host en todos los proyectos
- ¿Qué es la prueba de caja negra?
- El área ambigua : uno de los principales problemas es la ambigüedad involucrada al comienzo del proyecto de software. Hay momentos en que incluso el cliente no está claro ni confía en los requisitos exactos. Los requisitos son las necesidades básicas para el desarrollo de un buen producto y si no se conocen las necesidades / requisitos completos, ¿no es posible estimarlo en términos de esfuerzo y tiempo?
- Estimación perfeccionista y segura: la mayoría de las veces, la estimación se proporciona para tener en cuenta las condiciones idealistas o se puede decir que todo será sencillo pero que el mantenimiento, la disponibilidad de recursos y las solicitudes de cambios durante el proyecto, etc. no considerado en la estimación del proyecto que conduce a una estimación extendida
- Las personas equivocadas hacen las estimaciones : a veces, el desarrollador no realiza la estimación, lo que puede provocar una gran falta de coincidencia en la estimación.
- Buffer y dependencias: uno de los mayores desafíos es la cantidad de Buffer que se debe tomar durante la estimación de un proyecto.
Métodos practicados en empresas con el propósito de estimar el esfuerzo:
Hoy en día, las compañías de pruebas de software siguen tantos enfoques para superar los desafíos que se encuentran durante la estimación del esfuerzo del software.
- Estructura de desglose del proyecto: se proporciona la mejor estimación cuando las tomas más grandes se dividen en pequeñas y luego se calcula el esfuerzo.
- Análisis de punto de función / punto de prueba : en este enfoque se pesa cada punto / área funcional y se le da algún punto a ese punto. Y luego la estimación se da agregando todos los puntos y se estima el tiempo para completar esa tarea.
- Estimación de 3 puntos: en la estimación de tres puntos, inicialmente se producen 3 valores para cada tarea en función de la experiencia previa o las mejores conjeturas de la siguiente manera:
- Mejor caso
- Estimación más probable
- Peor de los casos
- Distribución porcentual: en este enfoque, se da un porcentaje a cada área funcional y, en función de esa estimación, se proporciona para esa área en particular.
¿En qué se diferencia la estimación ágil de otros enfoques de estimación tradicionales?
Como el método Ágil desglosa el proyecto en porciones más pequeñas / Sprints y esto le permite a la persona proporcionar las estimaciones con mayor precisión, ya que no es necesario que proporcionen la estimación del esfuerzo para todo un Proyecto. En Agile, el punto y la complejidad de la historia ya están definidos para cada historia, lo que facilita mucho el proceso de estimación. Además, una de las mayores ventajas es que los métodos de estimación ágiles no exigen la existencia de información histórica.
Gracias,
Sumit