freeCodeCamp/guide/portuguese/agile/actual-time-estimation/index.md

5.6 KiB

title localeTitle
Actual Time Estimation Estimativa de tempo real

Estimativa de tempo real

Estimativa de tempo real é o processo de previsão da quantidade mais realista de esforço (expressa em termos de pessoa-horas ou dinheiro) necessária para desenvolver ou manter software com base em insumos incompletos, incertos e com ruído. As estimativas de esforço podem ser usadas como entrada para planos de projeto, planos de iteração, orçamentos, análises de investimento, processos de precificação e rodadas de licitação.

Estado de prática

Pesquisas publicadas sobre a prática de estimativas sugerem que a estimativa de especialistas é a estratégia dominante ao estimar o esforço de desenvolvimento de software.

Normalmente, as estimativas de esforço são excessivamente otimistas e existe uma forte confiança em sua precisão. A sobrecarga média de esforço parece ser de cerca de 30% e não diminui com o tempo. Para uma revisão das pesquisas de erros de estimativa de esforço, consulte. No entanto, a medição do erro de estimativa é problemática, consulte Avaliação da precisão das estimativas. O forte excesso de confiança na precisão das estimativas de esforço é ilustrado pela constatação de que, em média, se um profissional de software tem 90% de confiança ou “quase certo” de incluir o esforço real em um intervalo mínimo-máximo, a frequência observada de inclusão o esforço real é de apenas 60-70%.

Atualmente, o termo “estimativa de esforço” é usado para designar conceitos diferentes como o uso mais provável de esforço (valor modal), o esforço que corresponde a uma probabilidade de 50% de não exceder (mediana), o esforço planejado, o esforço orçado ou o esforço utilizado para propor uma proposta ou preço ao cliente. Acredita-se que isso seja lamentável, porque problemas de comunicação podem ocorrer e porque os conceitos servem a objetivos diferentes.

História

Pesquisadores e profissionais de software vêm abordando os problemas de estimativa de esforço para projetos de desenvolvimento de software desde pelo menos a década de 1960; veja, por exemplo, o trabalho de Farr e Nelson.

A maioria das pesquisas se concentrou na construção de modelos formais de estimativa de esforço de software. Os primeiros modelos eram tipicamente baseados em análise de regressão ou matematicamente derivados de teorias de outros domínios. Desde então, um grande número de abordagens de construção de modelos foi avaliado, como abordagens baseadas em raciocínio baseado em casos, árvores de classificação e regressão, simulação, redes neurais, estatística bayesiana, análise lexical de especificações de requisitos, programação genética, programação linear, produção econômica. modelos, soft computing, modelagem lógica fuzzy, bootstrapping estatístico e combinações de dois ou mais desses modelos.

Os métodos de estimativa mais comuns hoje em dia são os modelos de estimativa paramétrica COCOMO, SEER-SEM e SLIM. Eles têm sua base em pesquisas de estimativas realizadas nas décadas de 1970 e 1980 e, desde então, atualizados com novos dados de calibração, sendo o último lançamento importante o COCOMO II no ano 2000. As abordagens de estimativa baseadas em medidas de tamanho baseadas na funcionalidade, por exemplo, função pontos, também é baseado em pesquisas realizadas nas décadas de 1970 e 1980, mas são recalibradas com medidas de tamanho modificadas e diferentes abordagens de contagem, como os pontos de casos de uso ou pontos de objeto na década de 1990 e COSMIC na década de 2000.

A estimativa de tempo real é um método baseado em tempo para estimar o trabalho de desenvolvimento.

É extremamente importante poder estimar o tempo até a conclusão de um projeto Ágil, infelizmente, é também uma das partes mais difíceis do planejamento de um projeto Ágil.

Sua intenção é melhor aproximar a quantidade de tempo necessária para concluir uma determinada tarefa de desenvolvimento.

Uma técnica que você pode usar é estimar o tempo que levará para completar as histórias do usuário. Quando você estiver fazendo isso, lembre-se de consultar outros membros de sua equipe ágil. Para cada história de usuário, certifique-se de estimar um tempo que seja realista e viável, mas não tanto que o cliente seja sobrecarregado por um trabalho simples. Consulte os membros de sua equipe para que você possa aproveitar seus conhecimentos para poder entender quanto trabalho é necessário e quanto tempo levará. Quando você tem um consenso para cada história de usuário, pode somar os tempos para gerar uma estimativa de tempo.

Como os requisitos do projeto mudam com o tempo, você pode atualizar a estimativa. Se um projeto perder alguns recursos originalmente alocados para ele, talvez seja necessário cortar as histórias do usuário para poder concluí-las na mesma quantidade de tempo total. Da mesma forma, se você quiser melhorar a qualidade do aplicativo, poderá precisar alocar mais tempo para cada história de usuário para garantir que sua equipe tenha tempo de concluir o aplicativo com a qualidade desejada.

Geralmente, essas estimativas são calculadas usando horas de engenharia ideais.

Exemplos:

Esta tarefa estará completa em 10 dias.

Ou…

Esta tarefa estará concluída até 10 de janeiro.

Ou…

Essa tarefa exigirá 25 horas de desenvolvimento para conclusão.

Mais Informações: