APLICACAÇÃO DE METRICAS E INDICADORES NO MODELO DE REFERENCIA CMMI-Dev NIVEL 2 - PDF
Download "APLICACAÇÃO DE METRICAS E INDICADORES NO MODELO DE REFERENCIA CMMI-Dev NIVEL 2"
Leila Farias Rijo
1 APLICACAÇÃO DE METRICAS E INDICADORES NO MODELO DE REFERENCIA CMMI-Dev NIVEL 2 Renan J. Borges 1, Késsia R. C. Marchi 1 1 Universidade Paranaense (UNIPAR) Paranavaí, PR Brasil Resumo. Este artigo faz a apresentação sobre a aplicação de métricas no modelo de referência CMMI-Dev nível 2, utilizando a metodologia SCRUM no desenvolvimento de produtos computacionais, apresentando algumas práticas e técnicas para o desenvolvimento e execução da sua devida aplicação. As informações deste artigo também foram levantadas a partir de práticas em campo e aplicação do modelo CMMI-Dev na empresa onde atuo que, atualmente, possui certificação CMMI nível Introdução O CMMI-Dev (Capability Maturity Model for Development), na sua versão atual 1.3, fornece um conjunto abrangente e integrado de diretrizes que atualmente permite a utilização de metodologias ágeis, promovendo grande praticidade e agilidade nos processos. Mas a utilização de modelos de referência como o CMMI-Dev, exige que sejam definidas métricas para medição e análise, que são utilizados e aplicados através de métricas e indicadores que podem ser definidos a partir de técnicas e estudos desenvolvidos por especialistas e, auxiliar gerentes de projetos a decidir quais indicadores utilizar em situações adversas [Rocha, Souza e Barcellos, 2012]. Este artigo tem como principal objetivo explorar técnicas e práticas com a implementação de métricas e indicadores para medição e análise de projetos. Todas as técnicas são elaboradas a partir dos processos com práticas objetivas e genéricas do modelo de referência CMMI-Dev, utilizando-se de métodos que permitem definir a qualidade e relevância das métricas e indicadores. Estes são recursos de fundamental importância para que o gerente de projetos tenha uma visão das áreas podendo monitora-las junto aos processos do projeto e ao mesmo tempo permitir que este execute decisões, não só baseado na pressão ou emoção do momento, mas com precisão e agilidade. 2. Métricas e Indicadores As práticas adotadas em determinadas áreas do processo do CMMI-Dev exigem um ciclo constante de inspeção, adaptação e melhoria para definir maneiras eficazes de se medir o processo. Tal tarefa não é tão complexa para a equipe de desenvolvimento, nem tão simples, uma vez que requer conhecimento, técnica e atenção que pode até exigir
2 um esforço considerável do gerente de projetos em termos de recursos humanos [SEI, 2010]. A utilização de métricas e indicadores é um tema muito discutido pela comunidade de de engenheiros de software. Sua maior relevância está relacionada à característica principal de permitir um acompanhamento mais preciso dos processos executados no projeto. Métrica pode ser uma ótima ferramenta no apoio ao controle de projetos de desenvolvimento de software, apoiando responsáveis pelo projeto no acompanhamento de forma mais precisas, possibilitando a melhoria contínua dos processos da organização [Sato, 2007]. A determinação de métricas para um determinado contexto permite a interpretação do usuário. Sendo assim, o usuário pode interpretar o mesmo e determinar algum tipo de indicador, sendo possível que este indicador esteja baseado em outra métrica ou um valor base [Rocha, Souza e Barcellos, 2012]. A figura 1 apresenta um exemplo real da utilização de medidas, métricas. Figura 1: Exemplo de Métricas para medir desempenho As medidas utilizadas na figura 1 são os pontos entregues pelo time, relacionados à capacidade média no atendimento de pontos da equipe de desenvolvimento e o período em que os pontos são atendidos, que é a linha do tempo. A relação entre as medidas cria as características de métricas, que proporcionam aos interessados pelo projeto, acompanhar o desempenho obtido no andamento do mesmo. A mesma figura 1 pode passar a ser um indicador se, por exemplo, uma faixa que nos permita executar uma comparação dos resultados for incluída, exemplificado na figura 2. Figura 2: Exemplo de Aplicação de Indicadores
3 A figura 2 apresenta uma linha com a capacidade média de atendimentos da equipe que permite aos encarregados interpretar uma comparação com base, utilizando esta medida como suporte. Assim, é possível identificar inúmeros indicadores partindo de um mesmo grupo de métricas Métricas Objetivas e Subjetivas Conforme apresentado no capítulo 2, é possível definir que as métricas são compostas por medidas que permitem a avaliação dos atributos de um objeto. O valor de uma métrica objetiva é definido pelo objeto que está sendo analisado, e não do ponto de vista do avaliador. Podemos citar como exemplo, a quantidade de linhas de códigos de um projeto, pois podemos contar essas linhas a partir de uma ferramenta de forma automática, independente de uma interpretação ou ponto de vista do avaliador [Sato, 2007]. Nas métricas subjetivas, a interpretação dos resultados não é relevante apenas ao objeto em questão, mas também depende do ponto de vista do avaliador. Segundo Sato [2007], um exemplo interessante seria definirmos a qualidade do código de um projeto de software em uma escala de 0% a 100%. Apesar do mesmo apresentar um intervalo numérico, ainda depende do ponto de vista de quem está avaliando, pois os critérios que ele utilizará para encontrar a qualidade do código podem variar de pessoa para pessoa Métricas Qualitativas e Quantitativas Além da classificação de métricas como objetivas, ainda podemos classificá-las como qualitativas ou quantitativas. As métricas quantitativas apresentam um intervalo de uma determinada magnitude que geralmente é definida pelas medidas ou um percentual, permitindo assim que as mesmas sejam comparadas entre si. A figura 3 apresenta uma comparação entre métricas que pode acontecer até mesmo em um único gráfico [Sato, 2007]. Figura 3: Gráfico comparativo de Métricas A figura 3 apresenta a fórmula, contendo a quantidade de pontos que a equipe trabalhou durante a semana. Tal fórmula determina as colunas de velocidades e uma medida percentual que teremos a porcentagem dos pontos trabalhados e quais foram
4 aceitos, levando em consideração a pontuação que não estava planejada no início da semana. Por outro lado as métricas qualitativas podem mensurar medidas que não são representadas por palavras, mas por símbolos ou figuras ao invés de números. Um exemplo de métricas qualitativas é apresentado na figura 4 [Sato, 2007]. Figura 4: Exemplo de métrica Qualitativa Na figura 4, o sinal verde representa um sinal de conformidade, o amarelo de que se deve manter a atenção e a ocorrência, e o vermelho seria uma inconformidade em relação ao aspecto desejado pela empresa. 2.8 Abordagem sobre Goal Question Metric Uma das abordagens mais conhecidas e mais citadas para aplicação no modelo CMMI- Dev por diversos autores é a GQM, que é proposta por Basili [apud Sato, 2010]. Esta possui três níveis de modelos de medição. O primeiro nível possui um objetivo de nível conceitual, onde um objetivo é definido para um objeto em relação a algum modelo de qualidade, objeto que pode ser um documento, código-fonte, testes, especificação, entrevista, codificação, pessoas, hardware entre outros semelhantes. No segundo nível, existe uma camada operacional no que se refere a responder uma pergunta, ou seja, um conjunto de perguntas caracteriza como será avaliada a métrica e o cumprimento do objetivo escolhido. Sendo assim, as perguntas devem responder às características referentes à qualidade almejada para o produto final. E por fim, no terceiro nível conhecido como Quantitativo, os conjuntos de dados que estão associados à pergunta são definidos a fim de encontrar a fórmula quantitativa que possa responder à pergunta. Então é possível concluir que este modelo se caracteriza com uma estrutura hierárquica, que começa com um objetivo claro e comum, e que a partir destes objetivos seja possível definir perguntas para que as medidas que irão compor as métricas sejam encontradas. Tabela 1: Exemplo de aplicação do modelo GQM Objetivo Motivação Tópico Objeto Ponto de Vista Pergunta Métricas Pergunta Reduzir o tempo gasto no processo de correção de defeitos gerados por novas funcionalidades sob o ponto de vista gerencial. Qual é o tempo gasto por sprints na correção de defeitos? Quantidade total de horas gastas nas soluções de defeitos no ciclo. Quantidade ideal de horas gastas nas correções por ciclo. Avaliação do gerente responsável. A quantidade de defeitos gerados está reduzindo? Quantidade de defeitos no ciclo atual. Quantidade de defeitos no ciclo anterior. Quantidade ideal de defeitos menor que o ciclo anterior. Avaliação do gerente responsável.
5 A tabela 5 apresenta um exemplo de modelo de levantamento de informações GQM. 6. Conclusão Cada vez mais o mercado de software tem buscado ferramentas para medir produtos e desenvolvimento de projetos que eliminam processos burocráticos e, que tragam soluções menos complexas sem que percam a qualidade do produto computacional desenvolvido. Já o CMMI-Dev, tem apresentado alto grau de adaptação a diferentes necessidades da empresa e suas particularidades, fazendo desta metodologia uma das mais recomendadas para o desenvolvimento de software. É possível ver que várias práticas do uso de métricas e indicadores proporcionam alto nível de informações eficazes se aplicadas com técnicas adequadas, o que permite entre integrantes da equipe e interessados pelo projeto um acompanhamento mais preciso e, consequentemente, diminuindo riscos do projeto e aumentando produtividade e comprometimento da equipe quanto à qualidade e prazos de entrega, o que está chamando muito a atenção das corporações e gerentes de projetos. 7. Metodologia de pesquisa Para o desenvolvimento deste artigo foi necessária a utilização de ferramentas como Redmine (repositório de informações referentes ao projeto), Microsoft Excel (gerador dos gráficos e indicadores conectados ao banco de dados MySQL), a extensa pesquisa no manual de referência do CMMI-Dev, v1.3 (2010), escrito pela Software Engineering Institute, sua mantenedora. Hoje em dia atuo em uma empresa de desenvolvimento de softwares que recentemente recebeu a certificação CMMI-Dev nível 2, as práticas de medição e análise conforme estudadas no artigo. Sendo assim, muitas informações são tiradas de práticas em campo e da consultoria que recentemente levou a metodologia à execução. 8. Referências ROCHA, A.R.C.; SOUZA, G.S.; BARCELLOS M.P. Medição de Software e Controle estatístico de Processos, PQBQ Software, Brasília, n. 8, 2012, Disponível em: < Acessado em: (12/03/2013) SATO, DANILO TOSHIAKI, 2007, Uso eficaz de métricas em métodos ágeis de desenvolvimento de software, Dissertação de Mestrado, Instituto de matemática e estatística da Universidade de São Paulo, São Paulo, SEI, 2010, Capability Model Integration (CMMI) for Development, Versão 1.3, Carnegie Mellon University, Software Engineering Institute, Technical Report CMU/SEI-2010-TR-033.