Alguém usa métodos de estimativa de software em suas pesquisas em ciências computacionais?

11

No trabalho, eu essencialmente trabalho como consultor independente. Para a gerência e os clientes, preciso estimar quanto tempo levará para desenvolver o software como parte de minha pesquisa em ciências computacionais. No entanto, minhas estimativas de tempo geralmente estão desativadas. Eu sei que existem métodos para estimar o tempo necessário para desenvolver software. Esses métodos fornecerão estimativas precisas para as tarefas de pesquisa? Eles são úteis em um ambiente de pesquisa? Se não estiverem, existe um método melhor do que "manter registros e revisar estimativas em conformidade"?

Geoff Oxberry
fonte
1
Dado que existe uma diferença de ordem de magnitude entre os programadores mais brilhantes e os não tão brilhantes, a reutilização dos conjuntos de dados existentes não fará com que suas estimativas se ajustem magicamente à realidade. O que você pode fazer, no entanto, é percorrer seus projetos anteriores, coletar dados de complexidade e ajustar algumas regressões simples. A pesquisa é diferente de outros tipos de atividades, pois há um risco significativo de bater em uma parede de tijolos algumas vezes ... Crie margens relacionadas à novidade relativa do seu projeto e use a Lei de Murphy para corrigir seu próprio otimismo.
Deer Hunter
4
Em uma carreira anterior como desenvolvedor de software, fiz regularmente esse tipo de estimativa para projetos bem especificados. Se o projeto estava completo o suficiente e não havia riscos técnicos significativos, isso funcionou razoavelmente bem. No entanto, o tipo de desenvolvimento de software que faço agora é realmente mais pesquisa do que desenvolvimento de software - há questões significativas sobre se a ideia vai funcionar e problemas inesperados surgem o tempo todo.
22413 Brian Borchers

Respostas:

1

Na maioria das configurações de pesquisa, você não tem acesso a programadores profissionais com nível de habilidade relativamente uniforme, cujo tempo você pode ditar. Em vez disso, você tem uma mistura de programadores experientes (talvez pós-doutorados, talvez professores) e alunos de graduação com pouca experiência em programação e nenhuma experiência em projetos de larga escala. Além disso, todos esses atores têm inúmeras outras funções (ensino, avaliação, revisão de trabalhos, participação em comitês) que variam muito ao longo do tempo. Como conseqüência, acho que será muito difícil ter estimativas precisas. Certamente, minha experiência é que "vai demorar mais do que eu pensava".

Wolfgang Bangerth
fonte
Você está certo sobre todos esses problemas no caso geral. Fiquei curioso porque, no meu caso, muitas vezes sou o único trabalhando em codificação (no máximo, uma ou duas outras pessoas também codificam no mesmo projeto, mas geralmente em tarefas independentes ou não relacionadas). Além disso, devido à natureza de consultor do meu trabalho, sei com confiança quanto tempo posso dedicar a um determinado projeto semanalmente, o que reduz um pouco a incerteza.
Geoff Oxberry