• Nenhum resultado encontrado

Nesta seção você encontra artigos voltados para testes, processo, modelos, documentação, entre outros

N/A
N/A
Protected

Academic year: 2021

Share "Nesta seção você encontra artigos voltados para testes, processo, modelos, documentação, entre outros"

Copied!
5
0
0

Texto

(1)

Darlan Florêncio de Arruda

dfa@ecomp.poli.br – www.darlanarruda.com

Bacharel em Sistemas de Informação pela Universidade de Pernambuco (UPE). Tem experiência na área de Ciência da Computação, com ênfase em Métricas, Gestão, Testes e Qualidade de Software. Atualmente é aluno do programa de mestrado acadêmico em Engenharia de Computação da Escola Politécnica da Universidade de Pernambuco (POLI/UPE) e Engenheiro de Testes de Software do C.E.S.A.R.

Fique por dentro:

Nesse artigo são tratados aspectos relevantes acerca da aplicação e utilização de métricas de software, visando identificar e explanar fatores que contribuem para que atividades de medição e estimativas sejam realizadas de forma inefi-ciente pela indústria de TI. Esse artigo é útil em situações onde as atividades de medição e es-timativas de software são realizadas de forma ineficiente, pois apresenta dados e informações importantes que são identificados como contri-buintes para o uso ineficiente de métricas em projetos de software, dando uma visão ampla acerca do assunto, ajudando profissionais de TI a identificar tais fatores em suas organizações e com isso minimizar os problemas encontrados na realização desse tipo de atividade.

Métricas de Software

Problema ou Solução?

Nesta seção você encontra artigos voltados para testes, processo,

modelos, documentação, entre outros

M

étricas de é um

assun-to que vem sendo estudado há anos e mesmo assim, ainda hoje desperta interesses de pesquisa-dores. Talvez pelo fato de ainda não ter atingido sua maturidade. Sabe-se que realizar estimativas e prover métricas de eficientes tem se tornado um grande desafio na área de TI e que essa incapacidade da indústria em

es-timar com precisão resulta em

problemas orçamentais e atrasos nas entregas. Diante disso, esse artigo tem como objetivo investigar e apresentar possíveis causas que contribuem para o uso ineficiente de métricas de .

Métricas de possibilitam

realizar uma das atividades mais funda-mentais do processo de gerenciamento de projetos - o planejamento. Servem como suporte à medição em diversas tipos de atividades e aplicações como, por exemplo: utilização de métricas no contexto organizacional de gestão do conhecimento, no apoio a sistemas

baseados em computação em nuvem, no suporte a medição de complexidade do , medição de esforço de traba-lho, métricas no contexto de custos em

manutenção corretiva de , como

suporte a mensuração de qualidade em aplicações de negócios, inspeção de e métricas no contexto de

(2)

ENGENHARIA

Métricas de medem diferentes aspectos da com-plexidade do e, portanto, desempenham um papel importante na análise e melhoria da qualidade do . Tais aspectos abrangem área de qualidade, estimativa, custos, processos e assim por diante. Uma outra definição para métrica de a referencia como sendo a medida - geralmente usando classificações numéricas - para quantificar algumas características ou atributos de uma entidade de . Medições típicas incluem a qualidade dos códigos de fonte, o processo de desenvolvimento e as aplicações realizadas.

Além dessas, pode-se afirmar também que métricas de é a contínua aplicação de técnicas baseadas na medição para o processo de desenvolvimento de e para os seus produtos fornecendo informação de gestão relevante e, a utilização dessas técnicas visa melhorar o processo e os seus são agrupadas em dois tipos, as métricas de produto e as métricas de processos.

Métricas de Produto, também conhecidas como as métricas de qualidade, são usadas para medir as propriedades do e ajudam a melhorar a qualidade dos diferentes componentes e existentes do sistema. Pode-se destacar como exemplos de métricas de produto: esforço, tamanho, volume, complexidade, contagem de pontos de função, contagem de Tokens, métricas de funcionalidades, desempenho, usabilidade, custo e tamanho e métricas de estilo.

Já as métricas de processo são conhecidos como métricas de gestão e são utilizadas para medir as propriedades do proces-so que é usado para se obter o . Métricas de processo incluem as métricas de custo e esforços, métricas de progresso e métricas de reutilização. Métricas de processo ajudam na previsão do tamanho do sistema final e a determinar se um projeto em execução se encontra de acordo com o cronogra-ma. Como métricas de processos, podemos citar: métricas de reusabilidade, métricas de produtividade, média de ponto de estória por desenvolvedor por dia/mês, métricas de recursos, dentre outros.

