Estudo de Benchmarking do Desempenho dos Projetos de Software

 

Como podemos evoluir a organização comparando o resultado dos nossos projetos em relação ao resultado dos projetos de outras empresas? Benchmarking!

 

MOTIVAÇÃO

 

Realizar um estudo de benchmarking pode ser motivado por diversas razões, por exemplo:

  • Traçar metas realistas e objetivas (S.M.A.R.T);
  • A minha equipe de TI é eficiente? Como é a eficiência dos projetos em cada equipe?
  • A minha área de desenvolvimento de sistemas está gastando demais? Nossos custos estão aumentando ou reduzindo?
  • Os custos com os contratos para desenvolvimento de software estão muito altos?
  • A qualidade dos produtos entregues é muito baixa?

O que é eficiente, demaismuito alto ou muito baixo? As expectativa dos clientes (internos ou externos) são, basicamente, opiniões e analisar apenas o desempenho passado, promove ancorar metas futuros aos resultados do passado. Com o serviço de estudo de benchmarking proveremos conhecimento e inteligência sobre a performance dos projetos de software em relação ao desempenho das empresas de ponta ou os "best in class".

 

PLANO DE TRABALHO

 

Nossos consultores:

  • Entendem os processos que se deseja avaliar, identificam suas particularidades e selecionam os dados de benchmarking compatíveis com essa realidade;
  • Selecionam uma amostra representativa de demandas de um período de tempo para os processos que se desejam avaliar, organizam a documentação associada (ou mesmo preparam um conjunto de documentação mínimo para facilitar consultas posteriores aos especialistas no assunto);
  • Providenciam, normalizam e organizam os dados associados à amostra e coordenam nosso escritório de métricas onde os ganhos de escala com serviços compartilhados são estendidos para sua organização durante o benchmarking. 

A figura a seguir ilustra a distribuição da serie de dados usada como base de comparação expressa em homens-hora por ponto de função (HH/PF) e/ou a densidade de defeitos (defeitos/PF). 

 

 Dados de Referência para o Benchmarking

 

A amostra de cada processo e, então, consolidada e avaliada quanto a sua representatividade de um ponto de vista estatístico de forma que as faixas de produtividade verificadas (com 95% de confiança) sejam comparadas aos dados expostos acima. Por exemplo, há 95% de chance de que o processo [Desenvolvimento em Java para Plataforma Web] ter uma taxa de entrega entre 9 HH/PF e 13 HH/PF estando entre os 64% dos casos com maior produtividade de acordo com os dados de benchmarking. Ou seja, o desempenho está compatível com o desempenho médio considerando os dados de benchmarking e há espaço para identificação e gestão de ofenssores de produtividade de maneira a melhorar o posicionamento do processo analisado.Trata-se apenas de um exemplo e os dados não se referem ao processo citado. 

 

BENEFÍCIOS

 

As organizações que costumam fornecer dados para benchmarking são aquelas com maior maturidade e avaliar o desempenho de seus processos (sejam eles contratados ou internos) permite:

  • Identificar oportunidades de melhoria ou problemas que motivem com maior ênfase a identificação de ofensores de produtividade, ou mesmo;
  • Identificar um problema - não no processo - mas nas expectativas dos clientes internos ou externos quanto a um nível de serviço incompatível com o oferecido no mercado. 

Há organizações que nunca trabalharam com unidades de produto derivadas da visão do usuário (ou seja, de seus requisitos funcionais). Outras já utilizaram, mas sua utilização foi deformada por uma medição realizada por profissionais que não fossem especialistas em métricas. O trabalho de benchmarking nesses casos é uma experiência transformadora e um primeiro passo na transição da gestão baseada em supervisão ou baseada em estimativas de esforço para um paradigma orientado a resultados e com uma maior alinhamento aos princípios da Governança Corporativa. 

 

FATORES DE CUSTO PARA O BENCHMARKING 

 

Os principais fatores que influenciam nosso esforço e custo em um projeto de benchmarking são:

  • Quantidade de processos a serem avaliados;
  • Tamanho da amostra utilizada no benchmarking;
  • Qualidade da documentação de requisitos e disponibilidade de acesso aos especialistas no assunto;
  • Organização do trabalho em demandas e qualidade dos registros de esforço, defeitos e custo associadas.

Entre em contato conosco para que possamos conversar melhor sobre o assunto, expor nossa metodologia e nos permitir avaliar esses fatores para o seu caso em particular.  

 

FERRAMENTAS

  • Análise de Pontos de Função (APF) - Métodos de medição do tamanho funcional como definidos pelo IFPUG, NESMA e COSMIC. Permitem medir o tamanho do escopo do projeto a partir dos requisitos do usuário ou aproximá-lo apartar das necessidades do negócio; 
  • Métodos Econométricos - Métodos de estimar uma tendência do comportamento de uma população a partir de amostras com dados quantitativos e qualitativos (como muitos requisitos não funcionais) com a observação de uma sistemática rigorosa para minimizar os efeitos do acaso (e dos desvios que advém disso) na coleta dessa amostra e chegar a resultados mais próximos das relações verificadas na população; 
  • Software Non-functional Assessment Process (SNAP) - Processo de ponderação do impacto de requisitos não funcionais (considerando o usuário de negócio como referência) a partir da avaliação do impacto de aspetos técnicos e de qualidade no projeto físico da solução; 
  • Contagem de Linhas de Código (observando os padrões da SEI/CMU) para esse fim; 
  • R e RStudio - Software (open source) para realização de análise de dados, testes estatísticos e produção de gráficos associados. 
  • Base de dados própria e do International Software Benchmarking Standards Group (ISBSG) - Base de dados com informações sobre o desempenho de milhares de casos com dados quantitativos e qualitativos sobre a manutenção e desenvolvimento de software relacionando esforço, prazo, custo, metodologia, tecnologia, qualidade, etc.

REFERENCIAL

  • "The IT Measurement Compendium: Estimating and Benchmarking Success with Functional Size Measurement", Manfred Bundschuh, Carol Dekkers, Springer Science & Business Media, 2008;
  • ISO/IEC 29155: Systems and software engineering - Information technology project performance benchmarking framework;

.

 

.