Trabalho de Formatura

 

Rodrigo Simões de Almeida  NUSP.: 3132218

Orientador: Ernesto G. Birgin

 

1. A Empresa

 

A Orbitall é uma empresa de processamento de informações comerciais que nasceu em maio de 2000 de uma divisão da emissora de cartões de crédito, Credicard, líder de mercado; mas toda a infra-estrutura para o processamento, cobrança, atendimento entre outros serviços ficou sob responsabilidade da Orbitall, que passou a buscar novos clientes entre outros emissores de cartões de crédito, para oferecer os mesmos serviços prestados à Credicard. A partir de então, a Orbitall buscou entrar em outros ramos, além do cartão de crédito, e um dos novos produtos incorporados à estrutura foi o produto Voucher, ou seja, o processamento de cartões magnéticos em substituição aos antigos vales-alimentação em papel; o novo produto atraiu as três maiores empresas do setor.

Com isso, a Orbitall, apesar do pouco tempo de existência, consolidou a posição de líder no segmento de processamento de cartões. O diferencial da Orbitall está em sua enorme capacidade de processar e integrar serviços agregados, facilitando os negócios dos clientes, permitindo alavancar resultados. E tecnologia de ponta, flexibilidade, customizações, agilidade e altos padrões de segurança ainda evitam que o cliente tenha perdas com fraude.

Vale a pena citar que a Orbitall faz parte do mesmo grupo composto pela Credicard e Redecard, que possuem como sócios os Bancos Itaú, Unibanco e Citibank, sendo este último o responsável pela administração do grupo e, portanto, a Orbitall segue todas as regras determinadas pelo Citigroup, como por exemplo, o uso da metodologia CMM para o desenvolvimento de produtos de software.

 

 

2. O Produto Voucher

 

Caracteriza-se por ser uma transferência eletrônica de benefícios aos funcionários de uma empresa através do crédito de valores pré-determinados de forma acumulativa; assim os antigos vales-alimentação em papel, ligados ao PAT (Programa de Alimentação do Trabalhador) do ministério do Trabalho, estão se transformando em cartões magnéticos pré-pagos, diminuindo os custos da Empresa Voucher e aumentando a segurança do processo.

A Empresa Voucher emite o cartão para os funcionários de suas empresas-clientes e disponibilizam mensalmente um benefício para a conta do funcionário, que poderá então efetuar compras em estabelecimentos afiliados do ramo de alimentação. A cobrança junto a seus clientes e o repasse aos estabelecimentos ficam a cargo da Empresa Voucher. É de responsabilidade da Orbitall, resumidamente, efetuar o processamento e autorização das transações, efetuar o controle de saldos e emissão de cartões e senhas. Para tanto, a Empresa Voucher envia à Orbitall arquivos, chamados de Interface Cadastral, para a inclusão de cadastro de estabelecimentos, empresas-clientes, usuários, contas e cartões, e o arquivo de Interface Monetária, disponibilizando benefícios, no valor acordado com a empresa-cliente, nas contas de clientes, ou seja, agendando transações a credito para as contas dos usuários.

 

 

3. A organização da Equipe e o método de trabalho

 

Dentro das diversas áreas de desenvolvimento de sistemas da Orbitall, foi designada uma área especificamente voltada para atender apenas ao produto Voucher e está sob os cuidados de uma gerência e subdividida em quatro módulos, cada qual com um líder de projetos:

- Cadastral, responsável pelo recebimento de interfaces cadastrais e todo os dados cadastrais no sistema (usuários, contas, estabelecimentos, empresas-clientes, etc), além da geração dos cartões e senhas para envio aos usuários;

- Autorizador, responsável por efetuar a autorização das transações e conciliação das autorizações com as transações enviadas pela rede de captura, no caso, a Redecard;

- Atendimento On Line e Back Office, responsável por prover telas que permitam o atendimento ao usuário e tratamento de problemas pela Empresa Voucher (Back Office);

- Monetário, responsável por receber, agendar e postar em conta os benefícios enviados pela Interface Monetária; controlar os saldos; gerar as informações necessárias à Empresa Voucher e efetuar os batimentos, que são processos que garantem a consistência das transações efetuadas no dia e dos saldos de contas e, com isso, das informações repassadas à Empresa Voucher.

Em geral, cada projeto afeta mais de um módulo simultaneamente, exigindo que mais de uma equipe desenvolva processos distintos para o mesmo projeto.

Durante todo o meu estágio, atuei na equipe do Monetário que, além do líder é composta por outros três analistas (chamados nesse trabalho de analista1, analista2 e analista3). O líder da equipe é o responsável por fazer a gestão dos profissionais da equipe, fazer os planejamentos, cronogramas e estabelecer as estratégias da equipe, bem como adequá-las as das demais equipes.

 

