A nova geração de BPMS na nuvem – e como eles podem alavancar a gestão por processos na sua empresa

A primeira geração de ferramentas para controlar atividades de processos, antes mesmo de BPM se tornar uma disciplina, eram os Workflows – soluções muitas vezes disponibilizadas como parte de uma solução maior (como um ERP) que possibilitava alguma customização dos fluxos de tarefas envolvidas em algum negócio. De forma especial, esses workflows visavam controlar fluxos de aprovações e ações e tinham um caráter fortemente humano.

Com a evolução da tecnologia e o crescimento das bases de informações, distribuídas em diversas aplicações diferentes dentro da infraestrutura das empresas, aliado ao crescente foco na otimização de processos dentro das empresas, estas soluções ganharam uma sigla própria: BPMS – Business Process Management Suites.

Os BPMS agregam diversas funcionalidades que possibilitam modelar, controlar e monitorar a execução dos processos de negócio, de forma transversal. Isto quer dizer que estas tecnologias evoluíram para um controle de execução dos processos buscando maior interação entre atividades humanas e disparo de ações em diferentes sistemas de informação, conforme a necessidade.

Com foco em tornar as interfaces de interação humana mais ricas (com construções de telas mais elaboradas) e adoção de melhores práticas no acionamento de ações em outros sistemas (especialmente visando aderência com arquitetura SOA), estas soluções acabaram se tornando suítes excessivamente robustas, que exigem elevada infraestrutura computacional pra sustentá-las, e, como consequência, tornando-se tão caras que acabaram afastando o sonho de gerenciar processos de muitas organizações onde o custo não justificava o investimento.

Nos últimos anos porém, temos visto nascer uma nova geração de suítes para gerenciamento de processos despontando no mercado de tecnologia – os BPMS na nuvem, em geral disponibilizados no modelo SaaS (Software as a Service).

Veja como as novas soluções de BPMS na nuvem podem alavancar as iniciativas de gerenciamento de processos em empresas de todo porte:

Motor de processos mais enxuto agiliza a disponibilização dos processos

A grande maioria dos BPMS tradicionais possuíam uma arquitetura na qual a camada de apresentação (telas das tarefas) eram acionadas da mesma forma que outros serviços, o que envolvia uma série de configurações como mapeamento de variáveis de entrada e saída, controles de salvamento intermediários dos dados e componentes visuais que eram um verdadeiro quebra-cabeças. Entre outros problemas, isso dificultava o envolvimento da equipe de negócios na definição das interfaces de uso, pois exigiam conhecimento técnico e de lógica de programação.
Os BPMS na nuvem, em geral, buscam formas mais simplificadas de possibilitar uma construção de interface rica nas tarefas de usuário do processo. Alguns recursos de BPMN de alta complexidade em processos (e baixíssimo uso em projetos reais), como gateways complexos ou controles de transações, não costumam fazer parte dessas suítes, que buscam uma relação 80-20 (cerca de 20% dos elementos que atendem a 80% das necessidades dos processos a serem gerenciados nas organizações).

Capacidade de integração com outros serviços oferecidos na nuvem amplia a inteligência do negócio

As soluções na nuvem baseiam-se em estruturas de conectividade já bastante estabelecidas ao mesmo tempo que conseguem adaptar-se mais rapidamente a novos protocolos de conexão – o que possibilita aos processos aproveitarem a riqueza da conectividade da internet para executar ações não apenas através do acionamento de serviços da sua infraestrutura de informação, mas também de outros serviços disponíveis através da web (por exemplo: serviço de verificação de risco de crédito).

Elimina necessidade de adquirir e manter infraestrutura própria para a solução

Muitas vezes ignorado no custo da solução, ter um BPMS instalado na infraestrutura do cliente não envolve apenas os custos com licenças de uso da solução. É comum que esse tipo de plataforma envolva outros custos como aquisição e manutenção de um servidor próprio de aplicações, e licenças de outros softwares de infraestrutura complementares como portais, barramentos, etc. As soluções disponibilizadas na nuvem já abstraem estes custos, porque muitas vezes uma mesma infraestrutura pode ser compartilhada com outros clientes – mantendo-se é claro o controle de segurança e sigilo sobre os dados de cada um. Este modelo de compartilhamento torna estas soluções mais acessíveis, além de serem modulares (podem ser combinadas com outras soluções de apoio à gestão como portais de gestão de conteúdo, ferramentas analíticas, etc)

Investimento pode começar numa iniciativa simples e crescer junto com o negócio

