Chegamos a 2ª parte desse artigo sobre os desafios da implementação, e aqui vou falar dos cuidados que devem ser considerados para evitar riscos desnecessários ao projeto. Os assuntos abordados são: I) Integração, II) Saneamento / Migração de Dados e III) Change Management.
Quer ler a matéria desde o início que fala sobre o Time de Projeto e Escopo? Clique aqui!
Integração entre sistemas
Embora o ERP seja considerado um sistema monolítico por então concentrar a maior parte das funcionalidades dentro de módulos integrados, ainda assim seu funcionamento é dependente de várias integrações com os demais sistemas da empresa.
Este é um dos temas mais importantes e complexos da implementação porque integrações entre sistemas, quando não são bem planejadas e implementadas, dessa forma podem comprometer o sucesso da operação.
Normalmente,
Consultores e desenvolvedores se preocupam mais com o aspecto funcional das integrações: quais as informações trocadas, quais transformações de dados são necessárias, se é síncrona ou assíncrona, qual a tecnologia, qual o middleware dentre tantas outras características das integrações.
Não é raro,
Depois de ter o projeto implementado, haver necessidade de um incremento no time de suporte e operação dedicado somente para garantir então que as integrações funcionem de forma contínua e que determinados dados rejeitados em processamento possam ser manualmente tratados e reprocessados. Este esforço de garantia da operação é um grande consumidor de recursos que, com alguns cuidados no momento de desenvolvimento e testes, podem ser otimizados e até mesmo então automatizados.
Alguns cuidados a serem tomados estão entre os desafios da implementação, como:
Ter um time multifuncional especializado em integrações para desenvolver esta frente do projeto de integração
Em algumas organizações de projeto, as integrações são tratadas por times diferentes. De um lado, os times responsáveis pela implementação dos processos de negócio no lado SAP e de outro lado o time de especialistas dos outros sistemas envolvidos.
Desta forma
Uma integração é tratada então como dois times construindo uma ponte, cada uma partindo de uma das margens do rio e esperando que se encontrem então no meio do caminho. Existem boas chances de retrabalho. Desenvolver integrações é diferente então de desenvolver um gap da parte funcional. Envolve o conhecimento de ferramentas e tecnologias específicas, além de conhecimento específico do uso das informações pelos sistemas de origem e destino que somente um time multifuncional com foco em integrações conseguirá então endereçar com propriedade.
Ter atenção à qualidade dos dados trafegados entre os sistemas
Uma mesma informação é tratada de forma diferente pelos sistemas de origem e então destino.
É fundamental
Conhecer os dados que serão trocados, entender a necessidade de transformação dos dados e de manter tabelas de tradução da informação (tabelas “de-para”) e endereçar a manutenção permanente destas tabelas pelas áreas de negócio através de um procedimento que evite falhas de integração por falta de atualização de dados. Ter problemas simples como o tratamento de caracteres especiais e formato de campos de data e hora quando tratados como texto é portanto mais comum do que parece. A falta de atenção aos detalhes em conclusão pode acabar gerando falha ao processar a informação e retrabalho.
Implementar recursos de monitoramento
É imprescindível estabelecer qual será então a forma e as ferramentas para controle do funcionamento das integrações. Cuidados como definição da sintaxe e codificação das mensagens de erro, texto padronizado para erros comuns, estabelecer quais informações guardar no registro de log e preparar a ferramenta de monitoração que será usada são atividades importantes que precedem o desenvolvimento das integrações.
É fundamental
Facilitar ou até mesmo automatizar o trabalho de identificar se a interface foi executada com sucesso ou com erro e, em caso de erro, quais os registros afetados por cada tipo de erro, de forma a permitir um rápido diagnóstico e portanto o restabelecimento da integração.
Orquestração
É importante definir para cada integração o evento que inicia e qual deve ser portanto a sequência de execuções de processos que antecedem e sucedem à execução da integração.
Outro ponto de atenção
é garantir a interdependência entre integrações diferentes usando regras robustas e confiáveis de sequenciamento. Já vi situações onde apenas o agendamento das interfaces em horários diferentes foi usado para garantir que uma interface execute antes de outra. Esse tipo de controle deve ser evitado por ser muito fraco já que com o tempo, os agendamentos podem ser alterados ou uma das interfaces pode aumentar sua duração e não terminar antes que a próxima se inicie.
Desempenho
Além de garantir o funcionamento adequado, a integração deve ter o desempenho como critério de desenvolvimento e aceitação. Ter clareza de qual a volume de registros a serem processados por unidade de tempo em uma integração batch ou qual o tempo de resposta aceitável em uma integração on-line é fundamental para a escolha da tecnologia, para orientar o desenvolvimento e para se certificar da capacidade do sistema em responder no tempo esperado.
Segurança da Informação
As integrações são portas de acesso às bases de dados e rotinas de processamentos dos sistemas. O desenvolvimento das integrações deve cuidar que as medidas de segurança de informação sejam implementadas para evitar acesso indevido e uso das integrações para fins ilícitos.
Saneamento e migração de dados
Assim como as integrações, a carga inicial de dados no ERP é fundamental para seu funcionamento. São muitas as tabelas de configurações, tabelas de transformação de dados usadas nas integrações, além de dados cadastrais (produtos, parceiros de negócio, etc) e dados transacionais (ordens de compra, ordens de venda, estoques, vendas, etc) que portanto precisam ser alimentados para a partida do sistema.
Os cuidados nesta frente são os seguintes:
Ter um time multifuncional especializado em data migration para trabalhar nesta frente do projeto
Assim como nas integrações, a migração de dados também requer um time com conhecimentos específicos. Para tabelas com grandes volumes de dados a serem carregados, deve ser desenvolvida alguma forma automatizada para extração, transformação, carga e validação dos dados. Para fluxos com poucas centenas de registros ou menos, é necessário estabelecer o processo de cadastro e manutenção com atribuição de responsabilidades para sua manutenção.
Ter atenção à qualidade dos dados trafegados entre os sistemas
Assim como na integração, a mesma informação é tratada de forma diferente pelos sistemas de origem e destino da informação. Várias tabelas “de-para” do processo de integração podem e devem ser reutilizadas, mas existem algumas traduções específicas para o processo de carga que só serão usadas nesta fase. É importante identificá-las de forma diferente das tabelas de tradução usadas pelas integrações.
Implementar funcionalidades de controle de execução para as cargas automatizadas
Ao desenvolver os programas de carga, é igualmente necessário ter padronização na forma de reporte dos resultados do processo e das mensagens de erro para permitir um rápido entendimento do resultado e correção dos problemas.
Orquestração e performance
É importante definir a sequência de execução de cada uma das cargas, seja automática ou manual. Ao mapear as cargas, lembrem-se de identificar os pré-requisitos e estabelecer uma sequência.
Na etapa de “deploy” do projeto também é comum as atividades da empresa serem interrompidas durante as atividades de implantação e conversão de dados. Por isso, a combinação performance e orquestração das cargas manuais e automáticas é tão importante.
Change Management
Esta frente é responsável por identificar as mudanças organizacionais – desde mudanças na estrutura da empresa até mudanças de procedimento de trabalho, com inclusão e alteração de processos de negócio – mapear seus impactos e mitigá-los. A gestão da mudança organizacional prepara as pessoas para que trabalhem de uma nova forma, atualiza e aprova os novos procedimentos de trabalho conforme os requisitos vigentes de governança corporativa da empresa.
Os maiores cuidados dessa frente são:
Entender que lidar com pessoas é simplesmente fascinante e desafiador. Criatividade, bom humor, sensibilidade, capacidade de ouvir e se colocar no lugar do outro são algumas das características das pessoas que devem trabalhar nesta frente.
Ter muita atenção para mapear os processos que serão impactados e as principais mudanças. O desafio aqui é o volume de trabalho que é muito grande na medida que um ERP impacta vários processos de toda a empresa.
Preparar ações de engajamento para então manter o time motivado. Isso é especialmente útil porque o projeto de implementação de um ERP é bastante desgastante e não raro exige muitas horas de trabalho e pressão com prazos e entregas.
Ações de
Gamification incentivando a competição saudável, ações de bem-estar, com sessões de relaxamento, meditação e massagem, ações comemorativas com mesa de lanches, além de ter um ambiente agradável de trabalho contribuem para reduzir o nível de stress.
Usar técnicas pedagógicas e tecnologia ao planejar, preparar e aplicar treinamentos dos processos impactados e das novas ferramentas. Preparar sessões de e-learning, vídeos que ensinam de forma lúdica e divertida, treinamentos interativos, gincana, enfim tudo que facilite o aprendizado. Lembrem-se que os treinamentos devem ser planejados de forma a serem repetidos para os futuros colaboradores e além disso, prever um processo de atualização, conforme os processos e ferramentas evoluam.
Cuidar da comunicação do projeto usando os canais existentes na organização para divulgar os resultados para toda a empresa e dar o devido reconhecimento a cada conquista. Na prática, existe uma tendência a reduzir a comunicação do projeto nos períodos de maior estresse e instabilidade mas, justamente nesses momentos que a comunicação deve ser mais frequente e clara a fim de reduzir as incertezas.
Por Daniel Arruda
Diretor de TI com mais de 25 anos de experiência
Foi responsável por inúmeras implementações de ERP SAP ao longo de sua carreira
+ sobre Daniel Arruda