3.1 Desenvolvimento de um projeto

 

Os Projetos em desenvolvimento são divididos entre os analistas da equipe da qual participo, conforme o porte do projeto, ou seja, o mesmo pode estar sob a responsabilidade de mais de um analista. O desenvolvimento de um projeto é feito da seguinte forma: após as reuniões entre as áreas de Produtos, Sistemas e Cliente para levantamento de requisitos, é redigida a especificação funcional do sistema; com base nesta a área de sistemas prepara o cronograma do projeto e a especificação técnica. Através da especificação técnica, o analista responsável (em cada módulo) faz o desenho da solução e a análise de impacto. Definida a solução, são especificados as bases de dados, os layouts de arquivos, telas e relatórios e finalmente os programas envolvidos. As especificações dos programas são enviadas para uma fábrica de software que fica responsável pela codificação e testes unitários de cada programa. Na devolução dos programas pela fábrica de software os analistas responsáveis efetuam os testes integrados, a simulação e a implantação do projeto em produção. Para cada uma dessas fases de testes existe um ambiente específico.

Durante todas as fases do projeto, existe uma rigorosa documentação a ser feita, seguindo a metodologia CMM nível 2, que fica a cargo dos analistas responsáveis.

Além dos projetos, cabe a cada equipe do sistema Voucher efetuar as manutenções e solucionar os problemas em produção. Em geral há um rodízio entre os analistas, de forma a não prejudicar o desenvolvimento dos projetos.

 

 

4. O Ambiente de Trabalho

 

Um dos fatores que mais me agradaram durante o meu estágio foi o ambiente que encontrei na equipe do Monetário, pois todos os integrantes sempre demonstraram grande comprometimento com a qualidade do trabalho e com um clima de cooperação muito forte. Isso se estendeu à mim que fui muito bem acolhido pela equipe; desde o primeiro momento, estiveram sempre dispostos a esclarecer minhas dúvidas e a repassar a vasta experiência que possuem na área. Além disso, sempre confiaram no meu potencial, oferecendo a oportunidade de participar de forma ativa em todos os projetos de maior importância, dando todo o respaldo necessário para que eu pudesse aprender, desenvolver o produto de qualidade, apesar da pouca experiência com a tecnologia voltada para computadores de grande porte (“mainframes”), programando em Cobol. Outro aspecto positivo, foi que todos os integrantes da equipe sempre se mostraram preocupados em divulgar a qualidade do meu trabalho a todas as áreas da empresa que tinham contato conosco, o que foi importante para criar minha imagem profissional dentro da empresa.

Gostaria de salientar ainda que o constante posicionamento por parte dos analistas e do líder quanto ao meu desempenho foi também muito importante para que eu desenvolvesse meu trabalho em harmonia com o grupo e principalmente, foi algo que sempre me manteve motivado.

Porém, algo que me chamou atenção na estrutura e que me pareceu bastante prejudicial foi a divisão da equipe de sistemas Voucher em quatro equipes. Em geral, os objetivos e as necessidades de cada equipe eram distintos e acabavam por acarretar em problemas no desenvolvimento dos projetos, pois uma equipe podia depender de algo desenvolvido em outra equipe e o atraso gerava problemas no cronograma e na qualidade dos testes. Isso provocava alguns conflitos entre os integrantes da equipe, principalmente entre os líderes.  

A Orbitall mostrou também preocupação no desenvolvimento de seus estagiários, proporcionando tanto cursos técnicos como os cursos de metodologia CMM, quanto cursos de desenvolvimento pessoal com aspectos para a motivação, o comprometimento com a qualidade e o relacionamento no ambiente de trabalho.

 

 

5. Projetos desenvolvidos

 

Abaixo descrevo os projetos mais importantes em que atuei, tanto pelo aprendizado proporcionado como pelo papel que exercem dentro do sistema:

 

5.1 Otimização da postagem de transações agendadas

 

As transações de benefícios que estão agendadas são postadas na data indicada, sensibilizando o saldo da conta do usuário. No entanto, esse processo de postagem estava bastante deficiente do ponto de vista da concorrência no acesso ao banco de dados, acarretando em aumento no custo de processamento, bem como criando problemas em produção. Meu primeiro projeto foi refatorar esse processo, criando novos e simples programas, gerenciando melhor os acessos e principalmente as atualizações do banco de dados, tendo como resultado a sensível redução de custos e dos problemas ocorridos no ambiente produtivo. Nesse proieto, contei com a assessoria de toda a equipe para propor a solução e posteriormente efetuar os testes, já que pouco conhecia o processo (que era bastante complexo) e a tecnologia, porém, o planejamento e a administração da fábrica de software ficaram a cargo do líder da equipe e da analista1.

 

 

