Buscar

GERÊNCIA DE CONFIGURAÇÃO DE SOFTWARE


Continue navegando


Prévia do material em texto

GERÊNCIA DE CONFIGURAÇÃO 
VS.
EXTREME PROGRAMMING
Método Extreme Programming e a Gerencia de configuração de software
Práticas XP (Extreme Programming)
Segundo BECK(2005):"XP é um estilo de desenvolvimento de software com foco na excelente aplicação de técnicas de programação, comunicação clara e trabalho em equipe 
que nos permite realizar coisas que antes nem sequer conseguíamos Imaginar" e também que "XP incorpora um modelo explícito de rotatividade de pessoal. Novos membros 
do time são encorajados a aceitar gradualmente mais e mais responsabilidade, e são auxiliados ao longo do caminho uns pelos outros e por programadores que já estão no 
time."
"Extreme Programming melhora um projeto de software em quatro formas essenciais:
comunicação, simplicidade , feedback e respeito" (BECK 2009) e apoiada em práticas que formam a metodologia.
“Aqui estão todas as práticas:
· O Jogo do Planejamento — Determine rapidamente o escopo do 
próximo lançamento
combinando prioridades de negócios e estimativas técnicas. À medida que 
a realidade ultrapassa o
plano, atualize o plano.
· Pequenos lançamentos — Coloque um sistema simples em produção 
rapidamente e, em seguida, lance novos
versões em um ciclo muito curto.
· Metáfora — Oriente todo o desenvolvimento com uma simples história 
compartilhada de como o
todo o sistema funciona.
· Projeto simples — O sistema deve ser projetado da forma mais simples 
possível em qualquer dado momento. A complexidade extra é removida 
assim que é descoberta.
· Testes — Os programadores escrevem continuamente testes de unidade, 
que devem ser executados sem falhas
para que o desenvolvimento continue. Os clientes escrevem testes 
demonstrando que
recursos são concluídos.
Refatoração — Os programadores reestruturam o sistema sem alterar sua
comportamento para remover duplicações, melhorar a comunicação, 
simplificar ou adicionar flexibilidade.
· Programação em pares — Todo o código de produção é escrito com dois 
programadores em uma máquina.
· Propriedade coletiva — Qualquer pessoa pode alterar qualquer código em 
qualquer lugar do sistema
a qualquer momento.
· Integração contínua — Integre e construa o sistema muitas vezes ao dia,
cada vez que uma tarefa é concluída.
· 40 horas semanais — Trabalhar não mais que 40 horas semanais como 
regra. Nunca trabalhe horas extras pela segunda semana consecutiva.
· Cliente no local — Inclua um usuário real e ativo na equipe, disponível em 
tempo integral para responder a perguntas.
· Padrões de codificação — Os programadores escrevem todo o código de 
acordo com as regras enfatizando a comunicação através do código.”(Beck, 
1999, pág. 47 e 48)
GERÊNCIA DE CONFIGURAÇÃO DE SOFTWARE
O mesmo artigo cita “As vantagens da utilização da 
Gerência de Configuração de Software são inúmeras. 
Dentre elas, podemos listar:
▪ Ganho de produtividade e eficiência;
▪ Diminuição do retrabalho e dos erros;
▪ Aumento da disciplina no processo de desenvolvimento;
▪ Aumento da memória organizacional;
▪ Acesso às informações qualitativas e quantitativas 
referentes ao processo de desenvolvimento, como por 
exemplo, medida de esforço para efetuar uma alteração 
e frequência de modificações por componente;
▪ Possibilidade de estabelecer uma trilha de auditoria 
indicando por que, quando e por quem um artefato foi 
alterado;
▪ Auxílio à gerência de projetos e
▪ Garantia de ambiente estável no qual o produto deve 
ser desenvolvido.”
No artigo: Gerência de Configuração de Software,
Saiba como desenvolver software de forma eficiente e 
disciplinada o site Devmedia define que Gerencia de 
configuração de software:
“É uma disciplina que controla e notifica as 
inúmeras correções, extensões e adaptações aplicadas 
durante o ciclo de vida do software de forma a assegurar um 
processo de desenvolvimento e evolução sistemático e 
rastreável, sendo indispensável quando equipes manipulam, 
muitas vezes em conjunto, artefatos comuns.”
e que “Apesar de existir um forte apelo para o uso 
da Gerência de Configuração de Software durante a etapa 
de manutenção, a sua aplicação não se restringe somente a 
essa etapa do ciclo de vida do software. O uso dos sistemas 
de Gerência de Configuração é fundamental para prover 
controle sobre os artefatos produzidos e modificados por 
diferentes recursos desde o planejamento e levantamento 
de requisitos até a construção e entrega do produto. O 
motivo da sua importância está geralmente associado aos 
problemas identificados quando a Gerência de 
Configuração não é utilizada no desenvolvimento de 
software. ”
XP SEM GERÊNCIA DE CONFIGURAÇÃO
Imagine que uma organização desconhece o que seja 
Gerência de Configuração e que em um determinado projeto em que é 
utilizada a metodologia XP a fim de da mais dinamismo e agilidade ao 
projeto, um desenvolvedor esteja modificando os artefatos C1, C2 e C3 em 
um diretório compartilhado na rede. Simultaneamente, um segundo 
desenvolvedor modifica os artefatos C4, C5 e também o artefato C3, como 
exemplifica a Figura 1.
Imagine que agora, na mesma organização, foi acordado entre 
os desenvolvedores que o ideal seria centralizar os artefatos em um 
repositório e que cada desenvolvedor implementaria suas modificações em 
um espaço de trabalho privado. Após cada modificação, o artefato seria 
devolvido ao repositório. Considerando este cenário, frequentemente 
ocorreriam sobreposições ou perdas de modificações implementadas nos 
artefatos comuns nas organizações sem a prática da Gerência de 
Configuração. A práticas do método XP seriam inviáveis e sem sentido 
nesse contexto, já que o versionamento colabora para o bom 
funcionamento das correções realizadas e mantem um padrão de 
codificação além de prover a pratica bem sucedida da simplicidade do 
método XP e a pratica da propriedade coletiva mas de forma organizada. 
(ver figura 2).
Neste cenário, o segundo desenvolvedor não notifica o 
primeiro desenvolvedor sobre o impacto que a modificação do artefato C3 
pode causar no código. Consequentemente, o primeiro desenvolvedor, que 
está usando o mesmo espaço de trabalho, não conseguirá identificar, de 
forma rápida, o motivo que levou sua implementação a falhar. Este 
problema acontece pela falta de notificação e pelo compartilhamento de 
artefatos de software por diversos desenvolvedores. Nesse cenário 
diversas práticas primordiais do método XP seriam impossíveis de serem 
postas em prática, sendo assim a gerencia de configuração é poderosa 
aliada no uso do método XP.
Repositório centralizado compartilhado por vários desenvolvedores
Espaço de Trabalho compartilhado por vários desenvolvedores
Em resumo uma má gerência ou uma não gerência de configuração resulta 
em uma utilização sem efeitos positivos do método XP ou de qualquer outra 
metodologia de desenvolvimento ágil.
Figura 2
Figura 1
REFERÊNCIAS E FONTES
 Beck,Kent.Extreme Programming Explained Embrace Change, First Edition September 29, 1999
