O que é Gerência de Configuração?



             Problemas que ocorrem em empresas, geralmente criam necessidades tecnológicas para a resolução. As empresas de TI atuam como solucionadores destes problemas, através da disponibilização de serviços e/ou criação de softwares. Para o desenvolvimento de softwares, existem várias tecnologias Open-Source ou pagas disponíveis. Mas nem sempre o problema para uma empresa de TI é qual a tecnologia que irá ser utilizada para desenvolver o software e sim a forma como gerenciá-lo até o seu fim.

Imaginando um cenário de caos dentro de uma empresa de TI, que está em pleno desenvolvimento de um ou mais softwares, vamos criar alguns problemas:
  •  Falta de possibilidade da reprodução de um erro ocorrido em produção no cliente - Imagine que um cliente acaba de contactar a empresa para reclamar que a  geração de nota fiscal no faturamento não está funcionando. Você têm que reproduzir o erro para tentar corrigí-lo, mas a empresa não possui o código fonte "guardado" de forma organizada, ele está distribuído nas máquinas dos desenvolvedores.
  • Bugs que persistem em reaparecer -  A empresa não possui um controle das mudanças ocorridas no software, nem tão pouco sabe o que está sendo impactado com uma mudança feita.
  • Funcionalidades desaparecem - Funcionalidades já testadas e implementadas simplesmente desaparecem por não possuir um controle de mudança nem histórico de alterações.
  • Problemas com trabalho paralelo - Dificuldades para integrar implementações feitas em 2 máquinas diferentes.
  • Entre muitos outros...
  Criado o caos acima, como resolver?   Que tal  Gerência de Configuração??!!
 Mas enfim, o que é Gerência de Configuração? 

 Gerência de Configuração (GC) é um conjunto de atividades de apoio que permite a absorção controlada das mudanças inerentes ao desenvolvimento de software, mantendo a estabilidade na evolução do projeto.(Roger Pressman)
 Ou seja, a gerência de configuração poderá lhe ajudar a responder algumas perguntas como:
  • O que mudou e quando?
  • Qual foi o motivo de tal mudança?
  • Quem foi o responsável pela mudança?
  • Será possível reproduzir essa mudança?
  • Qual foi a versão do software cujo a mudança foi realizada?
  • O sistem continua íntegro depois da mudança?
É inevitável negar que mudanças irão ocorrer. Será comum a mudança no escopo de um projeto por causa de retiradas, acréscimos e/ou alterações de funcionalidades. Com a utilização da GC, a empresa passa a definir políticas para o controle de versão dos softwares criados, visando a consisência dos artefatos produzidos. Irá definir e utilizar ferramentas e procedimentos para controlar as solicitações de mudanças, que como consequência, diminuirá custos de manutenção e facilitará a geração de novas versões.

A GC envolve as seguintes áreas:
  • Controle de mudança - Fornece formas de assegurar que qualquer mudança realizada em um projeto seja controlada. É através deste controle que teremos a visibilidade de cada mudança efetuada no software, qual foi o motivo que gerou a mudança, quem executou, etc.
  • Integração contínua / Gerênciamento de builds - Têm como objetivo não só de automatizar o  processo de geração de builds, mas também de garantir que as mudanças no software serão implementadas, testadas e integradas o mais breve possível depois de serem relatadas.
  • Controle de versão - O controle de versão pode ser caracterizado como a base do GC, pois irá apoiar os 2 itens acima descritos. Ele irá controlar as mudanças e rastrear todos os artefatos do projeto, possibilitando assim o trabalho paralelo dos desenvolvedores. Através de um controle de histórico é possível saber quem alterou um artefato, quando e principalmente recuperar versão anterior sempre que desejado.
Para cada área acima descrita, existem termos, conceitos e definições que devem ser entendidos, pois serão utilizados durante a execução de ferramentas e práticas relacionadas a GC.


2 comentários:

Anônimo disse...

Otimo post Fábio. Eu estava tentanto tirar umas dúvidas sobre gerencia de configuração e o post conseguiu esclarecer elas.

Espero que voce fale sobre a questao de termos e conceitos que você comentou no fim do post!!

Anônimo disse...

Realmente ainda existe muita empresa que não utiliza ou utiliza de forma incorreta a gerencia de configuração.

Conheci muitas pessoas que nem utilizavam um controle de versão com SVN, CVS ou outro que exista

Postar um comentário

Comente este artigo que acabou de ler
Ou quer apenas entrar em contato conosco ou tirar alguma dúvida? Use nosso formulário: Clique Aqui
Todos os comentários serão moderados

 
Copyright © 2009 IT Nowadays
Design Original do Template by Revolution Two Church theme - Brian Gardner
Modificado por Fábio Vaz
Home | Contato | Sobre | Privacidade


O blog está licenciado sob uma Licença Creative Commons