¿Alguien usa métodos de estimación de software en su investigación de ciencias computacionales?

11

En el trabajo, esencialmente trabajo como consultor independiente. Para la administración y los clientes, necesito estimar la cantidad de tiempo que llevará desarrollar software como parte de mi investigación en ciencias computacionales. Sin embargo, mis estimaciones de tiempo generalmente están apagadas. Sé que hay métodos para estimar el tiempo que lleva desarrollar software. ¿Estos métodos me darán estimaciones precisas para las tareas de investigación? ¿Son incluso útiles en un entorno de investigación? Si no lo son, ¿existe un método mejor que "mantener registros y revisar las estimaciones en consecuencia"?

Geoff Oxberry
fuente
1
Dado que existe una diferencia de orden de magnitud entre los programadores más brillantes y no tan brillantes, la reutilización de los conjuntos de datos existentes no hará que sus estimaciones se ajusten mágicamente a la realidad. Sin embargo, lo que puede hacer es recorrer sus proyectos anteriores y recopilar datos de complejidad y ajustar un par de regresiones simples. La investigación es diferente de otros tipos de actividades en que existe un riesgo significativo de golpear una pared de ladrillos varias veces ... Construya márgenes relacionados con la relativa novedad de su proyecto y use la Ley de Murphy para corregir su propio optimismo.
Deer Hunter
44
En una carrera anterior como desarrollador de software, regularmente hacía este tipo de estimaciones para proyectos bien especificados. Si el diseño fue lo suficientemente completo y no hubo riesgos técnicos significativos, esto funcionó razonablemente bien. Sin embargo, el tipo de desarrollo de software que hago ahora es realmente más investigación que desarrollo de software: hay preguntas importantes sobre si la idea funcionará incluso, y surgen problemas inesperados todo el tiempo.
Brian Borchers

Respuestas:

1

En la mayoría de los entornos de investigación, no tiene acceso a programadores profesionales con un nivel de habilidad relativamente uniforme cuyo tiempo puede dictar. Por el contrario, tiene una mezcla de programadores experimentados (tal vez postdocs, tal vez profesores) y estudiantes de posgrado con poca experiencia en programación y ninguna experiencia con respecto a proyectos a gran escala. Además, todos estos actores tienen numerosas otras funciones (enseñanza, TA, revisión de documentos, reuniones en comités) que varían mucho a lo largo del tiempo. Como consecuencia, creo que será muy difícil tener estimaciones precisas. Ciertamente, mi experiencia es que "tomará más tiempo de lo que pensaba".

Wolfgang Bangerth
fuente
Tiene razón sobre todos estos problemas en el caso general. Tenía curiosidad porque en mi caso, a menudo soy el único que trabaja en la codificación (a lo sumo, una o dos personas también codifican en el mismo proyecto, pero generalmente en tareas no relacionadas o independientes). Además, debido a la naturaleza de consultor de mi trabajo, sé con gran confianza cuánto tiempo puedo dedicar a un proyecto dado semanalmente, lo que reduce bastante la incertidumbre.
Geoff Oxberry