5.2 Projeto Alfa

 

Tratava-se de um projeto desafiador, pois criava um novo produto Voucher introduzindo um novo conceito para o sistema Voucher: o cartão pós-pago. Essa mudança de conceito afetava principalmente o Módulo Monetário, permitindo que nossa equipe participasse ativamente do projeto, desenvolvido todo em Cobol, utilizando-se de banco de dados relacional DB2, com todo o processamento batch contemplando novas funcionalidades não existentes até então.

Esse projeto foi bastante enriquecedor, pois tive a oportunidade de participar de todas as fases do projeto desde o levantamento de requisitos até a implantação, passando a entender o processo e a metodologia de desenvolvimento de software, podendo aplicar muitas das técnicas vistas durante o curso de Engenharia de Software, conhecendo as particularidades do ambiente mainframe, da linguagem de programação Cobol e podendo participar diretamente da solução proposta. Coube a mim desenvolver todo o Batimento do sistema. Além disso, significou uma grande alteração no sistema existente, já que introduziu um novo conceito: o de cartão pós-pago, ou seja, o usuário tem um limite de crédito, enquanto no produto alimentação, o usuário tem um valor disponibilizado na conta mensalmente.

Esse projeto era de responsabilidade do analista2, e contou com a participação de todos os integrantes da equipe que, apesar do curto prazo de entrega do projeto, estiveram sempre dispostos a esclarecer as minhas inúmeras dúvidas, tiveram a confiança no meu potencial e deram a liberdade para que eu sugerisse soluções diferentes, atuando como um analista da equipe e não como mero estagiário.

 

 

5.3 Melhoria no Fechamento mensal

 

Para dar suporte à Empresa Voucher, é realizado ao final do mês um processo chamado de fechamento mensal. Assim como a postagem de agendamentos, esse processo apresentava sérios problemas de contenção da base de dados. Seguindo a orientação do DBA (Administrador do Banco de dados) esse processo foi reestruturado, tendo como resultado a diminuição de custo e de problemas de concorrência do banco de dados.

Esse projeto era pequeno, porém foi muito importante pelo contato com o DBA do sistema, quando pude complementar o conhecimento teórico, visto durante o curso com o conhecimento prático. Novamente, o planejamento e administração da fábrica ficaram a cargo da analista1.

 

 

5.4 Cancelamento de Transações agendadas

 

Ficou sob minha exclusiva responsabilidade o desenvolvimento do projeto que previa o Cancelamento, através de telas de Back Office, de transações de benefícios agendadas (pela Empresa Voucher via arquivo) para posterior postagem em conta. Efetuado o cancelamento as transações são enviadas pelo arquivo de Interface de Transações Canceladas à Empresa Voucher para controle contábil. Isso provocou alterações nas fórmulas de batimento do produto alimentação. O controle dos pedidos de cancelamento exigiram alterações no modelo de dados, com a criação e alteração de tabelas do banco de dados, onde pude empregar conceitos adquiridos durante os cursos relacionados no IME.

Esse projeto foi fundamental para aprender a lidar com prazos e a com o gerenciamento do trabalho da fábrica de software de forma a garantir o cumprimento dos prazos dentro do padrão de qualidade exigido. O suporte dado por toda a equipe foi novamente muito importante e permitiu que o resultado tenha sido positivo. Além disso, tive maior contato com a metodologia CMM, onde pude aproveitar muito dos conceitos estudados em Engenharia de Software.

 

5.5 Recebimento do arquivo de Interface Monetária

 

Atuei, com o suporte da analista1, na reestruturação do processo de recebimento e consistência do arquivo de transações agendadas. O arquivo recebido da Empresa Voucher passa por um processo de consistência física, ou seja, verificação de arquivo vazio, de número de seqüência, tipo dos campos (inteiros, caracteres...), estrutura dos registros e de consistência lógica, ou seja, de consistência do número do cartão, valor, data, etc. Quando encontrada qualquer inconsistência o arquivo é devolvido à Empresa Voucher com a indicação do erro encontrado. Caso não sejam encontradas inconsistências, as transações são agendadas no banco de dados. Neste projeto tive também a oportunidade de atuar em todas as suas fases, tendo como maior dificuldade a frágil documentação do processo vigente que atrapalhou a análise de impacto; entretanto já pude observar grandes progressos quanto do planejamento do projeto em relação ao projeto anterior, pois tive maior facilidade em estimar o cronograma do projeto e gerenciá-lo com êxito.

 

 

