• Nenhum resultado encontrado

CAPÍTULO 6. EXPERIÊNCIA COM DADOS DE PROCESSOS

A.1. Componentes do Instrumento

O instrumento incorpora três elementos: um processo para construção de modelos de simulação; um micromodelo para simulação de processos de software e um componente software responsável pela automação do processo e integração entre os componentes do instrumento.

132

A.1.1. O processo para construção de modelos de simulação

O processo tem como objetivo sistematizar a extração de modelos quantitativos de forma que o modelo resultante seja integrado ao processo definido para o projeto e permita a realização de simulações.

A Figura A.1 apresenta uma visão macro do processo proposto utilizando a notação BPM (OMG, 2008) e cada subprocesso está descrito sucintamente a seguir.

Figura A.1. Esboço do processo para construção de modelos de simulação

I. Preparar dados

A preparação dos dados consiste em excluir os dados sem significância e realizar transformações (redução vertical, normalização, discretização e outras, conforme a técnica de extração de modelos que será utilizada) para facilitar a identificação e quantificação das relações entre os atributos sob análise.

Para iniciar a preparação dos dados foram estabelecidas algumas condições: (i) os dados utilizados deveriam ter sido previamente avaliados por algum outro instrumento, como por exemplo (BARCELOS e ROCHA, 2008; BERARDI e RUIZ, 2009), ou seja, considera-se que os dados estariam corretos e íntegros; (ii) não haveria ausência de dados em cada tupla a ser analisada, portanto, considera-se que os dados a serem processados estão completos; e (iii) cada medida provida ao mecanismo deveria estar associada à sua definição, ao momento (medida de tempo) em que o dado foi gerado e à entidade ao qual se refere.

Como resultado da preparação de dados, obtém-se uma instância do mesmo conjunto de dados de entrada devidamente estruturada, para potencializar os resultados do conjunto de técnicas aplicadas durante a extração dos modelos. A preparação dos dados deve manter o rastro para os dados originais, que são importantes para prover informações aos usuários durante a interação com a tecnologia.

133

II. Extrair modelos

A extração de modelos tem como objetivo identificar e quantificar as relações entre os elementos que constituem o conjunto de tuplas resultante da preparação dos dados. A execução deste componente do processo consiste na combinação de técnicas de análise de dados.

Os modelos resultantes da extração serão dotados de características de modelos de séries temporais, de modelos causais e de modelos qualitativos, pois os modelos são construídos considerando a sequência temporal da ocorrência de cada dado, a influência que cada medida pode exercer nas demais medidas e em informações que podem orientar a busca por relacionamentos entre as medidas analisadas (dados qualitativos). A sequência temporal associada a cada dado analisado servirá como referência para a busca de relações causa-efeito no conjunto de dados fornecido para análise. As informações que podem apoiar a inferência sobre as relações existentes entre as medidas são oriundas de uma biblioteca de modelos preditivos capaz de servir como uma fonte de relações prováveis entre medidas. Esta biblioteca de modelos preditivos está descrita no APÊNDICE C.

A extração de modelos provê como resultado quatro tipos de modelos: modelos individuais por papel, modelos de equipe, modelos por componente de processo e os modelos integrados, que concatenariam os demais modelos.

Os modelos individuais por papel representam o desempenho de cada indivíduo da organização de acordo com o papel que o mesmo assume durante a execução dos componentes de processo. A importância do desenvolvimento destes modelos reside no entendimento que características como comunicação, inteligência e experiência têm um efeito inquestionável no desempenho dos indivíduos (ROMBACH et al., 2008). Portanto, identificar e mensurar estes efeitos em cada tipo de atividade exercida pelos indivíduos da organização pode prover elementos significativos para a melhoria do desempenho da execução dos processos como um todo.

A Figura A-2. ilustra que modelos diferentes poderiam ser obtidos de acordo com o papel que cada indivíduo assume ao executar um componente de processo. Por exemplo, para alguns papéis, a experiência do indivíduo pode exercer mais influência no esforço requerido para execução das tarefas do que em outros.

134