Os BPMS disponíveis na nuvem permitem gerenciar o custo, ampliando o número de licenças ou a capacidade de processamento conforme a organização for implantando os processos e envolvendo mais pessoas. Assim, a iniciativa de suporte tecnológico para BPM não precisa iniciar grande – ela pode começar com passos bem medidos e planejados de investimento.

Isto também simplifica “dar um pé atrás”. Se o primeiro projeto já demonstrou que a ferramenta não é a mais aderente para as necessidades de processo ou mesmo da cultura da empresa, é mais fácil repensar e mudar de plataforma (sem aquela sensação de ter que forçar a barra para justificar o tempo e dinheiro gasto na aquisição e implantação de uma plataforma muito robusta).

Mais simples de começar

As plataformas de BPM na nuvem já estão prontas e são rapidamente disponibilizadas mediante um start up muito menor. Ainda que seja necessário algum trabalho de inicialização da plataforma, como por exemplo integração com as soluções de gestão de identidades da organização, estruturação da hierarquia de áreas e funções, etc, ainda assim o início do uso da solução é mínimo perto das plataformas instaladas. Além disso, estas ações de inicialização podem acontecer em paralelo à modelagem e configuração do primeiro processo, trazendo ainda mais agilidade para a implantação da solução.

Isto possibilita começar com processos simples e pequenos, sem integração ou baixa interação com outros sistemas, demonstrando resultados rapidamente e possibilitando disseminar a cultura BPM na organização.

Modelagem na nuvem estimula a colaboração e transforma gestores e participantes em profissionais do conhecimento

Os modelos de processos na nuvem podem são mais fáceis de serem compartilhados e editados por grupos de pessoas, ao mesmo tempo que controlam diferentes niveis de segurança (quem pode ver, quem pode editar, quem pode disponibilizar) e mantêm histórico das diferentes versões do processo.

Isto estimula os participantes a contribuírem mais ativamente na elaboração do fluxo e também das interfaces e formulários para as tarefas que serão executadas no processo automatizado.


Procurando ajuda para identificar a plataforma de BPM mais alinhada com as necessidades da sua empresa? Conheça os serviços da iProcess em soluções e projetos de automação de processos:
http://iprocess.com.br/bpm/automacao-de-processos/

 

5 fatores de sucesso para enfrentar os problemas de integrações na automação de processos

Tendo participado de vários de projetos de automação de processos, se tem algo que podemos afirmar como sendo um denominador comum a projetos de automação em empresas das mais diferentes áreas, é dos problemas que surgem quando existe necessidade de integração do processo automatizado com outros sistemas/organizações.

O fato é que problemas relacionados a integrações invariavelmente vão ocorrer, apenas variando de acordo com o grau de complexidade do processo e das integrações em si. Por outro lado, existem sim alguns fatores e cuidados que podem evitar problemas ou facilitar a sua resolução.

Ter conhecimento destes fatores no projeto vai prepará-lo melhor para o que vem pela frente.

Vamos a eles?

1. Ter uma boa governança dos serviços/integrações/funcionalidades disponíveis

Durante a automação do processo, é comum detectar uma ou mais necessidades de integração (ex: salvar alguma informação digitada durante a execução do processo num banco de dados).

Em nossa experiência, boa parte dos problemas que ocorrem nestes casos se devem a falta de governança da organização em relação aos serviços, integrações e sistemas existentes, ou seja, não se sabe se aquela necessidade de integração do processo já se encontra disponível (ex: através de um webservice).

A consequência disso é a necessidade de se discutir do zero esta integração, fazer orçamento e incluí-la no escopo, o que leva a aumento do prazo e custo do projeto. Um fator que minimiza bastante estes problemas é se a organização já trabalha numa Arquitetura Orientada a Serviços, ou simplesmente SOA (mais informações aqui, aqui e aqui), bem como dispor de ferramentas de governança/pesquisa de serviços.

2. Prever o modelo de dados do processo adequado as necessidades de integração

Quando um processo será automatizado, deve-se previamente fazer uma análise para definir o “modelo de dados” do processo, ou seja, as informações que serão visualizadas e manipuladas ao longo da execução do processo (veja aqui para mais informações).

A definição deste modelo de dados costuma ser mais transparente quando estamos falando de informações que ficam visíveis no formulário eletrônico do processo, ou seja, as informações que os usuários vão visualizar/editar ao acessar as tarefas. Mas infelizmente não é tão óbvio quando falamos de integrações.

