Controle as versões do seu software

Quero opinar sobre o controle das versões dos artefatos que compõem o software que você está produzindo. E quero ser enfático:

Todo artefato de sotware deve obrigatoriamente estar sendo controlado por algum mecanismo de gerenciamento de versão.

Por mecanismo aceito até o backup regular dos artefatos que fazem parte do desenvolvimento do software. Porém, o ideal é que este gerenciamento seja feito automaticamente, por alguma ferramenta com este objetivo. Como por exemplo Subversion, CVS, etc.

O que mais me assusta é que passei oito dos meus nove anos desenvolvendo software apenas usando o backup regular como recurso de controle de versão. E posso afirmar por experiência própria: quando necessário, o backup sempre falta alguma coisa, ou não tem aquele código que você estava precisando.

Portanto, se você desenvolve software, seu projeto deve estar sendo controlado por uma ferramenta de gerenciamento de versões. Esta necessidade é maior ainda quando o projeto conta com mais de um desenvolvedor.

E quando digo controlar as versões dos artefatos de software quero dizer tudo que compõe o projeto do software: documentos da fase de definição e análise, diagramas UML, scripts SQL , arquivos texto do tipo XML, INI, etc. e é claro, o código-fonte.

No entanto, estou descobrindo que nem sempre a mesma ferramenta é a melhor para todo artefato de software. Estou começando a acreditar que devemos ter uma ferramenta wiki para a documentação do software, uma ferramenta estritamente voltada para controle de versão para o código-fonte e arquivos auxiliares ao desenvolvimento, e uma outra ferramenta específica para controlar a evolução das bases de dados que persistem a informação do software.

Como disse, ainda estou aprendendo e descobrindo. Quer me ajudar a descobrir mais?

Referências em inglês:

  1. Joel Spolsky publicou há algum tempo um artigo com os doze passos para um código melhor. O primeiro deles? Adivinha.
  2. Jeff Atwood escreveu sobre controle de versão em bases de dados. Vale a pena ler para começar a discussão…
Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s