Академический Документы
Профессиональный Документы
Культура Документы
com)
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
Destacarei algumas boas práticas e explicarei a relação dos benefícios destas práticas com o desenvolvimento ágil.
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.
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
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.
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
Like 4 10 0 0 0 3
(http://www.myscrumhalf.com/?utm_source=BlogSH&utm_medium=postBanner&utm_campaign=produto)
Dê sua opinião
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
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
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)