Comparar e avaliar as capacidades e produtividade das pes-soas envolvidas no desenvolvimento de , elaboração das especificações de qualidade de , verificação do cumprimento de requisitos de sistemas de e especi-ficações, são algumas das características que a aplicação de métricas proporcionam e que são consideradas vantagens para quem as usam. Além disso, pode-se citar também a tomada de decisões sobre outra divisão do módulo complexo que deve ser feito ou não e obtenção de uma ideia sobre a complexidade do

Ao mesmo tempo em que as métricas de proporcio-nam diversas vantagens que ajudam no auxílio de algumas atividades dentro do processo de desenvolvimento do pro-duto de – elas também apresentam certas limitações em relação ao seu uso. A maioria dessas desvantagens estão vinculadas ao uso incorreto por parte dos profissionais de TI. No processo de utilização de métricas de , deve-se garantir algumas propriedades para que as mesmas sejam utilizadas da maneira mais eficiente possível.

As métricas devem ser facilmente entendidas, calculadas e testadas, devem gerar uma sugestão de melhoria nas estraté-gias, bem como é de grande importância que a métrica seja obtida o mais cedo possível no processo de desenvolvimento

do .

A utilização de métricas de é muito importante dentro da engenharia de , especialmente na gerência de projetos. Ela é geralmente analisada por gerentes de pro-jetos de e coletada pelos engenheiros e/ou analistas

de .

Métrica: Problema ou Solução?

Métrica de

anos. No entanto, mal conseguiu se estabelecer sua amplitude na engenharia de . A principal razão para isto é que a maioria das atividades associadas ao uso de métricas de não têm apresentado o requisito mais importante: for-necer informações para apoiar a tomada de decisão gerencial quantitativa durante o ciclo de vida do

, o grande desafio das empresas é estimar custos, esforço e prazo para criação de métricas que realmente representem a realidade. Estimar é uma atividade complexa, cujos resultados devem ser constantemente atualizados levando em consideração quantitativos reais de todo o ciclo de vida do desenvolvimen-to. Realizar estimativas e prover métricas de têm se tornado um grande desafio na área de TI.

A incapacidade da indústria em estimar com precisão resulta em falhas orçamentais e atrasos nas entregas que resul-tam em desconfiança e insatisfação por parte do contratante. Essa incapacidade em prover estimativas precisas com relação a custo, esforço e tempo é constantemente citada em relatórios como o trabalho intitulado “Catálogo de Fatores que Influenciam por meio de estudos de casos de projetos que falharam e publicações científicas como

, dentre da Ciência e Tecnologia do Governo Brasileiro, observou-se utilizam nenhuma métrica para estimar o tamanho de produto

de .

Diante disso, questionamentos como:

fatores que contribuem para o uso ineficiente de métricas em projetos

- se mostram importantes e relevantes tanto para academia, quanto para a indústria, diante da necessidade de entender esses “porquês” e buscar uma solução que diminua esse gap da engenharia

de .

Na próxima seção, são apresentados fatores e aspectos que são e podem ser considerados contribuintes para o uso ineficiente de métricas em projetos de , por empresas de TI.

(3)

que diz respeito a eficiência na realização de atividades de estimativas e medição. Sendo assim, nessa seção mostra-se que existem vários fatores que são e que podem ser conside-rados contribuintes para históricos de medição e estimativas

mal sucedidas em projetos de .

Percebe-se que métricas de possuem certas limita-ções. Percebe-se que algumas delas contribuem para o uso ineficiente de métricas de . Pode-se afirmar que as métricas de não são aplicadas de forma eficiente por que são difíceis de aplicar, é considerado um trabalho dispendioso e que utiliza em sua maioria dados históricos e empíricos, que são difíceis de verificar e que muitas ve-zes as empresas não os possuem. Isso resulta na falta de informações sobre projetos anteriores completados, o que dificulta na estimativa de novos projetos, principalmente se esse novo projeto não possuir similaridade com projetos já executados.

É sabido também que uma vasta gama de métricas de visando vários níveis de abstração e atributos de qualidade, têm sido propostas pela comunidade de em verificar as propriedades matemáticas, investigando o comportamento da métrica para um certo número de sis-temas ou comparando o seu valor contra outras métricas quantificando atributos de qualidade relacionados. E isso pode ser um problema quando se pensa em ter métricas eficientes e reais. Dessa forma, uma análise estrutural das métricas seria uma solução.