A extração de modelos por equipe visa caracterizar o desempenho de um grupo na execução de um componente de processo. Enquanto indivíduos podem ser caracterizados por terem um desempenho inferior aos demais indivíduos da organização, a presença desses em equipes pode aumentar o desempenho do grupo em função da existência de uma característica pessoal, como liderança, comunicação e colaboração. Então, disponibilizar uma visão mais ampla sobre o desempenho de equipes pode ser útil, especialmente quando um componente de processo exige que as tarefas sejam realizadas em equipe. A Figura A-3 ilustra a possibilidade de equipes diferentes serem caracterizadas por modelos diferentes.

135

Figura A-3. Modelos por equipe

Os modelos que caracterizam o comportamento dos componentes de processo que constituem o processo padrão da organização independem da equipe ou do indivíduo que os executa (Figura A-4). É provável que estes modelos apresentem uma imprecisão inerente às diversas fontes que influenciam a execução do processo.

Figura A-4. Modelos para cada componente de processo

O modelo integrado reúne todos os modelos e é responsável pela propagação dos efeitos observados em cada modelo ao longo da execução do processo definido para o projeto. O modelo integrado é criado dinamicamente pela interação do usuário, conforme a composição do processo e os parâmetros fornecidos para caracterizar o cenário de utilização do componente processo.

136

A quantificação dos relacionamentos existentes entre as variáveis que os modelos analíticos proveem pode ser utilizada como base para realizar simulações (DONZELLI e IAZEOLLA, 2001; CHOI e BAE, 2006; CHOI e BAE, 2009). Nesta direção, após a etapa de extração dos modelos, a simulação poderia ser executada a partir dos valores ou intervalo de valores conhecidos para o cenário que se pretende investigar. Como resposta, a simulação proveria a probabilidade de obter determinados resultados.

III. Avaliar modelos

Após a extração, os modelos devem ser submetidos a um conjunto de testes para avaliação de acurácia. Para realização dos testes, faz-se necessário criar um subconjunto da base histórica de projetos que sirva como referência de comparação e que não tenha sido utilizado na extração dos modelos. A comparação deve ser feita por meio de medidas, tais como MRE, MMRE, RMS e PRED21 (WITTEN e FRANK, 1999).

Dada a escassez de dados da base histórica de projetos, para cada modelo preditivo extraído ou evoluído, é aplicado o método holdout22 de forma incremental combinado com randomização e testes de hipóteses, repetido um número estatisticamente significante de vezes (MENZIES et al., 2005).

Os indicadores de acurácia são informações mantidas atreladas a cada modelo e indicam quando os modelos devem ser submetidos à revisão (recriação) devido à baixa calibração. À medida que um novo conjunto de dados é agregado à base de medidas, os modelos devem ser submetidos a nova avaliação, utilizando as novas entradas como dados de teste. Os resultados podem indicar se os modelos precisam ou não evoluir. Em caso afirmativo, os modelos vigentes devem ser depositados no repositório de modelos, para servir como fonte de informação para auxiliar a nova busca por relações, e todo o processo pode ser reiniciado.

21

MRE (Magnitude of Relative Error) Magnitude do Erro Relativo; MMRE (Mean Magnitude of Relative Error) Magnitude Média do Erro Relativo; RMS (Root Mean Square) Raiz Quadrada da Média; PRED (Prediction

Level) Nível de Predição.

22 O método holdout pode ser utilizado para coletar informações referentes ao erro das estimativas realizadas por

137

A.1.2. O MSPS - micromodelo para simulação de processos de software

A construção do MSPS foi influenciada pelas ideias descritas em (KHOSROVIAN et al., 2008), (RAFFO et al., 2005) e (DONZELLI e IAZEOLLA, 2001), que, respectivamente, propõem a aplicação de micropadrões de modelos de simulação para potencializar a reutilização; a utilização de blocos genéricos para facilitar a construção de modelos de simulação; e a combinação de técnicas de simulação para construção de modelos híbridos, neste caso, de eventos discretos com Dinâmica de Sistemas.

A Figura A-5 ilustra o MSPS. Com exceção da representação dos eventos ‘Iniciar Execução’ e ‘Execução Concluída’, a notação utilizada para representar o MSPS é a mesma utilizada na representação de modelos de dinâmica de sistemas, que é baseada em diagramas de repositórios e fluxos23.

