Por Daniel Olsson*
A gerência de processos aliada à utilização de workflow tem sido alvo das práticas modernas de gestão de negócio nas organizações. Diante disso, as empresas de engenharia e desenvolvimento de software, que atuam em um mercado de tecnologia em constante mudança, podem tirar grande proveito das vantagens de se aplicar o workflow aos seus processos.
Workflow e processos de negócio
Em 1996, a Workflow Management Coalition (WfMC) publicou um glossário de termos relacionados com workflow e o definiu como a automação de um processo de negócio total ou parcial, no qual documentos, informação e tarefas são passadas de um participante para outro, segundo uma série de regras de procedimentos. É cada vez mais comum as empresas utilizarem essa tecnologia para melhorar os seus processos de negócio através da modelagem, melhoria e automatização do conjunto de seus procedimentos ou atividades interligadas, a fim de que a execução das mesmas alcance o objetivo ou meta almejada pela organização.
Um sistema de workflow deve conhecer e controlar a lógica das transições entre as tarefas do processo e ativar os recursos humanos e recursos de informação necessários para completar essas tarefas. Em outras palavras, em um processo sem workflow o participante vai buscar a tarefa, enquanto que num processo com workflow, a tarefa é atribuída ao participante, ou ao papel desempenhado por ele. O processo se torna mais eficiente pois reduz os custos de pessoal e material, diminui o tempo para um participante perceber que tem uma tarefa a realizar e possibilita balancear as tarefas entre os participantes do processo. Por outro lado, a habilidade de gerenciar o negócio é melhorada com a padronização dos procedimentos, permitindo também que problemas de desempenho sejam mostrados de maneira explícita e então compreendidos.
Apesar da péssima reputação do workflow nos anos 90, decorrente da sua utilização como parte do processo de reengenharia de negócios muito mais focado na tecnologia, ou seja, aplicações e sistemas, do que na participação humana no processo, sua capacidade de controlar e modelar processos da empresa em tempo real gerou o interesse da área de gestão de negócios. De fato, o Business Process Management (BPM) não apenas requer o uso de um forte componente de workflow como espera que o mesmo possua condições de se adaptar para permitir que a integração e automação sejam flexíveis e configuráveis, independente do modelo de processo em si.
O Processo de Desenvolvimento de Software
Um processo de software pode ser visto como um caso particular de um processo empresarial na medida em que engloba um conjunto de atividades ordenadas que têm como objetivo o desenvolvimento ou manutenção de software. Desta forma, a tecnologia de workflow pode ser utilizada para dar apoio ao processo de software em um Ambiente de Desenvolvimento de Software Orientados a Processo (Process-Centered Software Engineering Environments – PSEE).
PSEE é um tipo especial de ambiente de desenvolvimento de software que surgiu nos últimos anos para apoiar a definição rigorosa de processos de software, objetivando automatizar a gerência do desenvolvimento. Tais ambientes provêem serviços para análise, simulação, execução e reutilização das definições de processos, que cooperam no aperfeiçoamento contínuo de processos. Ele ainda permite que os participantes envolvidos no processo recebam orientação automatizada e assistência na realização de suas atividades, sem interferência no processo criativo. Além disso, os processos podem ser modificados dinamicamente, em resposta a estímulos organizacionais ou mudança nos requisitos do software em desenvolvimento. Por todos esses motivos, o processo de desenvolvimento de software pode ser visto como um processo bastante complexo.
Sistemas de gerenciamento de workflow
Um sistema de gerenciamento de workflow (Workflow Management Systems – WfMS) é, por definição, um software capaz de identificar, criar e gerenciar workflows, interpretar a definição do processo, interagir com os participantes e, quando necessário, invocar ferramentas e aplicativos de sistemas de informação. Apesar da grande variedade de produtos de workflow disponíveis no mercado, é possível conceber um modelo genérico de implementação de sistemas de workflow, que abranja a grande maioria destes produtos a fim de tornar-se mais fácil a compreensão do seu funcionamento.
A figura abaixo apresenta os principais componentes de um sistema de gerenciamento de workflow que, segundo a WfMC, são identificados pelas funções que os mesmos desempenham, a saber:
1. Função de tempo de construção: oferece suporte à definição e modelagem do processo de workflow;
2. Funções de controle em tempo de execução: gerencia os processos de workflow em um ambiente operacional. Preocupa-se também com o seqüenciamento de várias atividades para serem manuseadas como parte de cada processo;
3. Interações em tempo de execução com usuários e ferramentas para processamento dos vários passos das atividades.

