Técnicas tradicionais de descoberta de processos incluem brainstorming, entrevistas, análise de documentos, observação passiva ou ativa e amostragem do trabalho (Schedlbauer 2010). Estas técnicas são manuais, não envolvendo uma análise rigorosa de dados previamente existentes (van der Aalst 2011). Elas demandam uma grande quantidade de recursos e tempo, dos quais uma organização nem sempre pode dispor.
Segundo van der Aalst (2011), a modelagem tradicional é ainda propensa a diversos erros. O analista que projeta um modelo geralmente se concentra no comportamento padrão do processo, deixando de fora, por exemplo, os 20% de casos menos significativos, justamente aqueles que tendem a ser mais problemáticos durante a execução do processo, embora sejam mais raros. Pessoas também podem possuir visões tendenciosas de um processo, variando de acordo com sua função dentro da organização.
Enquanto a maioria dos modelos de simulação de processos se baseia em distribuições de probabilidade fixas, o comportamento humano é difícil de identificar corretamente. Funcionários trabalham em diversos processos concomitantemente, distribuindo sua atenção, o que dificulta a modelagem de um processo individual. Um modelo pode ser criado ainda em um nível de abstração diferente daquele necessário para uma análise específica.
A mineração de processos tem por objetivo resolver os problemas apresentados durante a modelagem e análise de um processo, através da engenharia reversa de dados reais de sua execução, extraídos a partir de sistemas de informação (van der Aalst et al. 2003a). Ela permite avaliar diferentes níveis de abstração de um processo, como, por exemplo, um modelo com 100% dos casos e um modelo com os 80% de casos mais frequentes (van der
32
Aalst 2011). Ao analisar dados reais de execução, a possibilidade da utilização de visões tendenciosas e generalistas de um processo durante sua modelagem é eliminada. A mineração de processos diminui ainda o custo das atividades de modelagem, permitindo a obtenção mais rápida de modelos, que podem ser refinados posteriormente através de técnicas tradicionais.
A mineração de processos é um campo de pesquisa relativamente recente. O termo surgiu em 1999, a partir de um projeto de pesquisa desenvolvido por Wil van der Aalst e Ton Weijters (van der Aalst 2011). Em van der Aalst e Weijters (2004), os autores definem mineração de processos como ―uma metodologia para destilar uma descrição estruturada de processo a partir de um conjunto de execuções reais‖. A mineração de processos assume que é possível coletar um log de processos contendo a ordem em que os eventos de cada instância são executados. Um log de eventos pode ser obtido a partir de qualquer sistema de informação que armazene estes dados, seja ele um BPMS, um ERP, um CRM ou um sistema desenvolvido localmente pela organização. A partir desta hipótese, diversas técnicas têm sido desenvolvidas e publicadas na literatura.
A tabela 1 exemplifica as principais informações que são extraídas em um log de eventos. Para cada evento do log (linha da tabela), indica-se a instância em que ele ocorreu; a atividade a que ele se relaciona; quem foi o responsável por sua execução; e o momento em que o evento foi registrado. Outras informações podem ser extraídas, como, por exemplo, explicitar se um evento foi de início ou término de uma atividade. Nota-se que o termo trace, que indica o registro da execução das atividades de uma instância, é utilizado neste trabalho de maneira intercambiável com o termo instância.
Tabela 1 - Exemplo de informações contidas em um log de eventos
Instância (trace)
Atividade Executor Timestamp
1 Atividade 1 João 01/03/2010 1 Atividade 2 Maria 15/06/2010 1 Atividade 3 Pedro 16/06/2010 2 Atividade 1 Paulo 05/01/2011 2 Atividade 3 Ana 21/04/2011 1 Atividade 4 Rafael 16/04/2011 3 Atividade 1 Ana 08/07/2011 2 Atividade 5 Paulo 10/11/2011 2 Atividade 6 José 02/12/2011
33
Existem três tipos básicos de mineração de processos (van der Aalst e Gunther 2007):
Descoberta, com o intuito de obter um modelo de processo quando ele não existe previamente. As sequências de atividades de cada instância do processo são analisadas, e um modelo geral é obtido a partir delas. Nota-se que esta análise possui alta complexidade, e os algoritmos de descoberta procuram lidar com diversos desafios como ruído (informações erradas), overfitting (quando se exclui casos que não ocorrem diretamente no log), laços, dentre outros. Algoritmos de descoberta serão discutidos em maiores detalhes na seção 3.2.
Conformidade, cujos algoritmos comparam um log de eventos com um modelo pré- existente, analisando se a execução real do processo está de acordo com o que foi modelado. Os desvios encontrados são analisados quanto à sua severidade e sua origem.
Extensão, com o objetivo de enriquecer um modelo com dados do log de eventos, como, por exemplo, projetar informações de desempenho sobre o modelo.
Para Rozinat (2011), a mineração de processos se diferencia do BI pela profundidade da análise realizada. Enquanto as ferramentas de BI se baseiam em indicadores relacionados a processos como um todo, a mineração de processos busca causas nas etapas de um processo, procurando gargalos em dados reais de execução. Armazéns de dados tradicionalmente armazenam somente dados agregados de um processo como um todo, e não de suas etapas. Eles são focados em dados, e desconhecem detalhes dos processos que originaram estes dados (van der Aalst 2011). Van der Aalst vai além, criticando que as ferramentas de BI se focam em dashboards bonitos e relatórios simplificados, e não em análises profundas, o que se deveria esperar pelo termo ―inteligência‖.
Castellanos (2009) inclui a mineração de processos dentro do contexto do Business
Process Intelligence (BPI), que por sua vez, representa a utilização de técnicas de BI para
processos de negócio (Grigori et al. 2004). Dessa forma, a mineração de processos estaria dentro do contexto do BI, porém realizando análises aprofundadas e cientes de processo.
34