Por exemplo, se é necessário chamar uma integração para atualizar uma informação no ERP a partir do processo automatizado, pode se descobrir que uma das informações obrigatórias para se chamar esta integração é específica daquele sistema (ex: um determinado identificador), e esta informação não foi prevista inicialmente no modelo de dados.

Com frequência, inclusive, ocorre a situação de que para obter a informação que você precisa para chamar uma integração, é necessário chamar outra integração!

Este fator costuma gerar muitas dores de cabeça, em muitos casos não é fácil prever todas as possibilidades.

3. Ter conhecimento das funcionalidades e limitações do framework de integração do BPMS

Mesmo que inicialmente a empresa tenha adquirido uma solução de BPMS para um processo pontual ou para apenas gerenciar fluxo de trabalho sem integrações com outros sistemas, o fato é que as necessidades da organização mudam. Quando chegar o momento em que as iniciativas de automação de processos passarem a demandar mais inteligência, com integração de dados existentes em outros sistemas, é importante conhecer as funcionalidades e limitações de integração do BPMS.

Por exemplo, alguns questionamentos comuns nestes casos:

  • Posso chamar webservices através do BPMS?
  • Consigo conectar diretamente num banco de dados através do BPMS?
  • Existem adaptadores nativos que permitem conexões com sistemas conhecidos no mercado?
  • O BPMS me permite realizar transformações complexas de dados ao chamar ou obter o retorno de um webservice?
  • Existe algum formato específico de assinatura do serviço para poder ser acionado?
  • Com que tecnologias o BPMS permite fazer integração? Soap? Rest? Corba? EJB? .net? Controle de arquivos no filesystem? Outros?

Este conhecimento é importante para detectar eventuais restrições da ferramenta, identificar a necessidade de utilizar outras ferramentas em conjunto ao BPMS, ou no pior dos cenários até a troca do próprio BPMS. Por exemplo: se o BPMS não é capaz de fazer transformações de dados complexas ao chamar um webservice, então possivelmente será necessária outra ferramenta (ex: uma ferramenta de barramento de serviços) que fará esta transformação no lugar do BPMS, expondo para o BPMS uma versão simplificada do serviço. Neste mesmo exemplo, pode ser que esta ferramenta adicional não exista na organização, e precisa ser previsto a sua contratação e implantação, dentro do escopo do projeto de automação.

Entenda a importância de uma avaliação detalhada sobre recursos ​dos produtos ao adquirir uma plataforma ​BPMS com ​esta coleção de artigos sobre Seleção de Plataformas de BPM.

4. Equipes dos sistemas disponíveis para apoiar o projeto

Parece chover no molhado, afinal se um processo automatizado precisa se comunicar com o sistema X, então a equipe de apoio deste sistema tem que estar envolvida, certo? Bem, temos algumas histórias de iniciativas de automação de processos aprovadas em nível executivo, mas que durante o andamento do projeto as equipes dos sistemas estavam em uma das seguintes condições:

  • Não estavam sabendo do projeto – o popular “cair de paraquedas”  (sim, é comum);
  • Sabiam do projeto e que em algum momento iriam se envolver, mas não tinham nenhum contexto dos objetivos do projeto e o seu papel (tem na prática os mesmos efeitos nocivos da situação anterior);
  • Sabiam do projeto e tinham o contexto, mas não tiveram a alocação reservada para apoiar o projeto (“Eu conheço o projeto e entendo o que devo fazer, mas não sei se vou conseguir ajudá-los ainda neste mês…”).

Quando as equipes dos sistemas começam a se envolver no projeto, é comum surgirem problemas e limitações que não se tinha noção, o que pode ocasionar necessidade de se rediscutir a solução. Aqui o apoio da liderança executiva e da gestão de projetos é fundamental para minimizar os problemas, reforçando a alocação das equipes dos sistemas envolvidos, para se envolverem no projeto de automação o quanto antes, preferencialmente ainda durante as fases de análise e projeto.

5. Atenção à  etapa de testes

Se existem integrações no processo, obviamente as mesmas precisam ser bem testadas, envolvendo as equipes responsáveis pelos sistemas de origem/destino das informações.

Ocorre que na automação de processos, assim como no desenvolvimento tradicional de sistemas, pode ocorrer a tendência de dar ênfase maior apenas a “interface” do processo, que no caso do BPMS são os formulários das atividades enviadas para os usuários. Mas obviamente as integrações que são feitas automaticamente pelo processo devem ser testadas com o mesmo cuidado, verificando se estão retornando ou gravando as informações corretamente.

