2.5 – Reconciliação de Diferentes Abordagens de Métricas
Como relacionar linhas de código com pontos de função? Cada linguagem tem sua lógica e sintaxe; portanto os programas com a mesma função variam bastante de tamanho de uma para outra.
Um programa que execute uma função necessita geralmente de 15 a 30 linhas de programação em compiladores das linguagens atuais (C++, C#, Java, Delphi, etc.); o mesmo programa escrito em Assembly precisaria de 10 a 20 vezes mais linhas para ser construído.
Da mesma forma que deve-se estabelecer um relacionamento entre diferentes linguagens os demais fatores envolvidos no processo. Um programador pode mais ou menos experiência que outro; uma organização tem seu grau de complexidade e estrutura; o risco de um programa é diferente de outro.
O efeito da má avaliação de tais fatores certeamente impactará o processo. A conciliação de medidas e a correta interpretação das medições evita muitos problemas.
2.6 – Integração de Métricas Dentro do Processo de Engenharia de Software
Sempre surge o famoso bordão "Será que precisamos fazer isto?" ao falar de medidas dentro de um processo. Afinal de contas dá trabalho efetuar medições, e mais ainda convencer os envolvidos a mudar sua forma de trabalhar.
Os benefícios são muitos, se toda a equipe conhecê-los terão menos resistência quando medidas forem utilizadas.
2.6.1 – Argumentos para métricas de software: "Se não medir, como saber se estamos melhorando?" - "O usuário está satisfeito?" - "Quanto tempo gastaremos prestando manutenção ao produto?" - Perguntas como estas só podem ser respondidas de forem estabelecidas métricas e efetuadas medidas.
2.6.2 – Estabelecimento de uma linha básica (baseline): É uma tabela de dados compilados de projetos passados, que após o planejamento são adaptados ao novo projeto. Deve-se estimar com a maior acuidade possível os "desvios" do novo projeto em relação aos anteriores para gerar uma baseline confiável.
2.6.3 – Coleta, computação e avaliação das métricas: É quando se coloca em prática todos os conceitos acima, criando uma lista com todas as características possíveis de um produto.
2.7 – Resumo
A primeira camada do processo de engenharia de software é o gerenciamento de projetos. Como vimos, ele acompanha todas as etapas do processo. Envolve diversas atividades, como estimativas, medições, análise de erros, programação de atividades, monitoração e controle.
Quando o processo e o projeto são bem-estruturados atinge-se a produtividade ideal e o produto final alcança a máxima qualidade possível. Para tanto o gerente de projeto precisa ter competência para usar as ferramentas apresentadas, além de autonomia para tomar as decisões necessárias.
A implementação de medições e de um sistema de monitoramento contínuo implica em mudança de cultura. Quem for capaz de fazê-la certamente se beneficiará com a otimização de todas as grandezas envolvidas - custo, qualidade, produtividade, prazos, etc - e apresentará um melhor software ao final do processo. E também será capaz de mantê-lo com maior competência ao longo de seu ciclo de vida.
Como relacionar linhas de código com pontos de função? Cada linguagem tem sua lógica e sintaxe; portanto os programas com a mesma função variam bastante de tamanho de uma para outra.
Um programa que execute uma função necessita geralmente de 15 a 30 linhas de programação em compiladores das linguagens atuais (C++, C#, Java, Delphi, etc.); o mesmo programa escrito em Assembly precisaria de 10 a 20 vezes mais linhas para ser construído.
Da mesma forma que deve-se estabelecer um relacionamento entre diferentes linguagens os demais fatores envolvidos no processo. Um programador pode mais ou menos experiência que outro; uma organização tem seu grau de complexidade e estrutura; o risco de um programa é diferente de outro.
O efeito da má avaliação de tais fatores certeamente impactará o processo. A conciliação de medidas e a correta interpretação das medições evita muitos problemas.
2.6 – Integração de Métricas Dentro do Processo de Engenharia de Software
Sempre surge o famoso bordão "Será que precisamos fazer isto?" ao falar de medidas dentro de um processo. Afinal de contas dá trabalho efetuar medições, e mais ainda convencer os envolvidos a mudar sua forma de trabalhar.
Os benefícios são muitos, se toda a equipe conhecê-los terão menos resistência quando medidas forem utilizadas.
2.6.1 – Argumentos para métricas de software: "Se não medir, como saber se estamos melhorando?" - "O usuário está satisfeito?" - "Quanto tempo gastaremos prestando manutenção ao produto?" - Perguntas como estas só podem ser respondidas de forem estabelecidas métricas e efetuadas medidas.
2.6.2 – Estabelecimento de uma linha básica (baseline): É uma tabela de dados compilados de projetos passados, que após o planejamento são adaptados ao novo projeto. Deve-se estimar com a maior acuidade possível os "desvios" do novo projeto em relação aos anteriores para gerar uma baseline confiável.
2.6.3 – Coleta, computação e avaliação das métricas: É quando se coloca em prática todos os conceitos acima, criando uma lista com todas as características possíveis de um produto.
2.7 – Resumo
A primeira camada do processo de engenharia de software é o gerenciamento de projetos. Como vimos, ele acompanha todas as etapas do processo. Envolve diversas atividades, como estimativas, medições, análise de erros, programação de atividades, monitoração e controle.
Quando o processo e o projeto são bem-estruturados atinge-se a produtividade ideal e o produto final alcança a máxima qualidade possível. Para tanto o gerente de projeto precisa ter competência para usar as ferramentas apresentadas, além de autonomia para tomar as decisões necessárias.
A implementação de medições e de um sistema de monitoramento contínuo implica em mudança de cultura. Quem for capaz de fazê-la certamente se beneficiará com a otimização de todas as grandezas envolvidas - custo, qualidade, produtividade, prazos, etc - e apresentará um melhor software ao final do processo. E também será capaz de mantê-lo com maior competência ao longo de seu ciclo de vida.


