pontoNETpt
A comunidade PontoNetPT está direccionada a todos os programadores que trabalhem com a plataforma .NET.
Software Configuration Management (SCM)

Uma das áreas que muitas vezes é negligenciada por todos nós é a área de gestão de configurações de software, usualmente conhecida pelo acrónimo SCM. Penso que uma das razões para que isto aconteça é o facto de ainda não se dar muita importância ao assunto nos programas de licenciatura de Engª Informática, bem como em cursos de programação. Fala-se muito superficialmente de alguns conceitos em cadeiras como Engenharia de Software, Ambientes de Densenvolvimento, etc., mas nada o suficiente para ficar sensibilizado do quão importante é esta área num projecto de software.

Na minha opinião, penso que a comunidade de programadores deveria dar muito mais importância a esta área. Numa era em que os "Patterns" são regra, é complicado um programador "sobreviver" neste mundo se não conhecer minimamente um conjunto de Patterns básicos como o Factory, Singleton, Proxy, etc. Na área do SCM o mesmo se aplica, sendo que existem Patterns bem conhecidos. Um excelente livro que eu recomendo vivamente a sua leitura é Software Configuration Management Patterns: Effective Teamwork and Practical Integration. Eu li uma versão Draft este livro em 2001, e na altura percebi o quão leigo estava em termos de SCM. Actualmente estou num cliente, com uma função dedicada exclusivamente a este assunto, no sentido de melhorar os processos internos da sua equipa de desenvolvimento. Penso que todas as equipas de desenvolvimento deveriam ter pelo menos uma pessoa com conhecimentos qb. nesta área, que permitisse responder a certas questões como por exemplo:

  • Quando e em que situações é que eu faço um branch?
  • Como é que eu faço um refactoring sem afectar o resto da equipa?
  • Como é que eu posso iniciar os desenvolvimentos de uma nova release e poder corrigir bugs da que está em produção?
  • Como é que eu garanto que o processo de build é um processo consistente e repetível?
  • Como é que posso fazer check in sem o tornar visível para o resto da equipa? 

Enfim, existe um conjunto de variadíssimas questões que alguém no projecto deve ter a capacida de responder. Indepentemente do sistema de controlo de versões ser o VSS, CVS, Clear Case, Vault, etc., estes são conceitos que são um pouco agnósticos à ferramenta. Obviamente que poderão existir limitações ao nível da ferramenta, e todos nós sabemos das limitações do VSS.

Assim como assumi que Factory, Singleton, Proxy são de conhecimento geral no vocabulário de um programador, espero um dia que o mesmo se passe com os termos  Mainline Development, Task Branch, Release-Prep, Smoke Tests, Private Branch, etc. (pelo menos que quando ouvimos os termos sabemos minimamente de que estamos a falar de SCM)

BFC


 

 


Posted 5-1-2005 18:28 por Agilior

Comments

Anonymous wrote re: Software Configuration Management (SCM)
on 1-7-2009 1:37
Olá,

Na empresa onde trabalho fui designado para elaborar um SCM - Software Configuration Management, mas estou perdido no assunto. Uma das medidas que tomei foi a de ler muita coisa sobre o assunto para ganhar familiaridade com o tema, mas ainda tenho duvidas e lacunas á preencher, além do livro que foi recomendado existe outra fonte de pesquisa na web?

Quais caminhos devo seguir, por onde começar, o que é possivel automatizar?

Obrigado,
Att

Daniel
Anonymous wrote re: Software Configuration Management (SCM)
on 2-7-2009 1:57
Olá,

Na empresa onde trabalho fui designado para elaborar um SCM - Software Configuration Management, mas estou perdido no assunto. Uma das medidas que tomei foi a de ler muita coisa sobre o assunto para ganhar familiaridade com o tema, mas ainda tenho duvidas e lacunas á preencher, além do livro que foi recomendado existe outra fonte de pesquisa na web?

Quais caminhos devo seguir, por onde começar, o que é possivel automatizar?

Obrigado,
Att

Daniel

Add a Comment

(requerido)  
(opcional)
(requerido)  
Remember Me?
If you can't read this number refresh your screen
Enter the numbers above:  
Powered by Community Server (Commercial Edition), by Telligent Systems