De acordo com Pressman e Maxim (2016, p. 703), métricas de processo e de
projeto de software são medidas quantitativas que permitem aos
engenheiros de software vislumbrar a eficácia tanto do processo quanto
dos projetos que são conduzidos usando este processo como framework.
As medições permitem que julgamentos deixem de ser subjetivos e
tendências possam ser detectadas de forma que estimativas possam ser
feitas e aperfeiçoamentos buscados.
Métricas: busca pelo aperfeiçoamento
Fonte: G7 Stock/Shutterstock
As métricas de processo têm finalidade estratégica e objetivam
fornecer um conjunto de indicadores de processo visando o seu
aperfeiçoamento no longo prazo. As métricas de projeto têm finalidade
tática e permitem ao gerente de projeto avaliar o estado de um projeto
em desenvolvimento, acompanhar riscos em potencial, descobrir setores
que apresentam problemas antes que se tornem críticos, ajustar o fluxo
de trabalho e ainda avaliar a capacidade da equipe para controlar a
qualidade do produto e dos artefatos de software.
As medidas que são coletadas com base em dados de qualidade e
produtividade são convertidas em métricas e analisadas e comparadas com
métricas anteriores. Essas métricas podem ser usadas durante o projeto
para detectar problemas ocorridos no desenvolvimento e serem
transmitidas para quem tem responsabilidade sobre o aperfeiçoamento do
processo de software. Desta forma, muitas métricas são usadas tanto no
domínio do processo quanto do projeto.
Ainda de acordo com Pressman e Maxim, o processo situa-se no centro
de um triângulo (conforme ilustra a figura) que liga três fatores que
influenciam significativamente tanto a qualidade de software quanto o
desempenho da organização:
- Pessoas: a capacidade e a motivação das pessoas reúnem os fatores individuais que mais influenciam a qualidade e o desempenho.
- Produto: a complexidade do produto pode ter um forte impacto sobre a qualidade e o desempenho das pessoas que formam a equipe.
- Tecnologia: os métodos e as ferramentas de engenharia de software são fundamentais, pois impactam o processo.
Além destes fatores, o triângulo do processo encontra-se dentro de um
círculo que inclui o ambiente de desenvolvimento (exemplo: ferramentas
CASE), condições de negócios (exemplo: prazos e regras de negócio) e
características do cliente (exemplo: facilidade de comunicação).
Triângulo de fatores que impactam o processo
Fonte: Pressman; Maxim (2016, p. 705).
A eficácia de um processo pode ser medida pelas saídas dele derivadas
como: medidas dos erros descobertos antes da entrega do produto,
defeitos relatados pelos usuários finais, produtividade da equipe,
esforço humano dispendido, tempo gasto, cumprimento do cronograma, entre
outras. Desta forma, as métricas de processo podem fornecer benefícios
significativos na medida em que a organização trabalha para corrigir e
melhorar seus problemas, buscando maior maturidade de processo. Em um
nível mais avançado, a organização pode adotar a abordagem SSPI – Statistical Software Process Improvement, que usa a análise de falhas de software para coletar informação sobre erros e defeitos encontrados no produto em operação.
As métricas de projeto são usadas por um gerente de projeto para
adaptar o fluxo de trabalho e sua primeira aplicação ocorre, geralmente,
durante a estimativa. Métricas usadas em projetos anteriores podem ser
usadas como base. O gerente utiliza medidas de esforço e tempo
dispendidos comparadas com as estimativas previstas no cronograma para
monitorar e controlar o progresso do projeto.
Na medida em que o trabalho técnico prossegue, outras métricas de
projeto são utilizadas, como taxa de produção, horas de revisão, pontos
por função, linhas de código entregues etc. Além disso, os erros
descobertos são registrados e outras métricas técnicas são utilizadas
para avaliar a qualidade do projeto, o que irá influenciar a abordagem
de testes.
As métricas de projeto são usadas tanto para minimizar o tempo do
cronograma, buscando evitar atrasos e diminuir riscos, quanto para
avaliar a qualidade do produto. Na medida em que a qualidade é
melhorada, os defeitos são reduzidos e a quantidade de retrabalho também
é minimizada, levando à redução do custo do projeto.
Nenhum comentário:
Postar um comentário