Para iniciar os artigos do Blog, eu gostaria de relatar um pouco da minha experiência com desenvolvimento de software e sua relação com as Metodologias Ágeis. Descobri o desenvolvimento de software por acaso, através de um curso profissionalizante Técnico em Processamento de Dados (TPD) que iniciei em 1993, seguindo alguns amigos. No início, eu não estava muito interessado, até conhecer o universo da Programação. Descobri que aquilo me fascinava e, de certa forma, me desafiava também. Comecei a fazer fluxogramas, algoritmos até o meu primeiro programa em BASIC. Aquela experiência foi decisiva para a definição da minha carreira profissional.
Dali em diante, depois do uso de quase duas dezenas de linguagens de programação, alguns cursos e muito aprendizado e softwares desenvolvidos, estou aqui para compartilhar com vocês um pouco destas experiências.
A primeira e mais inusitada foi a descoberta das metodologias ágeis. Em 1996, eu era bolsista em uma Universidade, tinha entrado no Curso Superior, cheio de expectativas e anseios. No setor onde trabalhava (Assessoria Especial de Planejamento/Apoio Técnico Pedagógico), basicamente digitava textos. Em horários de folga, estudava novas tecnologias e procurava novos desafios. Em outubro deste mesmo ano, vi que os chefes do setor criaram uma espécie de questionário de avaliação, denominado Avaliação Institucional, que seria aplicado a professores e alunos. Esta era também uma exigência do MEC.
Quando olhei aqueles formulários, pensei diretamente no desenvolvimento do software. Muita empolgação, pouca experiência…
Inicialmente, este projeto seria desenvolvido pelo CPD da Instituição, onde trabalhavam grande parte dos professores. Quando disse que tinha condições de desenvolver o projeto, os chefes ficaram apreensivos, mas compraram a idéia. Para iniciar o projeto, precisei chamar um colega meu de TPD e de faculdade, que poderia trabalhar meio turno comigo. Fizemos uma reunião inicial com o coordenador do projeto (chefe do CPD) e conversas diárias com os chefes do setor de Planejamento.
A minha sala era muito pequena, razão pela qual tinha apenas uma máquina (486 DX2 66 Mhz) e uma impressora matricial IBM 132 colunas. Combinei com este meu colega de trabalharmos juntos pela manhã no projeto e a tarde eu desenvolvia mais algumas funções do software além do trabalho do setor, que não podia parar.
A tecnologia que utilizamos na época era Clipper, versão 5.2.
Pegamos aqueles formulários e após algumas análises preliminares, conseguimos esboçar um modelo conceitual. Como havia apenas um computador, trabalhamos juntos, ora eu pilotando, ora ele. Tivemos que realizar alguns trabalhos de importação, parte da base COBOL da Instituição e outra parte de uma base ZIM, do Recursos Humanos.
Foi muito interessante o nosso aprendizado, pois conseguimos produzir um código muito enxuto, cada vez mais otimizado e sem gerar desperdício, pois o cliente estava ali na sala ao lado para acompanhar e direcionar as funcionalidades do projeto. Cada vez que percebíamos uma oportunidade de melhoria, realizávamos. Procurávamos ter versões diárias, sempre verificando e validando informações com os usuários/clientes. Concluímos esta versão em dois meses. A primeira versão compreendia funcionalidades básicas de operação e módulo de digitação para professores e alunos. Ficou para depois o desenvolvimento de relatórios gerenciais, até porque o pessoal do setor não os tinha definido. Este software funcionou em 8 Campi Universitários, fazendo o registro de questionários de mais de 9 mil alunos. Nos anos seguintes, exigiu pouquíssima manutenção.
Até onde sei, este sistema funcionou até 2002, pois saí da Instituição em 2000.
Algumas práticas importantes:
Em 1997, comecei a trabalhar com OO e Smalltalk. Programei por dois anos nesta linguagem, onde tomei conhecimento de alguns trabalhos e pessoas envolvidas com a tecnologia, entre eles o de Kent Beck.
Passaram-se alguns anos e, em 2001, através de conversas com o Klaus Wuestefeld, fiquei sabendo um pouco mais sobre eXtreme Programming. Quando vi o nome de Kent Beck e qual era o objetivo deste processo, tive certeza que funcionava. Foi paixão a primeira leitura. Quanto mais eu estudava, mais eu lembrava do projeto de Avaliação Institucional que, através do sucesso obtido e da satisfação do cliente, foi um degrau muito importante na minha vida. Embora já tivesse estas convicções, decidi que iria desenvolver software focado na comunicação efetiva, simplicidade, feedback e respeito do cliente, tendo como base os princípios ágeis.