ISBN: 0201616416, pg 47 e 48.
link: http://www.scrumcn.com/agile/index.php?wpdmact=process&did=MTguaG90bGluaw==
 BECK, KENT. ANDRES, CYNTHYA. em: Extreme Programming Explained Embrace Change, Second
Edition. Addison-Wasley, Boston, 2005
link: https://ptgmedia.pearsoncmg.com/images/9780321278654/samplepages/9780321278654.pdf
 https://www.devmedia.com.br/gerencia-de-configuracao-de-software/9145 , acessado em 24/06/2022
 https://www.devmedia.com.br/Imagens/engsoft/ed02/artigo3/image1.jpg , figura 1 , acessado em 
09/06/2022
 https://www.devmedia.com.br/Imagens/engsoft/ed02/artigo3/image1.jpg , figura 2, acessado em 
09/06/2022.
http://www.scrumcn.com/agile/index.php?wpdmact=process&did=MTguaG90bGluaw==
https://ptgmedia.pearsoncmg.com/images/9780321278654/samplepages/9780321278654.pdf
https://www.devmedia.com.br/gerencia-de-configuracao-de-software/9145
https://www.devmedia.com.br/Imagens/engsoft/ed02/artigo3/image1.jpg
https://www.devmedia.com.br/Imagens/engsoft/ed02/artigo3/image1.jpg