Nem sempre é fácil mudar a maneira como trabalhamos, porém se fecharmos os olhos para o que está acontecendo a nossa volta, corremos o sério risco de ficarmos obsoletos em poucos meses. Nunca foi tão verdade o que ouvi de um dos meus professores durante a cerimônia de formatura em engenharia da computação – “ lembre-se que este diploma que você está recebendo agora tem uma validade de 24 meses, você precisa estar se atualizando constantemente”. Na época me pareceu um exagero acadêmico mas logo notei que não.
Estou falando isso porque começamos a utilizar o RTC em nosso projeto e o que me pareceu inicialmente apenas um novo versionador de código, após alguns treinamentos e exercícios práticos, se revelou uma ferramenta extremamente poderosa, que iria transformar completamente a maneira como trabalhamos no projeto.
Após a criação dos usuários e a transferência de toda a documentação e códigos fonte do projeto para o RTC, verificamos que iríamos obter ganhos imediatos de produtividade. A integração com o Sametime, por exemplo, permitiu a troca de comentários e trechos de códigos sem a necessidade de sair do IDE (Integrated Development Environment) aumentando a colaboração entre os desenvolvedores, principalmente entre os que estão em diferentes localidades. Aliás, a IDE baseada em Eclipse é outro ponto forte do RTC pois muitos dos desenvolvedores já tinham familiaridade com esta interface e com isso a consolidação das contribuições individuais de cada profissional na elaboração das releases se tornou mais ágil.
Na verdade, estamos trabalhando para automatizar completamente o processo de release através da funcionalidade build do RTC. O nosso objetivo é gerar o executável diretamente do versionador, rodar os scripts de teste, garantir a qualidade e em seguida fazer o deploy no servidor do cliente.
Em termos de gestão, os ganhos também foram visíveis. A possibilidade de distribuir e acompanhar em tempo real as atividades da equipe através dos work itens, permite ao gerente controlar de perto a evolução do projeto. Assim, é possível alterar as responsabilidades da equipe de acordo com o tempo consumido e com a estimativa de esforço de cada atividade sem a necessidade de dispendiosas reuniões de status. Além disso, cada work item pode ser monitorado através de configurações que garantem o envio de e-mails a cada mudança de status ou de qualquer outro atributo. O controle de riscos e issues também pode ser feito diretamente no RTC.
Atualmente o nosso principal desafio é adequar a metodologia iterativa de desenvolvimento suportada pelo RTC aos marcos de projeto definidos por um cliente que ainda utiliza uma metodologia tradicional (waterfall). Finalizando este passo acredito que estaremos mais alinhados com as melhores práticas, mas continuaremos com a certeza que sempre haverá espaço para novas mudanças no processo de desenvolvimento de software.