Isto comumente é realizado utilizando os recursos de rastreamento/auditoria presentes das próprias ferramentas de BPMS (verificando o que está recebendo ou enviando de informações), bem como acessando diretamente o sistema com o qual se tem a integração (para verificar se os dados sendo obtidos/atualizados pelo BPMS estão corretos).

Estas verificações normalmente exigem um conhecimento técnico maior (ex: visualizar payloads em XML, acessar as informações diretamente em tabelas do banco de dados do sistema em questão, etc).

 

Sem dúvida existem outros fatores envolvidos, mas acreditamos que os fatores citados acima dão um bom norte para a equipe do projeto se preparar e enfrentar os problemas que podem ocorrer nas integrações durante a automação de processos.

 

Robotic Process Automation (RPA) – o próximo salto de agilidade em processos

RPA (Robotic Process Automation) é uma nova ferramenta tecnológica que automatiza partes ou atividades inteiras de processos de negócio. Com esta tecnologia, robôs de software executam uma sequência de passos de um trabalho através da interação com as interfaces de usuários já existentes nas diversas aplicações utilizadas pelos profissionais da organização. Em outras palavras, o robô faz aquela parte do trabalho maçante do escritório, atualizando planilhas, fazendo cálculos, checando emails, cadastrando coisas.

Baseado na ilustração de Ken Barr para a capa do livro "Star Wars Question and Answer Book about Computers" (1983)Se você leu isso e ficou imaginando o C-3PO (Star Wars), o Sonny (Eu, Robô) ou o Bender (Futurama) em frente a uma mesa de escritório pilotando um laptop e realizando o trabalho diário por você… bem, talvez o que você tem em mente não seja exatamente como é um robô RPA, mas pode ajudar a entender como ele trabalha.

O RPA não é um robô físico, mas um software capaz de executar, de forma automatizada e utilizando recursos cognitivos, os passos de uma tarefa que uma pessoa normalmente faria. Se todos os recursos necessários para realizar o trabalho (como os dados de entrada e as aplicações a serem acessadas) estão em formato digital, o RPA deve ser capaz de realizar a tarefa.

Definindo RPA

O RPA (Robotic Process Automation) consiste em uma aplicação de software que replica as ações de humanos na interação com a interface de usuário de um sistema de computador. Este robô de software opera usando a interface de usuário (UI) da mesma forma que uma pessoa faria, sendo esta a principal distinção das formas tradicionais de integração com sistemas que historicamente são realizadas através de APIs (Application Programming Interfaces).

Por exemplo:

  • Semanalmente a equipe de compras reúne informações de novos fornecedores em uma planilha e envia para uma pessoa que faz login no ERP da empresa e verifica, para cada linha da planilha, se o fornecedor já está cadastrado ou se falta cadastrar no sistema. Para os fornecedores ainda não cadastrados, esta pessoa faz o cadastro e envia um e-mail ao contato no fornecedor solicitando que envie a documentação mínima para efetivar o cadastro.
  • Em uma instituição financeira, toda vez que uma nova análise de solicitação de empréstimo precisa ser realizada, uma pessoa acessa diversos sistemas como cadastro de clientes, Serasa, SPC, bureau de informações entre outros, pesquisando pelo CPF dos tomadores de crédito e seus associados para avaliar sua capacidade financeira. As informações são reunidas em um documento baseado em um template predefinido, que é transformado em PDF e então enviado para um Analista de Crédito para avaliar se vale a pena ou não liberar o empréstimo.

Com RPA, é possível automatizar atividades operacionais e manuais do tipo “monkey business” como as descritas acima, que não agregam valor ao negócio mas que são necessárias à rotina da organização, tornando esse processo muito mais ágil e liberando os profissionais envolvidos nestes processos para focarem em atividades de alto valor como avaliações e tomadas de decisão.

Para realizar o trabalho, o robô é “treinado” para repetir as mesmas ações de uma pessoa para realizar o trabalho, como monitorar emails, extrair anexos, classificar e colocar os anexos em pastas, comparar o conteúdo de documentos, realizar login em sistemas, cadastrar ou consultar informações, analisar e buscar padrões em imagens, reunir dados de diferentes fontes para gerar uma planilha ou relatório entre outras tarefas manuais. As soluções mais avançadas possuem ainda habilidades cognitivas que possibilitam o aprendizado contínuo, adaptabilidade a mudanças e inteligência artificial.

A partir deste “treinamento”, o robô passa a fazer trabalho sozinho a partir de algum gatilho (por exemplo um e-mail que chegou ou um determinado horário do dia), interagindo com as aplicações do computador no lugar de uma pessoa. Para quem olha o computador em utilização pelo robô, poderá parecer estranho ver o mouse na tela se mexendo sozinho, janelas se abrindo e coisas sendo digitadas – mas é exatamente assim que acontece! O robô de software passa a assumir o controle do computador, com cada passo seu sendo rastreado pelo sistema – o que possibilita auditorias ou revisões das ações realizadas.

 

Principais benefícios

Entre os principais benefícios na adoção de RPA, são apontados:

  • Mais rápido e barato de implementar em relação a um projeto típico de desenvolvimento e integração de sistemas, pois não requer alteração das aplicações existentes
  • Redução do tempo de ciclo das atividades: uma tarefa automatizada com um robô pode realizar tarefas de 3 a 5 vezes mais rápido que uma pessoa. Com isso também pode produzir mais resultados no mesmo tempo de trabalho.
  • Escalabilidade: é possível ajustar o número de robôs executando a tarefa para mais ou menos recursos rapidamente de acordo com a demanda.
  • Padronização: os robôs executam as tarefas seguindo rigidamente os padrões definidos para a realização do trabalho.
  • Redução de erros: devido aos padrões e regras definidas, o risco de erros é virtualmente eliminado.

Siga nosso blog e acompanhe nossos próximos artigos sobre o tema!

A parceria entre os processos automatizados e os sistemas já existentes em uma organização

Podemos dizer, a partir da experiência da equipe iProcess em automação de processos, que os processos automatizados e os sistemas informatizados das organizações não competem entre si, eles formam uma parceria, se complementam. Dizemos isto porque são nos sistemas já existentes nas organizações que os processos obtém as informações necessárias para a execução dos fluxos de trabalho, utilizando-se para isto de uma camada de integração. Daí o motivo de acreditarmos que ambos se complementam.

Os sistemas já existentes, que também chamamos de legado, não são descontinuados ao serem integrados ao processo automatizado. O processo será responsável pela conexão entre estes sistemas e os usuários do processo. Através do BPMS (Business Process Management Suite ou System), uma organização automatiza processos para aumentar seu nível de controle e monitoramento na execução dos processos. Assim, um BPMS atua como orquestrador da execução dos processos entre pessoas e sistemas, definindo o fluxo do trabalho e da informação entre estes participantes.

Desta forma, os sistemas se preocupam com o cadastro, atualização e consulta das informações armazenadas em base de dados e os processos com a sua distribuição, tendo o foco na sequência de etapas, prazos, distribuição das atividades, integridade do processo e em fornecer o melhor ambiente possível para que as atividades sejam executadas. Em alguns casos, se faz necessário o armazenamento das informações ao longo do processo, mas são informações específicas para o contexto das instâncias do processo, que servem para controle de estado do fluxo e logs de atividades, por exemplo.

Quando se automatiza um processo, na etapa de levantamento das informações, é que verificamos como a parceria entre os sistemas já existentes na empresa e o processo utilizando BPMS se dará. Algumas das informações levantadas nesta etapa são:

  • Informações consumidas e informações geradas pelo processo, isto é, quais as informações que deverão ser recebidas pelo processo oriundas de sistemas e quais as informações que eventualmente deverão ser enviadas para gravação em sistemas existentes da organização, como, por exemplo, ERP, sistemas contábeis ou cadastros corporativos.
  • Pontos de integração, isto é, em quais atividades do processo deverão ser obtidas/geradas informações que alimentam os sistemas legados.
  • Como que o processo e os sistemas legados conversarão entre si, que normalmente ocorre através da camada de integração, utilizando serviços especialmente construídos para isto.

A implementação de BPMS nas organizações não deve ser orientada a substituir total ou parcialmente os sistemas atuais esperando-se que passe eventualmente a ser o repositório central das informações da organização. O BPMS não é a fonte principal das informações que estão sendo manipuladas, mas atua principalmente como integrador delas, buscando e enviando informações para outros sistemas durante a execução dos processos.

A iProcess disponibiliza em sua plataforma EAD mais informações sobre este assunto, através do Curso TDP – Transformação Digital Orientada a Processos.

BPMS na nuvem – uma visão geral

Por muito tempo as ferramentas de BPMS só poderiam ser utilizadas após serem instaladas no ambiente da organização. Era necessária então a instalação do software em um servidor, após esta instalação era disponibilizada uma URL para os usuários acessarem o ambiente através de um navegador Web (normalmente para execução e acompanhamento dos processos automatizados). Também era comum a necessidade de instalar algum software no computador dos usuários (normalmente para fins de modelagem e automação). Fornecedores de ferramentas costumam referenciar isto como a versão “on premises” (local) da ferramenta de BPMS.

Assim, mesmo que o objetivo fosse apenas realizar testes rápidos de usabilidade e recursos da ferramenta, existia um caminho tortuoso que precisava ser seguido:

  • Fazer o download da ferramenta, onde os arquivos de instalação em muitos casos eram grandes, exigindo uma boa conexão com a internet e um considerável tempo de download;
  • Disponibilizar um servidor em que a ferramenta pudesse ser instalada e configurada, onde normalmente são exigidas máquinas mais parrudas, com múltiplos processadores e grande quantidade de memória;
  • Realizar o  processo de instalação, que por vezes era desafiador, exigindo pessoas com conhecimento técnico (muitas vezes não existente na organização, então um treinamento ou auto-estudo era necessário), incluindo a disponibilização de um banco de dados existente, que a ferramenta possa utilizar para armazenar as informações.

Depois destes passos é que, finalmente, a ferramenta se encontrava disponível para utilização pelos usuários.

Note que os passos acima se referem apenas a disponibilização de um ambiente de desenvolvimento/testes. A situação fica mais complicada se estivermos falando de instalação em ambiente de produção, em que outros fatores devem ser levados em consideração e onde costuma ser necessário:

  • Mensurar o hardware adequado para suportar a utilização atual (e futura) da ferramenta na organização;
  • Avaliar questões relativas a backup/restore;
  • Avaliar estabelecimento de máquinas em cluster e ambiente de pronta disponibilidade;
  • Avaliar regras de acesso ao ambiente de fora da organização;
  • Definir Regras de segurança, SSL;
  • Avaliar critérios e regras para aplicação de patches e novas versões;
  • Etc.

Parece complicado, não? De fato é. E este cenário ainda é uma realidade em várias ferramentas existentes no mercado.

Mas o que acontece então se a organização não tem os recursos (humanos/tecnológicos/financeiros) para viabilizar a instalação local de uma ferramenta? Significa que a adoção de uma ferramenta de BPMS, na prática, só se aplica a grandes organizações, que dispõe de mais recursos e capacidade de investimento?

A boa notícia é que com a popularização de BPM, um novo tipo de ferramenta está sendo oferecido no mercado, como alternativas ao modelo “local” (on premises) tradicional. Estamos falando aqui de soluções de BPMS na nuvem.

Uma solução de BPMS oferecida na nuvem tem como principais características:

  • Nenhuma instalação local é necessária no ambiente da organização e nos computadores dos usuários;
  • O ambiente de BPMS é disponibilizado pelo fabricante em seus próprios servidores, onde normalmente são oferecidos critérios de alta disponibilidade, segurança, redundância e backup;
  • Todo o acesso à ferramenta é feito via internet através de um browser;
  • A configuração de usuários é normalmente feita dentro da área de administração da ferramenta. Dependendo da ferramenta, existem possibilidades de integração com repositórios de usuários da organização;

Mas quais seriam os benefícios que podemos ter com a adoção de uma solução em nuvem? Vejamos alguns dos principais:

  •  Baixo investimento inicial para adquirir a solução, visto que não é necessário disponibilizar uma infraestrutura interna para instalação e manutenção da solução, bem como não existe um produto a ser “comprado” (o que existe é um modelo de subscrição);
  • Patches de correção e melhorias da ferramenta são garantidas e executadas automaticamente pelo fornecedor, enquanto durar o licenciamento;
  • O licenciamento costuma ser por usuário, o que pode ser bastante interessante e gerar economia, dependendo da quantidade de usuários que irão utilizar a ferramenta;
  • Camadas mais claramente separadas da lógica do negócio e dos sistemas de informação, visto que em se tratando de ferramenta disponibilizada em ambiente web, normalmente temos uma solução mais amigável e menos técnica. Isto incentiva um maior envolvimento da área de negócio em todo o ciclo de modelagem e implementação de processos. Podendo chegar, inclusive, na  possibilidade das próprias áreas modelarem e automatizarem processos (veja aqui o post em que discutimos esta questão);
  • Projetos de implementação evolutivos, em que um processo pode ser rapidamente colocado para ser executado, permitindo que ao longo do tempo novas melhorias e integrações sejam disponibilizados;
  • O conceito “Quick wins” (ganhos rápidos) são potencializados na utilização de uma solução em nuvem: como não existe a preocupação com disponibilização e manutenção de infraestrutura, pode-se partir diretamente para os projetos, gerando resultados mais rapidamente.