Essencialmente, o micromodelo representa a quantidade de trabalho a ser realizada sob uma determinada taxa de produção indicada pelo atributo Produtividade. O atributo Disponibilidade representa a quantidade de horas diárias que o colaborador ou equipe alocada destinará para a execução da atividade. Cada colaborador ou equipe, ao longo das suas atividades, pode inserir defeitos no produto. O atributo TaxaInclusaoDefeitos representa esta medida. A computação do Custo é realizada com base no custo-hora dos colaboradores alocados e contabiliza apenas as horas produtivas. O Esforço é calculado de acordo com a taxa de produção empregada na elaboração dos produtos de trabalho24. Dois eventos são utilizados para controlar o início e o fim da execução das instâncias do micromodelo e possibilitam o encadeamento entre todas as instâncias durante a execução do processo.

23

BARROS (2001) realiza uma explanação sobre a notação e representação de modelos baseados em dinâmica de sistemas.

24 Utilizando a notação básica de dinâmica de sistemas, a relação entre Produzir e Esforço deveria ser

representada por um fluxo, tal como Produzir e Custo, entretanto a Anylogic permite realizar esta simplificação sem que isso implique um modelo diferente.

138

Figura A-5. MSPS - Micromodelo de Simulação de Processos de Software

Uma instância do micromodelo foi desenvolvida na ferramenta comercial Anylogic25, que provê apoio à construção de modelos de simulação utilizando as técnicas de simulação de eventos discretos, dinâmica de sistemas e baseada em agentes.

A.1.3. O componente software

A realização de estudos de simulação com os modelos deve ser realizada com ferramentas adequadas para este fim. No mercado há diversas ferramentas disponíveis. A Vensim26, por exemplo, é a ferramenta mais utilizada por pesquisadores (ZHANG et al., 2008a). Entretanto, vale ressaltar que é necessário conhecimento especializado para manipulação destas ferramentas.

O componente software encapsula a execução de todo o processo descrito na seção anterior (Figura A-6) e provê uma interface para o usuário realizar simulações. Para facilitar a integração com o MSPS, este componente também foi construído na ferramenta Anylogic.

O software interage com três atores: (i) Organização, que representa a fonte que provê dados para a extração dos modelos. Esta fonte pode ser o administrador de banco de dados de uma organização ou um software configurado para interagir com a tecnologia por meio de uma interface de comunicação; (ii) Biblioteca de Modelos, software que provê informações

25 http://www.xjtek.com/

26 Vensim é marca registrada da Ventana Systems. Mais informações podem ser encontradas no site

139

sobre prováveis relacionamentos existentes entre as variáveis contidas no conjunto de dados submetido à tecnologia; e (iii) Usuário, que representa os diversos papéis que utilizam a tecnologia e fornecem os parâmetros necessários à simulação.

Uma vez que o ator Organização submeta os dados para processamento, o software inicia a preparação dos dados. A partir de então, o ator Organização não precisa mais interagir com o software, que executa todo o processo de construção dos modelos a partir da composição dos micromodelos. Na Figura A-6 o caso de uso Extrair Modelos é acionado indiretamente por invocação (estereótipo <<invokes>> da UML 2.0) pelo caso de uso Preparar Dados. O software constrói um modelo de simulação integrado que combina todos os micromodelos extraídos (por indivíduo e papel, por equipes e por componente processo) de acordo com as informações contidas nos parâmetros e promove a integração por intermédio do MSPS, que representa a dinâmica da execução dos processos e propaga os efeitos por todos os elementos envolvidos durante a execução. Os dados submetidos podem incluir: o processo definido (combinação de componentes de processo a ser utilizada), os profissionais alocados em cada papel, o tamanho do projeto, as restrições de prazo, a disponibilidade dos recursos, os riscos do projeto, dentre outras.

Durante a extração dos modelos, o software estabelece uma comunicação com a Biblioteca de Modelos com o intuito de obter informações que facilitem a identificação das relações existente no conjunto de dados sob análise e que contribuam com o desempenho do software durante a extração dos modelos.

Ao concluir a extração do modelo, o próprio software invocará a funcionalidade de avaliação. O modelo resultante será submetido a um conjunto de testes e os indicadores de acurácia serão atrelados aos respectivos modelos para que, posteriormente, também sirvam de subsídio para análise dos resultados das simulações.

140

Figura A-6. Diagrama de casos de uso do software.

Quando o ator Usuário aciona a simulação, o software fornece valores prováveis para as variáveis determinadas como alvo da simulação e informações sobre a acurácia dos modelos utilizados para realizar a simulação.