Porém, infelizmente, uma análise estrutural da utilidade de métricas num ambiente de avaliação do mundo real é fre-quentemente ausente, sendo que essa avaliação é importante para compreender as situações em que uma métrica pode ser aplicada para identificar áreas de possíveis melhorias, para explorar problemas gerais detectadas pelos indicadores e definir estratégias de solução geralmente aplicáveis. Dessa forma, pode-se inferir que a falta de uma análise estrutu-ral da métrica pode contribuir para a geração de métricas ineficientes ou irreais.

Acredita-se que além das possíveis causas apresentadas até o momento, a incapacidade de produzir requisitos precisos (

requisições de mudanças de requisitos ao longo do processo de ) e a falta de experiência em projetos similares, além da constante evolução da TI, podem contribuir para o uso ineficiente quando se pensa na geração de métricas de software.

Além desses, pode-se apontar a falta de experiência e de co-nhecimento do profissional em relação a atividades de estima-tivas e medição e que de fato contribui significativamente para

Organizacional/Ambiente Técnico

Falta de Experiência do Profissional Requisitos Imprecisos

Falta de Experiência em Projetos Similares Falta de Análise Estrutural da Métrica

Falta de Conhecimento Utiliza dados históricos que muitas vezes nem existem na organização/projeto.

Evolução da TI São Difíceis de Aplicar e de Verificar

Tabela 1. Atributos Contribuintes para o Uso Ineficiente de Métricas de Software

Com o intuito de avaliar o quão importantes são esses dados identificados como fatores de contribuição para o uso ineficiente de métricas por meio da percepção dos pro-fissionais de TI que lidam com atividades de estimativas e medição, buscou-se realizar um estudo de campo com algumas empresas de TI localizadas no Porto Digital em Recife/PE. O Porto Digital, é definido como um Arranjo Produtivo de Tecnologia da Informação e Comunicação e Economia Criativa, que está situado no Recife, capital de Pernambuco, no nordeste brasileiro e que surgiu do resultado do ambiente de inovação que se consolidou em Pernambuco, região atrativa para inovação, instituições, empresas, universidades e governos fomentaram mudanças econômicas e sociais.

Sendo assim, um questionamento foi laçado: “Em sua opinião, quais os motivos para o uso ineficiente de métricas de software pela indústria de TI?”. Os dados apresentados a seguir são dados da pesquisa em formato parcial. Até respondendo ao questionário e por meio dessas respostas será possível identificarmos se existe coerência em relação aos fatores apontados pela literatura.

As Figuras 1 e 2 apresentam os dados estatísticos obtidos com a pesquisa de campo. Como pode-se perceber, foram elencadas como opções de respostas à essa pergunta muitos dos fatores identificados na literatura como contribuintes para uso ineficiente de métricas de . O intuito deste, foi verificar o quão frequente esses itens são representados em atividades profissionais de estimativa e medição mal sucedidas. Nessa questão o respondente pode escolher mais de uma alternativa como resposta.

respostas, apontaram que os requisitos irreais e/ou impreci-sos é a principal causa para o uso ineficiente de métricas. Em

-tam a falta de informação como sendo fator impulsionador do mal uso de métricas em projeto de . A inexperiência do profissional que trabalha com a elaboração e aplicação de

(4)

ENGENHARIA

-bidas, cerca de seis respondentes, apontam a fator relacionado a falta de histórico de métricas de projetos já finalizados. 9% dos respondentes confirmam que muitas vezes a interpre-tação incorreta de dados contribui para esse gap relacionado da engenharia software. Entretanto, cerca de 7% de partici-pantes indica que o fator “tempo” é importante e contribui de forma negativa na criação de métricas. O fato de ser uma atividade considerada difícil de aplicar e a inexperiência em projetos similares foram apontados por 5% cada uma, como sendo fatores motivadores para esse problema em relação ao da falta de uma análise estrutural do código e falta de com-prometimento da gerência como sendo atributos importantes para o uso ineficiente de métricas de

-taram a opção “Outros”, porém não especificaram quais seriam esses outros motivos.

Reflexão

Será que podemos responder ao questionamento central de artigo baseado nos dados apresentados até o momento? Métricas de

podem ser consideradas um pro-blema ou uma solução para quem as usam?

De acordo com os dados obtidos na literatura e confirmados com o estudo de campo realizado na indús-tria de TI, percebe-se que métricas de é uma solução viável e organizada de se ter em um projeto, pois ajuda na avaliação da capaci-dade produtiva dos envolvidos no projeto, na elaboração de especi-ficações de qualidade de , validação e verificação de requisitos, tomada de decisão e em uma das atividades mais importantes dentro do gerenciamento de projetos - o planejamento.

