Ângela Oliveira // quarta-feira, 23/06/2010 13:29
Rotineiramente quando falamos em testes de software com um gestor de projeto ou um administrador, os mesmos alegam que, por uma questão de custos, o teste é deixado de lado. Ledo engano. Ao agir assim, a etapa de desenvolvimento é sempre aumentada e o analista não consegue se focar em outro trabalho, já que consome seu tempo resolvendo problemas, estendendo a duração de dedicação ao projeto. Como consequência, os reflexos não são nada animadores, tais como os custos que aumentam, e os prazos que não são cumpridos.
No entanto, todas essas ocorrências podem ser resolvidas de uma forma rápida e obter redução de custos. Os problemas de um projeto iniciam no levantamento de requisitos, se arrastam e aumentam na fase de análise, acontecendo o mesmo na fase de desenvolvimento.
Se, desde o levantamento de requisitos, um analista de testes estiver envolvido, as dúvidas, erros e atos falhos serão sanados ainda neste período, ou seja, são eliminados logo no princípio. O mesmo se aplica ao estágio de análise, ficando sob responsabilidade do desenvolvedor apenas a tarefa de praticar/codificar. Dessa forma, os erros que serão detectados no final do projeto serão técnicos e de simples resolução.
Mas e os efeitos dessa constatação na prática? Bom, esses falam por si só, marcados por atualizações constantes em sua técnica e manutenção. Os números registrados após a experiência no acompanhamento de projeto com testes durante todas as etapas demonstrou Retorno sobre Investimento de aproximadamente 150%.
Nas primeiras fases, onde não é habitual se aplicar testes, o Retorno sobre Investimento é negativo, pois os requisitos devem ser melhor definidos e a Análise de Sistemas, mais detalhada. Porém, a fase de codificação é extremamente reduzida, já que ao programador cabe apenas a função de codificar, não provocar suposições e investigar.
Por fim, as experiências do produto finalizado garantem que a fase de correção de erros em produção não existirá. Portanto, aplicar testes apenas no final de um projeto é válido e garante que o cliente receberá um produto livre de surpresas negativas mas, exercê-los desde a concepção de um sistema garante, com convicção, redução de custos e total cumprimento do cronograma.
* Ângela Oliveira é sócia e diretora técnica da TestCenter.
postado em: ter, 28/06/2011 - 10:11
Sei que cada projeto é específico e único, mas tenho acompanhado e recebido diversos planejamentos de software onde o quantitativo de horas e também o valor dos testes sem sido "aparentemente" muito elevado. Gostaria de saber se tem alguma métrica para se aplicar ou pelo identificar que um projeto esta superestimado ou subestimado quanto ao quantitativo de horas e , consequentemente dos custos, para testes. Já ouvi falar que pelo RUP os testes correspondem de 30% a 50% do valor do projeto.
Desde já agradeço pela atenção.
postado em: seg, 26/07/2010 - 09:59
postado em: seg, 28/06/2010 - 17:02
O artigo parece levar em conta apenas o antigo modelo waterfall, considerando o teste como uma etapa final do processo. Nesse formato acredito que os benefícios são bastante limitados, tente adotar um modelo mais ágil como Scrum em conjunto com TDD e terá uma redução de custos muito superior.
postado em: qua, 30/06/2010 - 14:15
Justamente o modelo utilizado foi o "W", onde são aplicados testes durante todo o ciclo do projeto, desde o levantamento de requisitos. Com esse modelo, buscamos minimizar os erros no início, ao invés de prolongá-los durante todo o projeto e, os custos são reduzidos nas etapas finais, pois, a documentação já está bem mais clara.
postado em: qui, 24/06/2010 - 21:37
Concordo com a Ângela, todo profissional da área de engenharia de software, que se encontra atualizado na área sabe que o teste do software é a mitigação do mesmo a fim de fornecer informações sobre sua qualidade em relação ao contexto em que ele deve operar. Isso inclui o processo de utilizar o produto para encontrar seus defeitos, o teste é um processo realizado pelo analista de testes e/ou testador de software, e que envolve ações que vão do levantamento de requisitos até a execução do teste propriamente dito.
Um desenvolvimento de software organizado tem como premissa uma metodologia de trabalho, esta deve ter como base conceitos que visem a construção de um produto de software de forma eficaz. Dentro desta metodologia estão definidos os passos necessários para chegar ao produto final esperado.
A principal vantagem do teste de software para a empresa é a garantia da qualidade dos produtos, afinal, não basta ter um produto no mercado, é necessário ter um produto com qualidade, o que torna-o confiável e muito mais competitivo. Além disso, quando mais tarde o defeito for encontrado, mais caro ele será, o que resulta na famosa curva "Regra 10 Myers". Com isso, ambos (empresa e cliente) saem ganhando, pois o custo do projeto acaba sendo menor.
Fica a dica para gestores de desenvolvimento, gerentes de projetos, diretores de empresas, quanto mais investirem em qualidade do seu produto, maior será o retorno financeiro.
Um abraço,
Cassio Almeida.
Líder de Testes - TOOLS (Totvs Financial Service)
postado em: qui, 24/06/2010 - 13:55
Acredito que para um gestor de projetos ou adminstrador não aprovar uma determinada demanda de testes é por que a proposta apresentada não está bem descrita ou existe alguma falha de comunicação entre as partes interessadas.
Com relação aos reflexos não animadores como custos que aumentam e prazos que não são cumprimos, este problema está no Planejamento do projeto e não pelo objetivo de reduzir custos.
Como o bom e velho PMBOOK descreve: Quanto mais cedo descobrimos os problemas, mais barato será a sua correção.
Um dia eu quero compreender como se calcula o ROI para testes, sabendo que hoje em dia o preço da qualidade já está embutida no produto, Afinal todos querem entregar um produto 100%.
postado em: qui, 24/06/2010 - 12:06
Interessante! Uma das poucas vezes que eu vejo o Teste de Software ser entendido como algo positivo em termos financeiros.
Pelo tempo que atuo na área, acredito que o ROI possa ser até maior do que esse em alguns casos. Espero que em um futuro próximo as empresas se conscientizem que os grandes problemas não estão nas mãos dos programadores mas sim, nas analises incompletas.
postado em: qui, 24/06/2010 - 11:14
Realmente interessante, até porque, quando não utilizamos testes em ambientes distintos ao do desenvolvimento o custo com o desenvolvedor se eleva muito, com relação ao valor hora/pessoa. É muito mais barato testar desde os requisitos e diminuir assim a etapa de desenvolvimento do que deixar o desenvolvedor arrumar todos os erros decorrentes de um processo de levantamento falho.
Como na engenharia civil, gastar mais tempo projetando que executando, diminui os riscos e erros do projeto, reduzindo tambem os custos.
Parabens a equipe do baguete.com.br e a Sr. Angela Oliveira pelo Artigo.
postado em: qui, 24/06/2010 - 10:25
Realmente 150% de ROI é bem impressionante... carece fontes.
Creio que um ponto bem importante a ser considerado quando fala-se em teste de software seja a qualidade. Deve ficar claro qual é o objetivo do teste: melhorar a qualidade do produto ou reduzir custos do projeto?
O objetivo principal deve ser a qualidade do produto. O retorno sobre o investimento não vem somente na forma de redução de custos, mas também por meio de outras variáveis, como satisfação do cliente, redução de riscos potenciais, confiança, entre outras.
Deve-se ter muito cuidado na hora de "vender" o teste de software, pois teste tem custo sim, e esse custo não é pequeno. Investindo em teste, o gerente não vai entregar seu produto antes, mas sim, vai entregá-lo melhor.
postado em: seg, 05/07/2010 - 09:05
Naturalmente o principal foco do teste é a garantia da qualidade, que leva á satisfação do cliente, redução de riscos, etc. Porém, quando testamos desde o início do projeto, podemos garantir que há uma redução de custos também, tendo em vista que o processo fica mais "limpo" e as inconsistências são sanadas no início, reduzindo o tempo, consequentemente, reduzindo o custo.
postado em: qua, 23/06/2010 - 18:40
No artigo não consta o período de acompanhamento do projeto com testes. Quanto tempo levou para obter um retorno do investimento de 150%?? Esse percentual foi baseado em que mais especificamente?? Quais tipos de testes que foram aplicados?? Qual foi a estratégia de teste definida?? Não está muito claro...
postado em: qui, 24/06/2010 - 19:39
Este estudo de cálculo do ROI foi feito para um projeto de 1.400 horas.
A empresa, de desenvolvimento de software, não costumava realizar testes, mas, possuia uma importante base histórica dos seus projetos e também, trabalhava com um cronograma interno muito acertivo, o que possibilitou o cálculo. Realizamos testes estáticos (de documentação) e, testes funcionais.
Comparamos o orçado com o realizado e valorizamos(hora/homem), por fase, para chegar ao ROI.
O interessante foi que nas primeiras fases (levantamento de requisitos e análise) o ROI foi negativo, mas, nas últimas fases (codificação e correçao de erros) ele se torna muito positivo, pois, os problemas não se propagaram ao longo do projeto. No geral, apresenta-se positivo.
postado em: qua, 30/06/2010 - 12:36
Para mim, continua "chovendo no molhado"! Só aplicando o modelo "V" num método waterfall não reduz tanto o custo, uma vez que se o teu processo de desenvolvimento contempla testes, já estaria implícito o custo dos testes no projeto. Na minha visão, haveria uma maior redução se tivesse teste automatizado, o que faria mais sentido o cálculo do ROI. Acho que a métrica para justificar a existência de teste não seria essa, mas sim a redução de não conformidades após a entrega e isso está diretamente relacionado à produtividade e à satistfação do cliente. No final do projeto, qual foi o ganho real da realização dos testes? Qual foi o diferencial disso?
postado em: qua, 30/06/2010 - 14:08
A metodologia utilizada neste projeto foi o modelo em “W”, que é a existência dos testes durante todo o ciclo, desde o levantamento de requisitos.
O ganho que esse projeto apresenta, ou, o Retorno de Investimento que calculamos é justamente a redução do tempo do projeto pela inclusão de testes “desde o início do projeto”. A qualidade do produto e a satisfação do cliente está implícita, pela ausência de erros em produção.
Para projetos de curta duração não utilizamos a automação, pois, não justificaria o custo.
postado em: qui, 01/07/2010 - 13:05
Se foi constatado 150% de redução do custo do projeto com teste, qual seria o tempo levaria para a empresa obter o retorno do investimento em teste? Não adianta ter uma percentual elevado, se levará 10 anos para ter esse retorno.