Olá, concurseiro/a!
Um assunto muito cobrado pelas diversas bancas para os cargos da área de tecnologia da informação são as metodologias ágeis. Já falamos sobre a metodologia Scrum, mas, para entender melhor a filosofia por trás dessas metodologias, é necessário conhecer o manifesto ágil. Neste artigo vamos explicar um pouco do seu funcionamento e de outra metodologia ágil, a XP (eXtreme Programming), bem como os principais aspectos cobrados pelas bancas.
O manifesto ágil
Com a evolução da engenharia de software e os constantes fracassos dos projetos de desenvolvimento que utilizavam abordagens tradicionais, em 2001, diversos profissionais compilaram as melhores maneiras de desenvolver software. Essa foi a origem do manifesto ágil, que foi uma grande mudança na forma de concepção de software. Vamos ver os valores defendidos por esse manifesto, conforme a figura 1:
Além desses valores existem doze princípios, retirados do site manifestoagil.com.br, listados abaixo:
- Nossa maior prioridade é satisfazer o cliente, através da entrega adiantada e contínua de software de valor.
- Aceitar mudanças de requisitos, mesmo no fim do desenvolvimento. Processos ágeis se adéquam a mudanças para que o cliente possa tirar vantagens competitivas.
- Entregar software funcionando com frequência, na escala de semanas até meses, com preferência aos períodos mais curtos.
- Pessoas relacionadas a negócios e desenvolvedores devem trabalhar em conjunto e diariamente, durante todo o curso do projeto.
- Construir projetos ao redor de indivíduos motivados, dando a eles o ambiente e suporte necessário, e confiar que farão seu trabalho.
- O método mais eficiente e eficaz de transmitir informações para, e por dentro de um time de desenvolvimento, é através de uma conversa cara a cara.
- Software funcional é a medida primária de progresso.
- Processos ágeis promovem um ambiente sustentável. Os patrocinadores, desenvolvedores e usuários devem ser capazes de manter, indefinidamente, passos constantes.
- Contínua atenção à excelência técnica e bom design aumenta a agilidade.
- Simplicidade: a arte de maximizar a quantidade de trabalho que não precisou ser feito.
- As melhores arquiteturas, requisitos e designs emergem de times auto-organizáveis.
- Em intervalos regulares, o time reflete em como ficar mais efetivo, então, se ajustam e aperfeiçoam seu comportamento de acordo.
O manifesto prega a mudança na forma de desenvolver software baseado nas melhores práticas reunidas e na experiência acumulada pelos profissionais da área no desenvolvimento de software. Muitos críticos alegam que ele não trouxe nada de novo em termo de processo, mas, de fato, a utilização de metodologias baseadas nesses princípios é reconhecida pelo mercado e por organizações como boas práticas para entrega de resultados e agregação de valor.
Metodologias Ágeis
Entende-se que o termo “metodologia” se refere a um conjunto de práticas adotadas para resolver um determinado problema. O manifesto ágil não rejeita processos e documentação, contratos ou planejamento, ou seja, adotar uma metodologia ágil não é simplesmente não documentar. Na verdade, a documentação continua sendo um item fundamental e deve ser equilibrada.
O que se busca é maior interação entre as pessoas envolvidas no projeto de software e principalmente a organização necessária para que mudanças de requisitos, que são uma realidade, sejam absorvidas sem causar impactos negativos. Entre as metodologias ágeis, uma das mais conhecidas é a Extreme Programming (XP) [Gomes, 2013]. Vamos falar um pouco dela agora…
Extreme Programming (XP)
Extreme Programming (XP) é uma metodologia ágil para equipes pequenas e médias que desenvolvem software baseado em requisitos vagos e que se modificam rapidamente [Kent, 2004]. Uma de suas práticas mais conhecidas é a programação em pares, que é uma técnica em que dois programadores compartilham uma única máquina para desenvolver o código, no qual um dos programadores desenvolve e o outro observa procurando a identificação de erros para sua pronta correção.
Outra prática é a de refatoração de código com intuito de simplificar o algoritmo sem perda nas funcionalidades. A XP tem como foco o feedback constante, a abordagem incremental e a comunicação. Essa abordagem é central nas metodologias ágeis. Neste artigo não trataremos todas as práticas do XP, que são várias. Mais informações podem ser obtidas nas referências e no nosso material no Gran Cursos Online.
Vamos ver uma questão sobre a metodologia XP? Vou deixar o gabarito das questões no final do artigo, para que você analise melhor a questão.
1. (CCV-UFC/UFC/2013/ANALISTA DE TECNOLOGIA DA INFORMAÇÃO-ARQUITETURA E DESENVOLVIMENTO DE SOFTWARE) A Programação extrema (eXtreme Programming), ou simplesmente XP, é um dos principais métodos ágeis de desenvolvimento de software. Sobre programação extrema (XP), é correto afirmar que:
A) tem a programação em pares como uma de suas práticas.
B) tem como valores: comunicação, simplicidade, feedback, coragem e planejamento.
C) a programação extrema é melhor adaptada para grandes times de desenvolvimento. Esse é um dos princípios básicos da Programação extrema.
D) o jogo de planejamento da programação extrema é realizado sempre no início de cada projeto e define as fases do RUP e os diagramas da UML que serão utilizados durante o desenvolvimento do projeto.
E) uma das principais práticas do XP é a Integração Contínua (Continuous Integration). Esta prática indica que sempre e somente ao final da iteração as novas funcionalidades produzidas devem ser integradas à versão atual do sistema.
Mais uma questão agora para analisar vários itens. Dessa forma vamos conhecer um pouco mais sobre XP.
2. (FAURGS/TJ-RS/2018/ANALISTA DE SISTEMAS) Considere as seguintes afirmações sobre princípios ou práticas da XP (Extreme Programming).
I – Um representante do usuário final do sistema (cliente) deve estar disponível todo o tempo à equipe de XP. Em um processo de Extreme Programming, o cliente é um membro da equipe de desenvolvimento e é responsável por levar ao grupo os requisitos de sistema para implementação.
II – Todos os desenvolvedores devem refatorar o código continuamente, assim que encontrarem oportunidades de melhorias de código.
III – Os desenvolvedores trabalham em todas as áreas do sistema, de modo que não se desenvolvam ilhas de expertise. Todos os desenvolvedores têm responsabilidade em relação ao código; qualquer um pode mudar qualquer coisa.
Quais estão corretas?
A) Apenas I.
B) Apenas I e II.
C) Apenas I e III.
D) Apenas II e III.
E) I, II e III.
Pessoal, comentamos neste artigo os valores e os princípios do manifesto ágil, além de detalhar algumas das práticas XP. Mais informações de seu funcionamento estão disponíveis nas nossas aulas, por isso acompanhem e até a próxima!
Bons estudos!
GABARITO:
Questão 1: LETRA A. Os demais itens não correspondem às práticas de XP, apenas a primeira opção. Os outros itens são falsos, e caso queira entender melhor, basta procurar nas referências deste artigo [3].
Questão 2: LETRA E. Detalha com assertividade práticas do XP, por isso trouxe essa questão para facilitar o entendimento.
Referências:
[1] http://agile.pub/assuntos-diversos/scrum-do-rugby-para-o-mundo-agil/
[2] http://www.eripi.com.br/2017/images/anais/minicursos/3.pdf
[3] https://www.desenvolvimentoagil.com.br/xp/dissertacaoXP.pdf
Professor Washington Almeida
Mestre em Engenharia de Software pelo Centro de Estudos e Sistemas Avançados do Recife – C.E.S.A.R. Atualmente é Analista Judiciário na Justiça Federal (TRF1) e Professor do Gran Cursos Online. Certificado ISF ISO/IEC 27002. Ocupou a Função de Diretor do Núcleo de Operação de Centros da Dados na Justiça Federal – TRF1. Exerceu o cargo de Coordenador-Geral de Sistemas (DAS 101.4) no Ministério do Planejamento, Orçamento e Gestão – MPOG, servidor público ocupando o cargo de Analista em Tecnologia da Informação – ATI.
Aprovado em diversos concursos para cargos de T.I, entre eles:
Agência Espacial Brasileira – Analista em Ciência e Tecnologia / Ministério do Planejamento, Orçamento e Gestão – Analista em Tecnologia da Informação / TRF 1ª Região – Analista Judiciário Especialidade Informática / Dataprev – Analista de Tecnologia da Informação / Codevasf – Analista em Desenvolvimento Regional – Informática / Ministério das Cidades – Analista de Sistemas / TRT 3ª Região – Técnico Judiciário – T.I / Eletrobrás Eletronorte – Analista de Sistemas / Governo do Distrito Federal – Professor Temporário – Informática / UnB Professor Substituto – Departamento de Ciência da Computação.
Quer ficar por dentro dos concursos abertos e previstos? Clique nos links abaixo:
Receba gratuitamente no seu celular as principais notícias do mundo dos concursos!
Clique no link abaixo e inscreva-se gratuitamente: