Os métodos de Engenharia de Software adotados pelas empresas, as ferramentas de desenvolvimento utilizadas, o uso de métricas e a documentação adotada compõe este bloco de resultados.
Para efeito da pesquisa, os métodos de Engenharia de Software foram agrupados em dois subconjuntos distintos voltados para a melhoria da qualidade do software de acordo com classificação proposta por Caper Jones: métodos para prevenção de defeitos e métodos para detecção/remoção de defeitos.
Os principais métodos utilizados para prevenção de defeitos nos produtos desenvolvidos no Brasil foram: adoção de normas e padrões da própria
empresa, prototipação, análise crítica conjunta e gerência de projetos, todos assinalados por mais de 40% das empresas.
(vide Tabela 42)
Alguns métodos para prevenção de defeitos podem ser classificados como "avançados" para o processo de desenvolvimento de software. Dentre esses métodos selecionados, no grupo principal obtido como resultado da prática nas empresas pesquisadas, encontravam-se a prototipação (44%), o reuso (24%) e as auditorias (21%). Não se destacaram gestão de configuração, adoção de medições da qualidade (métricas) e Joint Application Design - JAD, também "avançados", com percentuais inferiores a 15%.
(vide Tabela 42)
O grupo dos métodos adotados para detecção de defeitos apresentou percentuais mais elevados do que o grupo de métodos para prevenção, variando em um intervalo com limite inferior de 15% até um limite superior de 62% e incluindo diferentes categorias de testes e validação.
(vide Tabela 43)
Os principais tipos de testes realizados eram: testes funcionais, testes de campo, testes de aceitação, testes do sistema integrado e testes de integração.
Dentre os métodos para detecção considerados "avançados", dois foram apontados com destaque - os testes de aceitação (48%) e a validação (45%). Inspeções formais e revisões estruturadas foram assinalados por, respectivamente, 20% e 15%.
(vide Tabela 43)
Um importante indicador diz respeito ao planejamento e registro dos testes de software realizados, apontado por 43% das empresas como praticado de forma sistemática, seja com equipes distintas, seja com a mesma equipe para as duas fases.
(vide Tabela 44)
Adicionalmente, outras práticas de Engenharia de Software foram assinaladas pelas empresas com percentuais elevados. Eram elas: controles de versão (72%), modelagem de dados (61%) e projeto da interface com o usuário (50%), seguidas de dicionário de dados (49%) e métodos orientados a objetos (44%).
(vide Tabela 45)
Projeto da interface com o usuário, métodos orientados a objetos, métodos estruturados e gestão de mudança também se encontram no grupo "avançado".
O uso de ferramentas automatizadas de desenvolvimento mostrou-se bastante diversificado, de tal modo que apenas os geradores de relatórios e os geradores de telas superaram a fração de um terço dos respondentes.
(vide Tabela 46)
A exemplo dos métodos de Engenharia de Software, algumas ferramentas também podem ser classificadas como "avançadas" para o processo de desenvolvimento de software. Estas foram assinaladas de forma bastante diferenciada, com percentuais que variaram de 34% a 14% - gerador de telas, gerador de código-fonte, gerenciador de projetos, Computer Aided Software Engineering - CASE, gerenciador de bibliotecas de módulos, prototipador e gerenciador de configuração.
(vide Tabela 46)
Os resultados indicam que, em termos médios globais, eram utilizados por empresa 3,9 diferentes métodos para prevenção de defeitos, 5,3 métodos para detecção de defeitos, 3,5 outras práticas de Engenharia de Software e 4,2 ferramentas automatizadas de desenvolvimento.
O número médio de documentos era de 6,6 tipos diferenciados por empresa com uma distribuição onde as empresas apontaram, predominantemente, a adoção de manual do usuário (70%), elaboração de contratos e acordos (66%) e uso de help on-line (62%), seguidos de perto por documentação no código, documentação de programas e especificação de sistema assinalados por mais da metade das empresas pesquisadas.
(vide Tabela 47)
Novas questões incorporadas à última pesquisa realizada permitem avaliar os processos de software com base no uso de métricas – linhas de código (LOC) e pontos por função (function point).
A medição de linhas de código foi a métrica mais aplicada no passado, quando o código era dominante nas estimativas de custo. Desde a década de 1990, vem ganhando espaço a técnica de avaliação de um sistema, conhecida como FPA – Function Point Analysis, baseada na medição do valor das funções executadas pelos programas, ao invés de utilizar como base o volume ou a complexidade do código dos programas.
Para medir a qualidade dos processos de software quase 19% das empresas utilizavam pontos por função, enquanto 13% utilizavam as linhas de código. (vide
Tabela 48 e
Gráfico I.16)
Resultado praticamente idêntico foi alcançado em termos do uso dessas métricas para medir a produtividade dos processos de software – 19% e 14%, respectivamente, para pontos por função e linhas de código.
(vide Tabela 49)