terça-feira, 28 de maio de 2013
Aplicativo certo no lugar errado
Num dos grandes bancos que trabalhei, havia um sistema que efetuava pagamentos para o público em geral. Por mais simples que pareça para o usuário final, que vai sacar seu dinheiro na boca do caixa, há uma série de consultas que precisam ser feitas pra validar o saque solicitado e um monte de registros precisam ser gravados pra controlar o que foi feito.
E como era necessário efetuar os mesmos testes com as mesmas contas e cartões repetidas vezes, foi criado em ambiente de desenvolvimento (pra quem não sabe, é o ambiente que os desenvolvedores rodam seus programas antes de disponibilizar pra uso) um programinha maravilhoso, que limpava todos os registros de pagamentos e reiniciava as contas com um saldo fictício, pra facilitar a vida mesmo.
Certa manhã, num dia de grande movimento deste sistema, um dia de pagamento, um dos analistas responsáveis estava com várias janelas abertas em seu computador, entre elas uma com a visão do sistema em desenvolvimento e outra de produção, para acompanhar o processamento. Eis que outro analista que fazia testes em desenvolvimento pediu que ele executasse o programa de limpeza em desenvolvimento, pois precisava fazer novos testes. Sem pestanejar, foi até uma das janelas e executou o programa de limpeza.
O problema foi que a base de desenvolvimento continuava com os pagamentos realizados depois da execução do programa. Sem entender por que o programa não tinha funcionado, o analista percebeu que tinha executado o programa não em ambiente de desenvolvimento, mas em ambiente de produção!
O pânico e desespero na equipe foi geral. Havia uma média de 2 milhões de pagamentos diários e a aquela altura, pelo menos 1 milhão já deveria ter sido feito e agora estariam reiniciados sem chance de saber quem tinha feito ou não os saques. Não era possível naquele momento calcular o tamanho do problema, seus impactos imediatos e a longo prazo!!! O que fazer???
Um dos analistas começou a chorar copiosamente... outro teve um acesso de riso descontrolado e o terceiro calmamente acendeu três cigarros e os fumou de uma só vez...
Passados esses momentos iniciais, quando chamaram os gerentes pra analisar a situação e ver o que poderia ser feito, notaram que, graças à uma trava de segurança no ambiente de produção, apesar do programa ter executado sem dar avisos, ele não conseguiu alterar o banco de dados por falta de acesso dos analistas. Nada havia acontecido com o sistema, apesar do grande mal estar gerado.
Quando lembro desse caso e na grande sorte que tiveram do programa não ter conseguido fazer o que ele fazia de melhor, penso a falta que faz de uma catalogação adequada de programas em empresas. Uma classificação melhor, a utilização e monitoramento adequados de onde, como e o que faz cada programa ajudariam a impedir que os programas certos estivessem no lugar errado, podendo causar prejuízos incalculáveis e catastróficos.
Assinar:
Postar comentários (Atom)

Nenhum comentário:
Postar um comentário