Entretanto, sabe-se que as ativi-dades de medição e estimativas não são realizadas corretamente pela indústria de TI e isso contribui para que a aplicação de métricas de deixem de ser solução para passar a ser um problema, pois esti-mativas mal sucedidas contribuem para atrasos no cronograma, o que culminam em excessos orçamentais e que no final termina em estresse e

insatisfação por parte do cliente. Figura 2. Número de Respostas por Item

Figura 1. Porcentagem de Respostas

Pode-se afirmar que a ocorrência de requisitos imprecisos ou irreais, a inexperiência do profissional e a falta de informação são fatores-chave para essa lacuna na engenharia de . Também percebe-se que não são fatores complicados de serem resolvidos. Para isso, uma boa metodologia de elicitação e comunicação de requisitos deve ser seguida, além de inves-timentos em capacitação dos profissionais que devem lidar diretamente com estimativas e medição.

Métricas de proporcionam diversas vantagens para quem as usa, entretanto deve-se ressaltar que mesmo possibi-litando diversas vantagens, essa abordagem oferece algumas limitações.

Através de uma análise realizada, foi possível inferir que mui-tas dessas limitações podem ser fatores que contribuem para

(5)

dentro da organização e/ou projeto, além da falta de conheci-mento e experiência do usuário e requisitos inconsistentes e/ ou imprecisos. Essas limitações podem sim, contribuir para a incapacidade da indústria de TI em fazer um bom uso de

métricas de .

Foi possível identificar que muitos dos fatores identificados na literatura foram apontados por profissionais de TI que estão ligados diretamente a atividades de engenharia de software e que fatores como requisitos imprecisos ou irreais, a inexperi-ência do profissional e a falta de informação são fatores-chave para essa lacuna na engenharia de .

Engineering, Mathematics and Computer Science, Delft University of Technology, 2013.

[2] CURTIS, Bill; SAPPIDI, Jay; SUBRAMANYAM, Jitendra. Measuring the Struc-tural Quality of Business Applications. 2011 Agile Conference, 2011b. [3] FENTON, Norman E; NEIL, Martin. Software Metrics: A roadmap. ICSE ‘00 Proceedings of the Conference on The Future of Software Engineering, 2000.

[4] GOODMAN, Paul. Practical Implementation of Software Metrics, McGraw Hill, London, 1993.

[5] JOHARI, Kalpana; KAUR, Arvinder. Effect of software evolution on softwa-re metrics: An open source case study. ACM SIGSOFT Softwasoftwa-re Engineering Notes, 2011.

[6] MOLØKKEN, Kjetil; JØRGENSEN, Magne; A Review of Surveys on Software Effort Estimation. Proceedings of the 2003 International Symposium on Empirical Software Engineering, ISESE ‘03, IEEE Computer Society, pp.223-230, 2003..

[7] SINGH, Gurdev; SINGH, Dilbag; SINGH, Vkram. A Study of Software Metrics. IJCEM International Journal of Computational Engineering & Management, Vol. 11, January 2011.

[8] SINGH, Ram; BHAGAT, Avinash; KUMAR, Navdeep. Generalization of Software Metrics on Software as a Service (SaaS). International Conference on Computing Sciences, 2012.

Dê seu voto em www.devmedia.com.br/esmag/feedback Ajude-nos a manter a qualidade da revista!

Referências

Documentos relacionados

A psicanálise foi acusada de normatizadora (FOUCAULT, 1996) por haver mantido o modelo familiar burguês nuclear como o centro de sua teoria como é manifestado

No sentido de reverter tal situação, a realização deste trabalho elaborado na disciplina de Prática enquanto Componente Curricular V (PeCC V), buscou proporcionar as

Para atingir este fim, foram adotados diversos métodos: busca bibliográfica sobre os conceitos envolvidos na relação do desenvolvimento de software com

Quando os dados são analisados categorizando as respostas por tempo de trabalho no SERPRO, é possível observar que os respondentes com menor tempo de trabalho concordam menos que

Objetivo: Garantir estimativas mais realistas e precisas para o projeto, ao considerar nesta estimativa o esforço necessário (em horas ou percentual do projeto) para

O estudo múltiplo de casos foi aplicado para identificar as semelhanças e dissemelhanças na forma como as empresas relacionam seus modelos de negócios e suas

Nas leituras de falhas efetuadas, foram obtidos códigos de anomalia por meio de dois diferentes protocolos de comunicação: o ISO 14230 KWP (2000) e o ISO 15765-4 CAN. A seguir, no

VUOLO, J.H. Fundamentos da Teoria de Erros, Edgard Blucher Ltda, São Paulo, 1992 YIN, R.K. Estudo de caso: planejamento e métodos, Bookman, Porto Alegre, 2005.. Quando a