Вы находитесь на странице: 1из 3

(http://blog.myscrumhalf.

com)

Algumas Boas Práticas no Controle de Versão 


Postado em 30 de novembro de 2011 (http://blog.myscrumhalf.com/2011/11/algumas-boas-praticas-no-controle-de-versao/) por Igor Araujo, Desenvolvedor Java Pleno da empresa Match
Latam (http://blog.myscrumhalf.com/author/igor-araujo/)

No post anterior publicado aqui no blog: "Vantagens do controle de versão no desenvolvimento ágil
(http://blog.myscrumhalf.com/2011/10/vantagens-do-controle-de-versao-no-desenvolvimento-agil/)" escrevi um pouco sobre controle de versão,
destacando algumas de suas vantagens e relacionando-as ao desenvolvimento ágil. Dentre as vantagens destacadas, encontram-se o suporte à
colaboração, o suporte à marcação e a rastreabilidade, que são características das ferramentas de controle de versão que facilitam o processo de
desenvolvimento ágil.

Porém, para se usufruir destas vantagens da melhor maneira não basta possuir uma ferramenta de controle de versão. É preciso utilizar estas
ferramentas de maneira adequada para que elas sejam um facilitador do processo de desenvolvimento e não um complicador, para não
comprometer a agilidade. Mas o que significa utilizar estas ferramentas de maneira adequada? Eu diria em poucas palavras que é utilizar tais
ferramentas de maneira a usufruir dos seus benefícios relevantes para o projeto complicando o mínimo possível o processo de desenvolvimento.
Mas como fazer isso? Alguma fórmula mágica? Não! Não existe fórmula mágica para isso. Mas existem algumas práticas que, quando

empregadas, levam a um uso adequado das ferramentas de controle de versão.

Destacarei algumas boas práticas e explicarei a relação dos benefícios destas práticas com o desenvolvimento ágil.

Escolha da ferramenta e seus recursos

Vamos começar pela escolha da ferramenta de controle de versão. Como escolher uma ferramenta que atenda às necessidades do desenvolvimento ágil?

Como citei no post anterior, o suporte à colaboração é uma das grandes vantagens oferecidas pelas ferramentas de controle de versão ao desenvolvimento ágil. Vale lembrar que segundo a
Dê sua opinião

metodologia Scrum, é importante que a equipe de desenvolvimento implemente em conjunto cada uma das histórias, buscando um maior número de entregáveis ao final da Sprint. Por conta disso, é
natural que dois ou mais desenvolvedores estejam trabalhando em cima de um mesmo código simultaneamente, e é aí que o suporte à colaboração figura como um importante aspecto da
ferramenta de controle de versão.

Outro fator importante na escolha da ferramenta é a simplicidade.

Utilizar muitos recursos não é sinônimo de sucesso no controle de versão. Os recursos utilizados devem estar alinhados às necessidades do projeto. Afinal (permitam-me a metáfora) não é preciso
um canhão pra matar uma mosca! O uso de recursos complexos desnecessariamente pode comprometer a agilidade no processo de desenvolvimento. Portanto, pode-se destacar a simplicidade como

um aspecto importante na escolha dos recursos utilizados para o controle de versão.

Comentários nas alterações

Toda alteração feita em algum componente versionado deve ser acompanhada de um comentário, um texto que permita o entendimento da razão pela qual a mudança foi realizada. Isto tem grande
importância para o desenvolvimento ágil uma vez que tais comentários permitem um entendimento mais imediato de como o código foi sendo implementado, conferindo agilidade nas decisões de
implementação das histórias.

Assegurar que os commits não causem quebra do build

Uma prática de fundamental importância é a de assegurar que os commits não causem erros ao dar build no projeto. É importante que a qualquer momento o código mantido pelo controle de versão
possa ser compilado sem erros. É responsabilidade da equipe sempre fazer esta verificação antes de realizar os commits de suas alterações. Geralmente para auxiliar neste processo,v de verificar se
os commits não resultam na quebra o build, são utilizadas ferramentas de Integração Contínua, que, segundo Martin Fowler (http://martinfowler.com/articles/continuousIntegration.html), "é uma

prática de desenvolvimento de software onde os membros de uma equipe integram seu trabalho frequentemente, geralmente cada pessoa integra pelo menos diariamente […]". Mas este é um
assunto para próximos posts!

Backup de versões

Todos os backups das versões do projeto devem ser mantidos no repositório, preferencialmente associados a uma identificação, uma tag. No processo de desenvolvimento ágil é produzida uma nova
versão entregável do produto a cada Sprint. Portanto manter o controle das versões que foram lançadas a cada Sprint é uma prática que permite maior agilidade, uma vez que facilita a recuperação
de cada versão a qualquer momento. Uma prática que pode facilitar ainda mais este processo é a de estruturar a identificação da tag, de forma que só pela identificação já seja possível saber
informações como a versão do projeto e a Sprint na qual a versão foi lançada.

Este post teve o objetivo de ressaltar algumas das muitas boas práticas que devem ser adotadas sobre o controle de versão para que confiram maior agilidade ao processo de desenvolvimento de
software. Lembro também, que apesar de a Gerência de Configuração não ser explicitamente definida como um item obrigatório do Scrum, ela tem papel importante no desenvolvimento ágil de
software. Falamos também de um elemento importante que é a Integração Contínua, que será objeto de destaque em posts futuros! Até lá!

Referências:

Continuous Integration
(http://martinfowler.com/articles/continuousIntegration.html)
5 SVN best practices
(http://www.iovene.com/21/ )
SVN: conceitos, boas práticas e dicas de utilização
(http://intentor.com.br/svn-conceitos-boas-praticas-dicas-de-utilizacao/)

Posts relacionados

(http://blog.myscru (http://blog.myscru (http://blog.myscru (http://blog.myscru (http://blog.myscru (http://blog.myscru


mhalf.com/2012/07/ mhalf.com/2011/10/ mhalf.com/2014/06/ mhalf.com/2011/12/ mhalf.com/2013/07/ mhalf.com/2013/10/
5-dicas-para-a- vantagens-do- o-cliente-nao-quer- a-importancia-da- metricas-de- ja-ouviu-falar-em-
gestao-de- controle-de-versao- o-que-pede/) refatoracao/) codigo-sem- devops/)
conhecimento-da- no- O Cliente Não Quer A importância da medicao-nao- Já ouviu falar em
sua-equipe/) desenvolvimento- o Que Pede refatoração sabemos-nada-2/) DevOps?
5 dicas para a agil/) (http://blog.myscru (http://blog.myscru Métricas de (http://blog.myscru
gestão de Vantagens do mhalf.com/2014/06/ mhalf.com/2011/12/ Código, sem mhalf.com/2013/10/
conhecimento da controle de versão o-cliente-nao-quer- a-importancia-da- medição não ja-ouviu-falar-em-
sua equipe no o-que-pede/) refatoracao/) sabemos nada… devops/)
(http://blog.myscru desenvolvimento (http://blog.myscru
mhalf.com/2012/07/ ágil mhalf.com/2013/07/
5-dicas-para-a- (http://blog.myscru metricas-de-
gestao-de- mhalf.com/2011/10/ codigo-sem-
conhecimento-da- vantagens-do- medicao-nao-
sua-equipe/) controle-de-versao- sabemos-nada-2/)
no-
desenvolvimento-
agil/)
Sovrn (http://www.sovrn.com/)

Like 4 10 0 0 0 3

(http://www.myscrumhalf.com/?utm_source=BlogSH&utm_medium=postBanner&utm_campaign=produto)
Dê sua opinião

Publicado em Técnicas ágeis (http://blog.myscrumhalf.com/category/tecnicas-ageis/) | Tags: Agilidade (http://blog.myscrumhalf.com/tag/agilidade/), Boas Práticas


(http://blog.myscrumhalf.com/tag/boas-praticas/), Controle de Versão (http://blog.myscrumhalf.com/tag/controle-de-versao/) | 2 Comentários (http://blog.myscrumhalf.com/2011/11/algumas-boas-
praticas-no-controle-de-versao/#comments)

« Histórias e o Product Backlog – FAQ Scrum (http://blog.myscrumhalf.com/2011/11/historias-e-o-product-backlog-faq-scrum/)

Como incorporar um novo membro à equipe Scrum? (Parte 1) (http://blog.myscrumhalf.com/2011/12/como-incorporar-um-novo-membro-a-equipe-scrum-parte-1-2/) »

2 thoughts on “Algumas Boas Práticas no Controle de Versão”

Brendo Felipe (https://www.facebook.com/app_scoped_user_id/952975594780250/) diz:


21 de dezembro de 2015 às 17:44 (http://blog.myscrumhalf.com/2011/11/algumas-boas-praticas-no-controle-de-versao/#comment-99354)

Muito bom, parabéns pelo post!

Responder (http://blog.myscrumhalf.com/2011/11/algumas-boas-praticas-no-controle-de-versao/?replytocom=99354#respond)

Pingback: A importância da Integração Contínua para a Gestão Ágil | Blog ScrumHalf - Gerência de Projetos Ágeis e Scrum - Brasil
(http://blog.scrumhalf.com.br/2011/12/a-importancia-da-integracao-continua-para-a-gestao-agil/)

Deixe um comentário
O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Comentário
Nome *

E-mail *

Site

Publicar comentário

Posts mais lidos


User Stories – O que são? Como Usar? (http://blog.myscrumhalf.com/2011/10/user-stories-o-que-sao-como-usar/)
posted on outubro 10, 2011

10 fatores para você descobrir o que te motiva (http://blog.myscrumhalf.com/2013/09/10-fatores-de-motivacao-para-voce-descobrir-o-que-te-motiva/)


posted on setembro 11, 2013

Burndown chart – Mede o progresso da sprint e dá indicativos do processo de trabalho da equipe (http://blog.myscrumhalf.com/2012/01/burndown-chart-medindo-o-
progresso-de-sua-sprint-e-trazendo-indicativos-do-processo-de-trabalho-da-equipe/)
posted on janeiro 9, 2012

O que é Sprint? – FAQ Scrum (http://blog.myscrumhalf.com/2012/02/o-que-e-sprint-%e2%80%93-faq-scrum/)


posted on fevereiro 15, 2012

Critérios de Aceitação das User Stories (http://blog.myscrumhalf.com/2011/10/criterios-de-aceitacao-das-user-stories/)


posted on outubro 17, 2011

Busca …
Dê sua opinião

Idioma:
Português (http://blog.myscrumhalf.com/2011/11/algumas-boas-praticas-no-controle-de-versao/?lang=pt) English
(http://blog.myscrumhalf.com/2011/11/algumas-boas-praticas-no-controle-de-versao/?lang=en)

Arquivo
► 2017 (2) (http://blog.myscrumhalf.com/2017/)
► 2015 (7) (http://blog.myscrumhalf.com/2015/)
► 2014 (43) (http://blog.myscrumhalf.com/2014/)
► 2013 (49) (http://blog.myscrumhalf.com/2013/)
► 2012 (117) (http://blog.myscrumhalf.com/2012/)
► 2011 (103) (http://blog.myscrumhalf.com/2011/)
► 2010 (1) (http://blog.myscrumhalf.com/2010/)

Categorias
Dificuldades na Adoção do Scrum (http://blog.myscrumhalf.com/category/dificuldades-na-adocao-do-scrum/) (24)
Eventos (http://blog.myscrumhalf.com/category/eventos/) (13)
Gestão Ágil (http://blog.myscrumhalf.com/category/gestao-agil/) (104)
Gestão Tradicional de Projetos (http://blog.myscrumhalf.com/category/proj_trad/) (15)
Kanban (http://blog.myscrumhalf.com/category/kanban/) (1)
Manifesto Ágil (http://blog.myscrumhalf.com/category/manifesto-agil/) (22)
Métricas (http://blog.myscrumhalf.com/category/metricas/) (4)
Retrospectiva (http://blog.myscrumhalf.com/category/retrospectiva/) (9)
Scrum (http://blog.myscrumhalf.com/category/scrum/) (217)
FAQ SCRUM (http://blog.myscrumhalf.com/category/scrum/faq/) (12)
Projetos (http://blog.myscrumhalf.com/category/scrum/projetos/) (53)
ScrumHalf (http://blog.myscrumhalf.com/category/ferramenta_scrumhalf/) (27)
Técnicas ágeis (http://blog.myscrumhalf.com/category/tecnicas-ageis/) (62)

Вам также может понравиться