6. Desafios e Frustrações

 

Um dos maiores desafios foi atuar no desenvolvimento de sistemas em um ambiente desconhecido do qual nada tinha visto durante o curso no IME. A linguagem e a forma de programação, bem como os detalhes do sistema operacional e as particularidades do ambiente geraram enormes dúvidas, que foram sendo diluídas graças a participação dos integrantes da equipe.

Outro desafio foi o de desenvolver sistemas comercialmente, sofrendo a cobrança de clientes para a redução dos prazos, o que foi especialmente sentida no Projeto Alfa.

Um aspecto muito importante a se ressaltar é a que o Voucher foi um projeto feito em tempo recorde, utilizando uma fábrica de software localizada na Índia. O resultado é que apesar de ser um produto novo, ele é bem complexo e possui uma codificação que em alguns programas pode ser chamada de macarrônica. Portanto, entender os processos foi bastante difícil no começo, porém com maior experiência com a tecnologia, essa tarefa foi se tornando menos complicada. Durante o período de estágio todos os projetos em que nossa equipe esteve envolvida teve como preocupação a simplificação do código e a construção de uma documentação de suporte, facilitando posteriores manutenções no software. Creio que foi uma experiência importante, visto que somos muito cobrados durante o curso para mantermos os nossos trabalhos bem documentados; no entanto, é só na prática que podemos entender sua real necessidade e qual a melhor forma de documentar.

Como principal frustração, fica o fato de ter atuado em apenas uma das equipes do Voucher, não tendo tido a oportunidade de conhecer a fundo outros aspectos do Voucher, em especial o processo de autorização de uma transação on-line.

 

 

7. O meio acadêmico e o mercado de trabalho

 

É importante citar que a visão de desenvolvimento de sistemas na prática, é bem diferente da vista durante o curso no IME, quando estamos mais centrados em resolver um problemas com a maior qualidade possível; porém, aspectos como levantamento de requisitos junto ao cliente, alterações de escopo ou prazo, as dificuldades e os problemas encontrados em um grande projeto, como o Projeto Alfa, que envolveu cerca de quinze desenvolvedores, é muito enriquecedor e sem dúvida complementa o conhecimento acadêmico, além de mostrar na prática a necessidade de muitos conceitos exigidos no curso, como a documentação do sistema, testes e outros aspectos vistos em Engenharia de Software.

Acredito que o desenvolvimento em grupo de muitas das atividades durante o curso, foi importante para facilitar o relacionamento no ambiente de trabalho e a cooperação entre os integrantes da equipe de trabalho. Entretanto, notei que a cooperação e o trabalho em grupo é muito mais complexo e necessário no mercado de trabalho do que no meio acadêmico, onde nem sempre os conhecimentos são compartilhados entre os alunos.

 

 

8. Disciplinas utilizadas durante o estágio

 

Engenharia de Software: Muitas das técnicas estudadas no curso são aplicadas pela Orbitall como metodologia de desenvolvimento dos projetos de software, o que em muito contribui para a minha rápida adaptação ao processo;

 

Introdução à Banco de Dados e Laboratório de Banco de Dados: Como todo o sistema Voucher está baseado no banco de dados relacional DB2, toda a teoria explorada nesses cursos foi de suma importância para que eu pudesse entender o funcionamento, dimensionar tabelas do banco de dados e efetuar os acessos ao banco de dados de forma eficiente e evitando a concorrência dos dados. 

 

Introdução à Computação e Princípios de Desenvolvimento de Algoritmos: A sólida base de programação fornecida no curso facilitou muito o entendimento da lógica dos programas, bem como da linguagem Cobol. Ficou claro que, independente da linguagem utilizada no curso, os princípios vistos nessas disciplinas são sempre aplicáveis.

 

Além dessas, acredito que o curso como um todo me preparou quanto ao raciocínio lógico, o pensamento crítico e a busca pela excelência do trabalho desenvolvido, que foram fundamentais para que concluísse com êxito esse estágio.

 

 

9. Considerações finais

 

O estágio foi de suma importância para a minha formação, pois além de complementar os conhecimentos acadêmicos, colocando-me à frente de problemas reais do desenvolvimento de software, bem como de um ambiente totalmente distinto do visto durante o curso, o estágio oferece um grande amadurecimento profissional e humano; afinal as experiências obtidas no relacionamento com outros profissionais são altamente relevantes, tendo influência positiva inclusive no meu desempenho na faculdade, bem como na motivação com que passei a encarar as disciplinas.