Figura 1 – Principais componentes de um sistema de gerenciamento de workflow
Workflow no processo de desenvolvimento de softwareOs WfMS são capazes de suportar fluxos de controle complexos, podendo perfeitamente ser aplicados a um processo de engenharia de software. Também devido à característica flexível desses sistemas, eles atendem a certas particularidades, como definições de processos específicos a cada contexto de desenvolvimento de software, e contribuem para a evolução desses processos em relação às modificações.
Entre as vantagens que um WfMS pode trazer ao processo de desenvolvimento de software, destacam-se:
- A modelagem de processos, auxiliada por linguagens de programação de alto nível e ferramentas gráficas;
- A separação entre modelo e implementação, permitindo maior flexibilidade para realizar modificações no processo, sem alterar os que já estão em execução;
- A integração com outros ambientes de workflow distribuídos e heterogêneos, envolvendo diversos setores de uma organização ou mesmo diferentes organizações;
- A execução do processo em si, auxiliando os participantes a entenderem seu papel dentro do processo e coordenarem suas atividades individuais;
- A coordenação, supervisão e auditoria do processo, bem como identificação de pontos a serem melhorados;
- A colaboração entre grupos de trabalho;
- O reconhecimento do processo de trabalho, oferecendo maior liberdade de gerência de responsabilidades.
Conclusão
As complexidades e dificuldades normalmente encontradas no ambiente de desenvolvimento de software podem ser minimizadas com aplicação da gerência de processos auxiliada pela utilização de um sistema de workflow. Os benefícios proporcionados por esta técnica podem resultar em aumento da produtividade e da qualidade do software produzido – metas constantemente almejadas pelas empresas que atuam neste mercado.
Referências ALLEN, R. Workflow: An Introduction. Disponível em: http://www.wfmc.org/Download-document/Workflow-An-Introduction-Rob-Allen.html. p. 1.
GIORDANI, B. T. Protótipo de um Sistema de Gerenciamento de Workflows Baseado em Eventos. Campinas, 1999. Cap. 3, p. 19-25.
MAZONI, L. V. Uso de Sistema de Gerência de Workflow para Apoiar o Desenvolvimento de Software Baseado no Processo Unificado da Rational Estendido para Alcançar Níveis 2 e 3 do Modelo de Maturidade. Porto Alegre, 2001. p. 152-155.
PRIOR, C. Workflow and Process Management. Australia: WMC.
SILVA, R.A.C.; SOARES, L.Z.; BRAGA, J.L. Workflow Aplicado a Engenharia de Software Baseada em Processos: Uma Visão Geral. Viçosa, 2006.
WIKIPEDIA. Sistema de gerenciamento de workflow. Disponível em: http://pt.wikipedia.org/wiki/Sistema_de_gerenciamento_de_workflow. Acesso em 18 jun. 2010.
* Atuando como consultor e projetista na PROCERGS pela SoftDesign há cerca de 5 anos, atualmente é reponsável pela gerência de desenvolvimento do módulo de Administração de Materiais do sistema FPE (Finanças Públicas do Estado do RS), implantado em mais de 15 órgãos públicos. É graduado em Administração de Empresas com ênfase em Produção e Sistemas pela Universidade Federal do RS (UFRGS) e está concluindo o curso de Pós-Graduação em Gerenciamento de Projetos de TI pela Unisul, SC..