Parece bom, não? Mas, como nem tudo são flores, achamos importante destacar também algumas das possíveis limitações deste formato:

  •  Com a solução em nuvem, existe a perda de controle em relação ao ambiente e aos dados  informados, podendo levar a questões relacionadas à auditoria e à segurança das informações, e onde os dados serão armazenados. Dependendo das políticas adotadas pela organização, isso pode até inviabilizar a contratação da solução;
  • Normalmente não existe acesso direto aos servidores da solução, então a capacidade de visualizar os logs pode ser limitada, o que leva a mais dificuldades para avaliar e solucionar problemas na execução dos processos, em relação a uma solução instalada localmente;
  • A aplicação automática de patches e evoluções pelo fornecedor pode eventualmente gerar problemas de compatibilidade em processos/projetos existentes;
  • Dependendo da quantidade de usuários que forem utilizar a solução, o licenciamento por usuário poderá elevar o valor da contratação, podendo inclusive a chegar a valores similares a contratação tradicional (on premises);
  • Nos casos das ferramentas de BPMS que também oferecem a versão on premises, a versão em nuvem costuma ser menos robusta e com menos recursos disponíveis (ao menos neste momento). As capacidades de integração dos processos com sistemas existentes também costumam ser mais restritas (normalmente se encontra disponível integração via webservices);
  • Como estamos falando do conceito de subscrição, não existe a opção de ser “dono” da solução e poder assumir totalmente a ferramenta no futuro, algo que pode ser importante para algumas organizações.

Dados os prós e os contras, será que devo adotar uma solução em nuvem? Não existe uma resposta definitiva sobre isto. No final das contas cabe a cada organização fazer uma auto avaliação, pesar os pontos positivos e negativos, e avaliar que tipo de solução atende mais as suas necessidades, seja uma solução em nuvem ou local.

O que podemos afirmar é que a disponibilização de solução de BPMS em nuvem é um caminho sem volta. Grande parte dos fabricantes já oferece ou está procurando oferecer a sua versão da solução em nuvem, justamente pelo apelo e facilidade de utilização.

A tendência é de uma evolução e uma maturidade cada vez maiores das soluções de BPMS ofertadas na nuvem, oferecendo mais opções de escolha para as organizações, e por fim permitindo a um universo maior de organizações poderem desfrutar dos benefícios de BPM!

Usuários de negócio automatizando processos com ferramentas BPMS – será o adeus à TI?

Com múltiplas funcionalidades e novos recursos sendo incluídos periodicamente, as ferramentas de BPMS (Business Process Management Systems) tem se destacado como uma das categorias de software mais abrangentes disponíveis no mercado atualmente. A promessa de juntar num mesmo mundo a área de processos, de negócio e TI, através dos recursos de modelagem, análise, redesenho, automação e monitoramento de processos, certamente vem chamando a atenção de muitas organizações, que buscam melhorar seus processos e ter mais agilidade e competitividade.

Com a intenção de destacar a sua ferramenta das demais, é muito frequente nos depararmos com o discurso de fornecedores das ferramentas de BPM contendo frases de impacto marcantes, mais ou menos nesta linha (obs: nenhuma frase é real):

  • “Ferramenta de código zero! Não precisa de uma linha sequer de programação!”;
  • “Não dependa mais da TI!”;
  • “Coloque todo o poder nas mãos da área de negócio!”
  • “Dê aos usuários a possibilidade de alterar e modificar os processos em tempo real!”

Mas então… o quão próximos estamos da própria área de negócio começar a desenhar e automatizar processos, sem necessitar do envolvimento da TI?

De cara, vamos esclarecer um ponto bem importante: automação de processos ainda é, em grande parte, desenvolvimento de software. O que muda em relação ao desenvolvimento de software convencional é apenas a percepção do usuário final do que estaria pronto ou não. Se temos uma aplicação web sendo desenvolvida e elaboramos um protótipo HTML pra fazer uma apresentação preliminar ao usuário final, não raro o feedback recebido é: “Que legal, está pronto?”. Já num projeto de automação de processos, temos um lindo processo modelado em BPMN na ferramenta, o que com alguma frequência também leva os usuários a mesma conclusão: “Mas o processo já está todo desenhado na ferramenta! O que está faltando?”. Ora, pode estar faltando tudo! :-)

