• Nenhum resultado encontrado

Capítulo 5 Prova de Conceito e Apoio Ferramental 73 

5.3  Apoio Ferramental: DPPI Framework 80 

embuta o conjunto de práticas de análise causal identificadas pelas diretrizes (Kalinowski et al., 2008a) e consideradas em DPPI (Kalinowski et al., 2010). Adicionalmente, o framework resultante automatiza o ciclo de retroalimentação proposto, permitindo estabelecer e manter os casos de aprendizado da rede Bayesiana e realizando a inferência que permite elaborar o diagrama de causa e efeito probabilístico. Maiores detalhes sobre a ferramenta podem ser obtidos em (Paes, 2010) ou no resumo contido no Anexo E. Uma visão geral de sua arquitetura e de como a ferramenta poderia ser empregada para realizar a prova de conceito, permitindo entender sua utilização, se encontra a seguir.

5.3.1 Arquitetura da Ferramenta DPPI Framework

Seis componentes foram identificados para a arquitetura: o componente principal, um componente para caracterizar a sessão de análise causal e um componente para cada uma das quatro atividades de DPPI. A Figura 5.5 ilustra a arquitetura proposta.

Figura 5.5. Arquitetura da Ferramenta DPPI Framework.

O componente principal da ferramenta a torna acessível pela Web e assegura que a abordagem seja seguida de forma sistemática. Ao longo de DPPI, ele provê ferramentas estatísticas externas (previamente registradas) para que sejam usadas para a geração dos gráficos U e Pareto. A decisão de utilizar ferramentas externas

para esta geração se deu em função da grande variedade de ferramentas estatísticas existentes que já tratam esta geração adequadamente.

Considerando as entradas da ferramenta, os dados de defeitos do módulo atual podem ser importados em formato XML pelo componente de caracterização do projeto, onde o nome do projeto, do módulo e a atividade de desenvolvimento devem ser informados. Para isto, os dados dos defeitos devem seguir o formato especificado em um XML Schema. O XML Schema em questão é o mesmo utilizado em ISPIS para importar defeitos (Kalinowski e Travassos, 2004). Desta forma dados de defeitos gerados em ISPIS podem ser importados diretamente. Para importar dados de defeitos em outros formatos XML a ferramenta de integração XMapper pode ser utilizada (Spinola et al., 2004), evitando a transformação manual de XML.

Ao longo da realização das atividades de DPPI todas as informações geradas e os casos de aprendizado para a rede Bayesiana são estabelecidos e mantidos sem esforço adicional. Considerando as saídas da ferramenta, ela gera um relatório completo com toda a documentação necessária para evidenciar a realização das práticas específicas da área de processos CAR do CMMI. Adicionalmente, as propostas de ação podem ser exportadas (em formato Project Data Interchange XML) de forma que sua implementação possa ser gerenciada utilizando ferramentas externas de gerenciamento de projeto.

Para ilustrar o uso da ferramenta as sessões seguintes simulam como seria a realização da prova de conceito descrita na seção anterior com o uso da ferramenta.

5.3.2 Caracterização da Reunião de Análise Causal

A Figura 5.6 apresenta o componente para a caracterização da sessão de análise causal. Neste componente é possível especificar o projeto, o módulo e a atividade de desenvolvimento para a qual DPPI será aplicada. Adicionalmente é possível importar a lista de defeitos encontrados na inspeção desta atividade.

Tendo realizado estas definições iniciais é possível iniciar a aplicação de DPPI. Ao selecionar o início de DPPI o componente principal direcionará a sessão de análise causal para a primeira atividade de DPPI, que é a análise da atividade de desenvolvimento.

5.3.3 Análise da Atividade de Desenvolvimento

Nesta atividade a ferramenta disponibiliza ferramentas estatísticas externas cadastradas previamente para a geração dos gráficos U. Uma vez gerados, os gráficos U podem ser carregados na ferramenta como imagens para que possam ser analisados e a análise registrada. Adicionalmente o objetivo quantitativo de melhoria é registrado. A Figura 5.7 ilustra a atividade sendo realizada na ferramenta para a prova de conceito descrita na seção 5.2. O tratamento das métricas PIQ (Phase Input

Quality) e POQ (Phase Output Quality) ainda não foi implementado na ferramenta.

