Estimativa de Software
Estimativa de Software
Estimativa de Software
Desenvolvedores
medem as características de seu software para entender se os requisitos são consistentes
e completos, se o design é de alta qualidade e se o código está pronto para ser lançado.
Gerentes de projeto medem atributos de processos e produtos para fazer projeções de
quando o software estará pronto para entrega e se o orçamento será excedido;
complementarmente, organizações usam medições de avaliação de processos para
selecionar fornecedores de software [Fenton and Bieman 2014].
Embora estimar seja muito mais arte do que ciência, não precisa ser conduzida
de maneira aleatória. Existem técnicas úteis para estimar custo, tempo e
esforço. As métricas de projeto e processo podem proporcionar perspectivas
históricas e valiosas informações para gerar estimativas quantitativas. A
experiência de todos os envolvidos pode ajudar imensamente à medida que as
estimativas são desenvolvidas e revisadas. Por serem a base para todas as
outras ações do planejamento de projeto, e pelo fato de o planejamento de
projeto fornecer a direção para uma engenharia de software bem-sucedida,
seria uma péssima ideia iniciar sem as estimativas. As estimativas de recursos,
custos e cronograma para um trabalho de engenharia de software requerem
experiência, acesso a boas informações históricas (métricas), e a coragem de
se comprometer com as previsões quantitativas quando tudo o que existe são
apenas informações qualitativas. A estimativa traz um risco inerente, e esse
risco leva à incerteza.
Não basta elaborar uma estimativa na fase inicial do desenvolvimento e não efetuar o
controle sobre o projeto, porque sem o controle os valores apresentados podem se tornar
incorretos.
Caso ocorram modificações no projeto que afetem o seu tamanho, a estimativa deve ser
refeita e reanalisada, novos valores devem ser utilizados para efetuar o controle do projeto.
A estimativa dos custos envolve desenvolver uma estimativa dos custos dos
recursos necessários a implementação das atividades do projeto.
Read more: http://www.linhadecodigo.com.br/artigo/102/metricas-e-estimativas-de-software-o-inicio-de-
um-rally-de-regularidade.aspx#ixzz6w1Rtsc5U
O ato de medir e estimar é a parte mais importante de um projeto de sistema bem-sucedido e alguns fatos
como: a falta de maturidade, o desinteresse das empresas de desenvolvimento de sistemas e a baixa
popularidade deste assunto entre os profissionais da área de informática são algumas da principais
causas para o insucesso e o alto custo dos sistemas de informação.
A métrica de software tem como princípios especificar as funções de coleta de dados de avaliação e
desempenho, atribuir essas responsabilidades a toda a equipe envolvida no projeto, reunir dados de
desempenho pertencentes à complementação do software, analisar os históricos dos projetos anteriores
para determinar o efeito desses fatores e utilizar esses efeitos para pesar as previsões futuras. Estes
princípios nos permite prever o resto do processo, avaliar o progresso e reduzir a complexidade, como
numa prova de rally, onde a cada corrida ficamos mais esclarecidos da condições e limites da equipe.
Read more: http://www.linhadecodigo.com.br/artigo/102/metricas-e-estimativas-de-software-o-inicio-de-
um-rally-de-regularidade.aspx#ixzz6w1QJmSM5
Com a crescente concorrência entre as empresas sob todos os aspectos, exigindo uma
constante redução de custos, melhora na qualidade dos projetos, racionalização de processos
e desenvolvimento rápido de novos produtos e serviços, assim como o aperfeiçoamento dos
recursos humanos e técnicos.
As métricas e estimativas de software têm se tornado um dos principais tópicos no Planejamento do projeto de
software, devido a crescente concorrência entre as empresas sob todos os aspectos, exigindo
uma constante redução de custos, melhora na qualidade dos projetos, racionalização de
processos e desenvolvimento rápido de novos produtos e serviços, assim como o
aperfeiçoamento dos recursos humanos e técnicos. Para algumas empresas, a estimativa de
custo do software é vital para a tomada de decisão, constituindo-se num aspecto até mesmo
de sobrevivência delas no mercado. Assim sendo, não se pode encarar tal atividade
meramente como uma sofisticação de algumas organizações, mas como um fator decisivo
para um bom planejamento e administração por parte dos elementos responsáveis pelo
gerenciamento dos projetos. A utilização de recursos computacionais e humanos consiste
nos maiores custos de uma empresa desenvolvedora de software.
Cada uma das técnicas possui características específicas. A Estimativa do Esforço baseia-se
no número de pessoas-mês que irá desenvolver determinada função, enquanto que a
Estimativa de Putnam baseia-se na equação do software, relacionando o esforço com o
tempo de desenvolvimento. O Modelo COCOMO utiliza as equações definidas por Barry
Boehm, a partir do número de linhas de código. A Análise de Pontos por Função baseia-se
na funcionalidade do projeto a ser desenvolvido, a Técnica Pontos de Particularidade é
uma extensão da Análise de Pontos por Função e o PSP é um processo de melhoria
pessoal.
Segundo Sommerville (2003, p. 437), estimativas podem ser necessárias para estabelecer um
orçamento para o projeto ou para definir um preço do software para o cliente.
Esforço /tempo
O cálculo do esforço/tempo serve como base para o orçamento do sistema de software. Normalmente é
medido em unidades que relacionam integrantes do projeto com o tempo, como, por exemplo,
homens/mês (HM) ou homens/hora (HH). Em um projeto de software esse cálculo está intimamente
ligado ao conceito de métricas, e uma das formas para mapear o tempo/esforço é a utilização de uma base
histórica de projetos, que deve conter:
Geralmente, quanto mais estivermos nas fases iniciais do desenvolvimento, mais tende-se a
estimar de forma pouco precisa. Para estimarmos o tempo de desenvolvimento, com o objetivo
de seguir com o cálculo de custo associados, podemos fazer uso de métodos como o COCOMO
(COnstructive COst MOdel). Trata-se de um modelo de estimativa do tempo de desenvolvimento de um
produto, criado por Barry Boehm.
Apesar do foco do presente trabalho estar na análise das contribuições para o gerenciamento
de custos, é importante ressaltar que a aplicação de técnicas como o método COCOMO, o
modelo de Putnam e a Análise de Pontos de Função, colaboram com o gerenciamento de
tempo e escopo em projetos de software. Realizar a análise de fatores como: tamanho da
aplicação (KLOC), recursos necessários, parâmetros e indicadores de tempo e esforço,
representa uma tarefa fundamental para que o projeto atinja os resultados esperados sem
exceder as metas previamente estabelecidas, pois é perceptível que o custo, o prazo e o
escopo do projeto, estão diretamente alinhados, e que se um deles for comprometido, os
demais serão fortemente influenciados. Dessa forma, o gerenciamento de custos representa
uma grande preocupação para as organizações e, consequentemente para os gerentes de
projetos, pois o cumprimento das especificações econômicas só será alcançado através do
controle e monitoramento de diversos fatores ligados aos elementos internos ou externos à
organização. Sendo assim, o gerenciamento de custos pode ser compreendido como uma
preocupação de alto nível (gerencial), mas é evidente que, para obter sucesso em um projeto
de software, o nível operacional exerce uma grande influência e exige a criação de planos de
contingência capazes de minimizar, controlar e evitar os riscos e incertezas do projeto. Por
meio de uma análise das diferentes atividades realizadas por profissionais de Tecnologia da
Informação no desenvolvimento de software, tais como: documentação, programação, análise,
testes, verificação e validação, é possível compreender que estas práticas devem estar
alinhadas entre si, a fim de contribuir com a evolução do produto como um todo. Entretanto, o
sucesso no projeto não será alcançado apenas com a simples realização destas etapas e com a
consolidação do produto final, pois é necessário que o projeto atinja a eficiência, eficácia e
efetividade necessárias para não ultrapassar o prazo e o custo estabelecidos pelo nível
gerencial, o que justifica a importância da aplicação de técnicas algorítmicas para a estimativa
de custo, pois através da quantificação do esforço necessário e da análise das funcionalidades
a serem implementadas, o nível de maturidade da equipe de desenvolvimento pode ser
otimizado e gerenciado através de indicadores valiosos, que devem ser utilizados para
contribuir com os processos do gerenciamento de custos do projeto.
A estimativa de software não precisa ser difícil, onerosa ou ineficiente. Pelo contrário;
feita corretamente, a estimativa pode ser absolutamente essencial para o
desenvolvimento e a entrega de projetos no momento certo. Pode ajudar as equipes a
entender melhor sobre quanto tempo, esforço e dinheiro precisarão para entregar a
solução de valor para suas organizações. Aos gerentes de projeto, Isso também pode
fornecer informações demandadas por stakeholders sobre como seus investimentos
estão sendo gerenciados.
Fonte: https://www.infoq.com/br/articles/software-estimation-important/
As métricas e estimativas de software vem se tornando um dos principais tópicos na Engenharia da Informação com a
crescente
exigência de seus consumidores pela qualidade, rapidez, comodidade e baixo custo de implantação e manutenção, é
impossível
não enxergar tais técnicas como alavanca para um produto de melhor qualidade, com custos adequados.
As métricas e estimativas de software têm se tornado um dos principais tópicos no Planejamento do projeto de
software, com a crescente exigência de seus consumidores pela qualidade, rapidez, comodidade e baixo custo de
implantação e manutenção, é impossível não enxergar tais técnicas como alavanca para um produto de melhor
qualidade, com custos adequados.
A globalização da economia eleva o nível de concorrência entre as empresas sob todos os
aspectos, exigindo uma constante redução de custos, melhora na qualidade dos projetos,
racionalização de processos e desenvolvimento rápido de novos produtos e serviços, assim
como o aperfeiçoamento dos recursos humanos e técnicos. ,
Para algumas empresas, a estimativa de custo do software é vital para a tomada de decisão,
constituindo-se num aspecto até mesmo de sobrevivência delas no mercado. Assim sendo,
não se pode encarar tal atividade meramente como uma sofisticação de algumas
organizações, mas como um fator decisivo para um bom planejamento e administração por
parte dos elementos responsáveis pelo gerenciamento dos projetos. A utilização de recursos
computacionais e humanos consiste nos maiores custos de uma empresa desenvolvedora de
software.
Entretanto, o uso de métricas apenas provê dados referentes às entidades do mundo real
envolvidas na execução dos projetos. Serão as ações tomadas, a partir do resultado
obtido que farão com que a qualidade dos produtos e o desempenho do processo
aumentem. Porém, para que uma abordagem de melhoria de processos baseada no uso
de medições obtenha êxito, a escolha das métricas, sua definição consistente, o correto
levantamento dos dados e a elaboração de um mecanismo de análise dos resultados,
devem ser devidamente estudados
Embora estimar seja muito mais arte do que ciência, não precisa ser conduzida de maneira aleatória. Existem
técnicas úteis para estimar tempo e esforço. As métricas de projeto e processo podem proporcionar perspectivas
históricas e valiosas informações para gerar estimativas quantitativas. A experiência (de todos os envolvidos)
pode ajudar imensamente à medida que as estimativas são desenvolvidas e revisadas. Por serem a base para
todas as outras ações do planejamento de projeto, e pelo fato de o planejamento de projeto fornecer a direção
para uma engenharia de software bem-sucedida, seria uma péssima ideia iniciar sem as estimativas.
Fonte
http://www.linhadecodigo.com.br/artigo/102/metricas-e-estimativas-de-software-o-inicio-de-um-rally-de-
regularidade.aspx#ixzz6w1PNSMlG
Embora estimar seja muito mais arte do que ciência, não precisa ser conduzida
de maneira aleatória. Existem técnicas úteis para estimar tempo e esforço. As
métricas de projeto e processo podem proporcionar perspectivas históricas e
valiosas informações para gerar estimativas quantitativas. A experiência de
todos os envolvidos pode ajudar imensamente à medida que as estimativas
são desenvolvidas e revisadas. Por serem a base para todas as outras ações
do planejamento de projeto, e pelo fato de o planejamento de projeto fornecer a
direção para uma engenharia de software bem-sucedida, seria uma péssima
ideia iniciar sem as estimativas.
As estimativas de recursos, custos e cronograma para um trabalho de
engenharia de software requerem experiência, acesso a boas informações
históricas (métricas), e a coragem de se comprometer com as previsões
quantitativas quando tudo o que existe são apenas informações qualitativas. A
estimativa traz um risco inerente, e esse risco leva à incerteza.
A complexidade do projeto tem um forte efeito sobre a incerteza inerente ao
planejamento.
No entanto, é uma medida relativa afetada pela familiaridade com esforços
passados.