O fato de termos um processo modelado em BPMN dentro da ferramenta de BPMS, não significa que ele está pronto pra ser executado, ou que qualquer pessoa com conhecimento em BPMN tenha necessariamente condições de automatizá-lo. Isto ocorre por (dentre outros) vários motivos:

  • É necessário definir o modelo de dados do processo, que são todos os atributos/informações necessárias durante a execução do processo. Isto pode a princípio parecer uma tarefa simples de criar os mesmos campos que haveria em um formulário de papel ou numa planilha eletrônica, mas o processo precisará de mais informações do que isso. Desde informações dinâmicas que aparecem na lista de trabalho, a informações que aparecem no detalhamento das atividades ou mesmo atributos puramente técnicos, invisíveis ao usuário e que só servem para possibilitar a implantação de algum requisito;
  • É necessário conhecimento de integrações de sistemas, visto que em grande maioria dos casos, um processo automatizado tem integração com um ou mais sistemas, para buscar ou gravar informações que são manipuladas no processo. É possível automatizar um processo sem integrações, mas a sua inteligência ficará bastante limitada. Por exemplo, se um aprovador precisa de uma informação que já existe em outro sistema para tomar uma decisão, por quê não faríamos uma integração para buscar este dado, e mostrar a ele na hora de realizar a tarefa? Se já existe um cadastro de fornecedores, por que não fazer uma integração para buscar uma lista de fornecedores, facilitando o preenchimento de uma tarefa e evitando que o usuário tenha que ficar digitando todos os dados?
  • É necessário conhecer como fazer a atribuição dos papéis (roles) aos usuários na ferramenta, sendo frequentemente necessária integração com repositórios de usuários (ex: Active Directory). É possível fazer atribuição direta (“de/para”) de roles do processo para grupos de usuários criados na própria ferramenta de BPMS, mas em cenários reais de automação, muito provavelmente isto não será o suficiente e algum tipo de integração com sistemas ou repositórios de usuários será necessária;
  • É necessário conhecimento de como a ferramenta de BPMS implementa os padrões de workflow/BPMN. Por exemplo, como implementar um subprocesso multi-instance na ferramenta? O fato de marcar um “check” em alguma tela da ferramenta não significa que o comportamento esperado vai ser realizado. É necessário que o usuário de negócio saiba exatamente as implicações, em termos de automação de processos, de um subprocesso multi-instance;
  • É necessário definir e desenvolver todas as interfaces de usuário. A ferramenta de BPM pode oferecer recursos de criação de formulários eletrônicos amigáveis e com pouco código, o que na primeira vista possibilitará ao usuário a criação rápida de formulários eletrônicos. Mas em boa parte das soluções de BPMS é necessário conhecimento mais técnico para conectar este formulário ao modelo de dados do processo, plugar as integrações necessárias (sempre elas!) e definir regras de validação e interface, que não raro exigem a criação de linhas de código de software.

Talvez você agora esteja achando que a resposta para a pergunta do título seja “Não”, certo? Ou talvez esteja achando que os discursos de marketing das ferramentas coloquem uma pressão exagerada nas áreas de negócio, influenciando a tentar resolver todos os seus problemas sozinhas.

A boa notícia é: nem tanto ao mar, nem tanto a terra. Dependendo do BPMS sendo utilizado, se estivermos falamos de um processo simples, sem integração com sistemas externos, com regras de negócio e de interface básicas, então apenas o treinamento na ferramenta poderá sim permitir avanços por usuários de negócio.

Mas não podemos deixar de comentar que os melhores resultados são obtidos quando TI e negócio trabalham juntos, ou seja, existe colaboração na automação de processos. A boa notícia é que as ferramentas de BPMS tem evoluindo muito para reforçar este trabalho colaborativo, onde usuários de negócio podem iniciar o trabalho definindo os processos, quem sabe até mesmo desenhando algumas interfaces de usuários (o que no passado era uma atribuição exclusiva da TI), e no momento adequado a TI poderá “entrar em cena” e colaborar, se encarregando das tarefas mais técnicas.

Esperamos ter colocado um pouco mais de luz sobre esta situação. Pra finalizar, não podemos deixar de louvar o empenho e sucesso dos fornecedores de ferramentas de BPM em deixar as ferramentas cada vez mais produtivas e amigáveis. Temos hoje ferramentas com quase zero código, montagem de formulários eletrônicos de forma intuitiva e configuração visual de integrações. São recursos que certamente incentivam os fornecedores a elaborar este discurso de marketing. :-)