Figura 5.7. Apoio Ferramental à Atividade de Análise da Atividade de Desenvolvimento.

Após finalizar esta atividade inicia-se a próxima atividade de DPPI, que é a preparação para análise causal.

5.3.4 Preparação para Análise Causal

Nesta atividade a ferramenta disponibiliza ferramentas estatísticas externas cadastradas previamente para a geração dos gráficos de Pareto. Uma vez gerado, o mesmo pode ser carregado na ferramenta para que possa ser analisado. A ferramenta possibilita ainda visualizar todos os defeitos de determinada categoria para que sua descrição possa ser analisada e os erros sistemáticos cadastrados. A Figura 5.8 ilustra a atividade sendo realizada na ferramenta para a prova de conceito descrita na seção 5.2.

Figura 5.8. Apoio Ferramental à Atividade de Preparação para Análise Causal. Para cada erro sistemático adicionado, ao clicar em “Associate Defects”, o sistema apresenta uma lista de defeitos (Figura 5.9) filtrada pela categoria do erro

Figura 5.9. Associação de Defeitos aos Erros Sistemáticos.

Após finalizar esta atividade inicia-se a próxima atividade de DPPI, que é a reunião de análise causal.

5.3.5 Reunião de Análise Causal

Conforme previsto em DPPI, nesta atividade a ferramenta permite registrar causas para os erros sistemáticos e propostas de ação para estas causas. A Figura 5.10 ilustra a atividade sendo realizada na ferramenta para a prova de conceito descrita na seção 5.2.

Além de registrar as causas é possível consultar a distribuição de probabilidades das causas de acordo com a inferência Bayesiana (Figura 5.11). Para o aprendizado e a inferência Bayesiana a API Java WEKA (WEKA, 2011) foi utilizada. Os valores das probabilidades não coincidem com os apresentados da prova de conceito da seção 5.2 porque a base foi populada apenas com uma amostra de defeitos dos módulos anteriores. A representação destas informações no formato de um diagrama de causa e efeito probabilístico ainda não foi implementada, em função dos prazos para a construção da ferramenta. Entretanto, esta representação pode facilmente ser feita manualmente durante a reunião de análise causal a partir das informações, fazendo uso de um quadro branco.

Ao final da atividade, as novas causas identificadas são utilizadas para atualizar o modelo causal com os novos casos de aprendizado, que associam cada uma das causas identificadas com todos os defeitos do erro sistemático sendo

analisado. Note que, de acordo com DPPI, todos estes defeitos pertencem a uma mesma categoria de defeitos. Isto assegura o fechamento do ciclo de retroalimentação de DPPI (Figura 4.4) sem esforço manual adicional.

Figura 5.10. Apoio Ferramental à Atividade de Reunião de Análise Causal.

Assim, na próxima sessão de análise causal um erro sistemático relacionado com o tipo de defeitos “Fato Incorreto” apresentará probabilidades atualizadas. Como estas probabilidades possuem significado apenas para projetos similares, instâncias separadas da ferramenta devem ser mantidas para diferentes tipos de projeto. A avaliação da similaridade entre os projetos é a mesma que é realizada para o controle estatístico de processos e está fora do escopo de DPPI.

Figura 5.11. Distribuição de Probabilidades de Acordo com a Inferência Bayesiana. Após finalizar a reunião de análise causal inicia-se a próxima atividade de DPPI, que é a melhoria da atividade de desenvolvimento.

5.3.6 Melhoria da Atividade de Desenvolvimento

Nesta atividade o apoio ferramental permite gerenciar as propostas de ação até sua conclusão e registrar como se deu a comunicação das ações para a equipe de desenvolvimento. A Figura 5.12 ilustra a atividade sendo realizada na ferramenta para a prova de conceito descrita na seção 5.2. Após conclusão desta atividade finaliza a sessão de análise causal e encerra a aplicação de DPPI.

Figura 5.12. Apoio Ferramental à Atividade de Melhoria da Atividade de Desenvolvimento.