Estimativas de Projetos de Software

  

MOTIVAÇÃO

 

Prever o futuro é algo que (ainda) não é possível, mas, desenvolver robustos modelos econométricos ou aplicar modelos de uso geral a partir de dados de benchmarking do mercado ou de suas realizações passadas para poder aproximar o escopo ou estimar esforço, custo, prazo ou defeitos e entender a relação entre essas grandezas de interesse, é.

 

Ainda assim muitos profissionais evitam dar respostas a perguntas sobre isso pela dificuldade que tem na comunicação junto aqueles que as perguntam. Uma das causas é a dificuldade em perceber as diferenças entre:

  • Fornecer uma estimativa, um ato técnico e que - de maneira inerente - sempre está associado a um risco de não acontecer;
  • Estabelecer uma meta, uma ato gerencial, que se deve buscar alcançar independentemente das chances serem pequenas; e
  • Assumir um compromisso em perseguir essa meta, um ato essencialmente político.

A FATTO trabalha com esses desafios desde sua fundação e fornece informação técnica, imparcial, de qualidade sobre processos, métodos e dados para que a administração possa estabelecer metas e os profissionais envolvidos estejam mais confortáveis em assumir compromissos.

 

Projetamos desenvolver e aplicar modelos econométricos específicos e de uso geral, como o COCOMOII, a partir de dados de benchmarking do mercado ou de suas realizações passadas para poder aproximar o escopo e estimar esforço, custo, prazo ou defeitos e entender a relação entre essas grandezas de interesse.

 

 

O QUE JÁ PUBLICAMOS SOBRE O ASSUNTO

 

 

 

 

Objetivos

 

O objetivo deste serviço é fornecer respostas para perguntas que ajudam à administração a avaliar e ponderar sobre as implicações de custo e prazo em suas decisões sobre software, como aquelas relativas a:

  • A investimentos;
  • Quando desenvolver, reutilizar ou comprar;
  • Qual software legado modificar ou descontinuar;
  • Definição de orçamentos e cronogramas;
  • Negociação de escolhas entre custo, prazo e performance;
  • A gerência de risco;
  • A iniciativas de melhoria de processos;
  • Reutilização, ferramentas, maturidade de processos e terceirização.

Perguntas como por exemplo:

  • Quais funcionalidades podem ser incluídas no escopo de forma que haja mais de 50% de chance de entregá-la em determinado prazo ou a determinado custo?
  • Quais o prazo e custos estimados para conclusão do desenvolvimento de um novo produto e/ou a manutenção de produtos existentes dadas determinadas circunstâncias.

O inicio de nosso trabalho é sempre garantir o nosso entendimento do problema de nosso cliente, o alinhamento das expectativas junto a todas as partes interessadas e a definição de sua visão de solução que pode incluir:  

  • Validar uma estimativa interna para um projeto de forma a entregar um parecer independente;
  • Reduzir o risco em projetos estratégicos por meio de estimativas profissionais usando modelo paramétricos;
  • Entender a capacidade de seu processo de estimativa para produzir estimativas de alta confiabilidade que reduzem seu risco;
  • Estimativa rápida e cedo no ciclo de desenvolvimento quando o nível de informação ainda é baixo.

 

Benefícios

 

Estimativas de menor escala - como aquelas associadas a uma pequena manutenção ou incitavas que se limitam a janelas de, digamos, dois ou três meses - costumam ter um nível de acuidade compatível com o que a administração espera. Uma iniciativa que toma 100% a mais do prazo previsto considerando uma estimativa de uma semana, nem sempre é um problema para o negócio. Não podemos dizer o mesmo de um projeto de oito meses por certo.

 

Os benefícios dos serviços de estimativa da FATTO surgem da eliminação do gap entre a acuidade esperada e a acuidade obtida internamente pela organização usando estimativas diretas ou planilhas que muitas vezes ninguém na organização sabe explicar ou justificar o seu funcionamento.

 

 

Ordem de grandeza do objeto a estimar

 

 

Tecnologias

 

Normalmente quando se escuta o termo tecnologia, pensa-se em um pacote de software ou uma plataforma de hardware, a FATTO usa esse termo em um sentido mais amplo incluindo ativos, processos, métodos, ferramentas e técnicas. Em nossos serviços usamos: 

  • Constructive Cost Model 2 (COCOMOII) - Modelo abrangente para estimar esforço, prazo e tamanho de equipe de maneira alinhada com a metodologia de desenvolvimento utilizada e considerando parâmetros do produto, do processo, da plataforma e das pessoas envolvidas. Fornece bases para estimativas heurísticas que consideram não apenas uma estimativa pontual, mas também estimativas pessimistas e otimistas conforme o nível de informação disponível quando da realização da estimativa; 
  • 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; 
  • Simulação de Monte Carlos - Permite avaliar por meio de simulação computadorizada as chances associadas a uma estimativa considerando não necessariamente um cenário de normalidade, mas as particularidades de cenários que envolvem diferentes possibilidades entre vários componentes da estimativa que interagem entre si para compor a estimativa final;  
  • 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; 
  • SCOPE - O modelo lógico de software do SCOPE provê um framework catalogado com todas as funcionalidades que foram previamente contadas, e assim estas podem ser facilmente identificadas e reutilizadas. Mesmo que o contador não tenha certeza quanto o nome da função, a sua posição no framework provê uma indexação automática que o permite encontrá-la facilmente. Além do modelo lógico, SCOPE provê a capacidade referência cruzada entre as Funções Lógicas e as Entidades Físicas do Software (isto é, os Arquivos Lógicos podem ser mapeados a suas tabelas físicas correspondentes; processos podem ser mapeados para um ou mais de seus programas, telas, ou especificações); 
  • CALICO - Software para calibração das constantes do COCOMOII a partir de dados sobre os projetos realizados em sua organização e avaliados retrospectivamente conforme as orientações do modelo. 
  • 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 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.

 

 

Cone da incerteza

 

.

 

.