Para darmos início ao desenvolvimento, é importante que tenhamos planejada a gerência de
configuração da nossa solução. Para Pressman (2011) a gerência de configuração de software é um
conjunto de atividades destinadas a controlar a mudança, identificando os produtos de trabalho que
são passíveis de mudança, estabelecendo relações entre eles, definindo mecanismos para gerenciar
diferentes versões desses produtos de trabalho, controlando as mudanças impostas e auditando e
relatando as mudanças feitas.
Portanto é a arte de identificar, organizar e controlar modificações no software que está sendo
construído por uma equipe de desenvolvimento. Além disso, ela maximiza a produtividade e
minimiza erros.
É necessário estabelecer e manter a integridade dos produtos do projeto de software ao longo do
seu ciclo de vida. As atividades necessárias para realizar isso incluem identificar itens e unidades de
configuração, controlar sistematicamente as mudanças e manter a integridade e a rastreabilidade da
configuração ao longo do ciclo de vida do software. Então, ao identificarmos os itens que precisam
ser configurados, devemos lembrar que todos os artefatos do projeto são candidatos a: documentos,
modelos gráficos, protótipos, código e qualquer entrega interna ou externa que pode sofrer
alteração.
Quando programamos temos muitas vezes o hábito ruim de sobrescrever alterações sobre
alterações, código sobre código, o que com certeza dificulta quando precisamos encontrar bugs ou
pior, quando o código para de funcionar, não conseguimos retornar a uma versão anterior que o
permita funcionar novamente. E isso estressa em demasia, como você já deve ter se deparado em
algum momento de sua jornada. Para isso eu indico fortemente que você, durante sua codificação,
caso não opte por utilizar ferramentas no-code, que utilize um controlador de versionamento, porque
ele:
Melhora a produtividade da equipe e permite a colaboração;
Melhora a comunicação da equipe com uma solução confiável;
Reduz erros e conflitos de desenvolvimento;
Melhora a satisfação do cliente com versões de software confiáveis.
Mesmo que nesse desafio você tenha que desenvolver sozinho sua solução, é
mandatório utilizar controle de versionamento. Há vários softwares que
podem fazer isso com maestria, os mais populares mundialmente são
Subversion (também conhecido como SVN), Git, Mercurial e Bazar. Vou focar
no SVN e no conhecido Git. Ele depende de um repositório central.
Por outro lado, o Git, que está inserido no popular GitHub, permite colaboração, revisão de código e
gerenciamento de código tanto para open source quanto projetos privados. O Git se tornou o método
preferido para muitos desenvolvedores de software de código aberto compartilharem e
colaborarem em projetos. Porém, não é bem documentado e muda rapidamente, de modo que
acompanhar todos os seus recursos pode ser um desafio, mesmo com os vídeos e cursos que tem
por aí.