Integração Contínua

Integração Contínua é uma prática de desenvolvimento de software onde os membros da equipe integram o trabalho deles frequentemente.
Martin Fowler

O termo Integração Contínua originou-se com o processo de desenvolvimento "Extreme Programming", e não é um conceito novo. Com esse processo faz-se a integração do projeto várias vezes ao dia, assegurando que ao final de cada uma o código permanecerá consistente. A Integração Contínua (IC) traz muitas vantagens no processo de desenvolvimento de software, entre elas podemos citar:
  1. Fácil correção de "bugs", já que sempre o programa está sendo atualizado os erros tornam-se menos trabalhosos de serem corrigidos, mas isso não significa que os "bugs" são eliminados;
  2. Aumenta o trabalho em equipe, fazendo com que os programadores sintam-se mais responsáveis pelo software desenvolvido;
  3. Geração de sotware funcionando a qualquer momento que seja necessitado, afinal o mesmo está sendo sempre atualizado e verificado;
  4. Elimina a barreira entre cliente e desenvolvedor, fazendo com que o cliente interaja mais com a equipe que desenvolveu o programa, dando dicas de melhorias nas "features" que são disponibilizadas a ele.
Como praticar a IC no meu ambiente de trabalho? Talvez seja essa a sua curiosidade, vou enumerar alguns passos importantes:
Sistema de Controle de Versão

Pode parecer bobagem, mas muitos projetos ainda hoje não usam sistema de controle de versão.
É importante ter um repositório onde o projeto esteja sempre atualizado, onde o desenvolvedor tenha tudo o que for necessário para deixar o projeto rodando no seu ambiente de trabalho, não somente o código, mas os scripts de testes, o esquema de banco de dados, os scripts de instalação etc. Isso deve estar ao alcance de todos e ser de fácil acesso, fica simples quando você usa um sistema de controle de versão como o Subversion, por exemplo.

Ambiente sempre sincronizado

O desenvolvedor deve deixar o seu ambiente de trabalho sempre atualizado com o repositório do projeto, com essa prática todos os desenvolvedores ficam sabendo o que foi desenvolvido.
Primeiro deve-se atualizar o projeto no seu ambiente de trabalho e resolver algum conflito que possa aparecer e depois que isso tenha sido feito é que pode-se atualizar o repositório com as suas atualizações. A resolução dos conflitos que possam aparecer ficam rápidas porque o projeto está sendo sempre atualizado e os "bugs" são logo detectados.

Workspace de desenvolvimento padrão

O ambiente de desenvolvimento entre os desenvolvedores tem que ser padronizado e ser o mais parecido com o ambiente de produção quanto possível, evitando assim algum erro que possa acontecer numa apresentação ao cliente, por exemplo, ou mesmo algum conflito de código em diferentes ambientes de trabalho. Use o mesmo banco de dados, as mesmas versões de software e o mesmo sistema operacional.

Todos podem ver o que está acontecendo

Se você usar um servidor de IC, como o CruiseControl, fica fácil de ver as mudanças no projeto através de um página web que é disponibilizada pelo servidor, isso até facilita a comunicação entre desenvolvedores que não trabalham na mesma sala. Quando ocorre mudanças no projeto o CruiseControl faz checkout, executa todos os testes automaticamente e se houver algum erro de compilação é enviado um e-mail ao responsável pelo problema.

O que achou? Para mim parece o ambiente de trabalho perfeito. Aqui há um passo-a-passo de como fazer um ambiente onde seja utilizado IC.


Abaixo uma breve apresentação que eu e a Lucimara fizemos:

1 comentários:

Fé, Razão e Ciência disse...

Muito bem amiga!!! Vc aprendeu tudo direitinho!

Postar um comentário