Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

AULA 6 
 
 
 
 
 
 
 
 
 
 
DIFERENTES METODOLOGIAS 
ÁGEIS DE PROJETOS 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Profª Ana Paula Costacurta 
 
 
2 
INTRODUÇÃO 
Olá, querido(a) aluno(a)! Seja bem-vindo(a). Nas aulas anteriores, já 
estudamos sobre os principais conceitos de gestão de projetos, conhecemos um 
pouco sobre as metodologias FDD, Microsoft Solutions Framework (MSF), Scaled 
Agile Framework® (SAFe®), Crystal e DSDM. 
Na aula anterior, conhecemos o Agile UP e iniciamos nossos estudos sobre 
a Programação Extrema (XP): valores, princípios, regras, vantagens e 
desvantagens, mapa do processo, etapa de interação e etapa de 
desenvolvimento. 
Na nossa aula de hoje, vamos continuar nossos estudos sobre a 
abordagem a XP. Veremos os seguintes tópicos: 
1. Principais práticas da XP; 
2. Práticas para equipe; 
3. Programação em pares; 
4. Comunicação Diária; 
5. Tendência da adoção das abordagens ágeis. 
TEMA 1 – PRINCIPAIS PRÁTICAS DA XP 
A Programação Extrema sugere 12 práticas principais que devem ser 
utilizadas durante o desenvolvimento de software, que quando utilizadas em 
conjunto ajudam a mitigar os riscos do processo de desenvolvimento e geram alta 
qualidade no resultado. 
Neste tema, separamos as práticas em quatro grupos: participação do 
cliente, atividade contínua, entendimento compartilhado e bem-estar. 
1.1 Grupo de participação do cliente 
Neste grupo, temos quatro práticas que priorizam o feedback do cliente, 
pois nada melhor que a opinião das partes interessadas para garantir a qualidade 
do software e atingir o sucesso do projeto. 
No Desenvolvimento Orientado a Testes (Test-Driven Development – 
TDD), os testes devem ser escritos antes da etapa de desenvolvimento e devem 
ser executados de preferência de forma automatizada. 
 
 
 
 
3 
Saiba mais 
Veja mais detalhes sobre desenvolvimento orientado a testes no link. 
Disponível em: <http://wiki.c2.com/?TestDrivenDevelopment>. Acesso em: 18 
mar. 2022. 
O jogo de planejamento (Planning Game) é uma reunião de planejamento 
para estimar histórias e priorizar. O jogo consiste em criar uma distância 
emocional do planejamento, tratando este como se fosse um jogo. Neste jogo, as 
peças são as histórias de usuários. O objetivo é colocar o maior valor possível nas 
histórias em produção ao longo do jogo. Os jogadores são equipes de negócios e 
desenvolvedores com várias possibilidades de movimentações. Veja na Figura 1 
o fluxograma do jogo de planejamento. 
Figura 1 – fluxograma do jogo de planejamento 
 
 
 
4 
Saiba mais 
Veja mais detalhes sobre planejamento no link. Disponível em: 
<http://wiki.c2.com/?PlanningGame>. Acesso em: 18 mar. 2022. 
O cliente deve sempre estar presente, com disponibilidade para responder 
eventuais dúvidas dos desenvolvedores. O nome dessa prática foi alterado para 
Equipe Inteira (Whole Team). Veremos em mais detalhes no tema sobre práticas 
para equipe. 
• Programação em pares (Pair Programming): dois programadores 
trabalham juntos. Enquanto um digita, o outro fica observando. Assim, é 
possível pensar em melhorias e alternativas. Veremos em mais detalhes 
em um próximo tema. 
1.2 Grupo de atividade contínua 
Neste grupo, temos três práticas para garantir a integração e a qualidade 
do software. 
Na integração contínua (Continuous Integration), o processo de integração 
contínua produz, em intervalos regulares, versões executáveis que adicionam 
funcionalidades a cada versão. 
Saiba mais 
Veja mais detalhes sobre integração contínua no link. Disponível em: 
<http://wiki.c2.com/?ContinuousIntegration>. Acesso em: 18 mar. 2022. 
A refatoração (refactoring) tem como objetivo melhorar o design do código. 
Por exemplo, a verificação de códigos duplicados ou variáveis desnecessárias no 
código devem ser corrigidas na refatoração, ou seja, refatoração é mudar a 
implementação sem alterar a funcionalidade. 
Saiba mais 
Veja mais detalhes sobre refatorar sem piedade no link. Disponível em: 
<http://wiki.c2.com/?RefactorMercilessly>. Acesso em: 18 mar. 2022. 
Realizar pequenos lançamentos (small releases) é uma prática central do 
XP. Com ciclos curtos, deve-se fornecer um conjunto pequeno de funcionalidades, 
ou seja, implementar apenas algumas histórias de usuários a cada ciclo. 
 
 
5 
1.3 Grupo de entendimento compartilhado 
Neste grupo, temos três práticas para a compreensão compartilhada do 
projeto. 
No Design Simples (Simple Design), a ideia principal é implementar apenas 
o que tem valor para o negócio. Os quatro mandamentos da simplicidade do 
código são: 
1. passa em todos os testes; 
2. claro, expressivismo e consistente; 
3. não duplicar comportamento ou configuração; 
4. mínimo de métodos, classes e módulos. 
A propriedade coletiva do código (Collective Ownership) considera o código 
pertencente ao projeto, e não a um desenvolvedor individualmente. Para trabalhar 
neste modo, é necessário, pelo menos: 
• padrão de codificação que todos utilizam; 
• ferramenta de gerenciamento de código; 
• testes unitários de forma abrangente para garantir qualidade; 
• refatoração para encontrar métodos antigos e realizar a substituição por 
novos; 
• integração contínua para eliminar a chance de conflitos. 
Saiba mais 
Veja mais detalhes sobre propriedade coletiva de código no link. Disponível 
em: <http://wiki.c2.com/?CollectiveCodeOwnership>. Acesso em: 18 mar. 2022. 
Nos padrões de codificação (Coding Standards), a equipe deve seguir um 
padrão comum, para que o código pareça ter sido escrito por apenas uma pessoa. 
O código deve ser possível de ler facilmente por qualquer membro da equipe, 
apoiando a propriedade coletiva do código. 
Saiba mais 
Veja mais detalhes sobre padrão de codificação no link. Disponível em: 
<http://wiki.c2.com/?CodingStandard>. Acesso em: 18 mar. 2022. 
A metáfora do sistema (System Metaphor) é um pequeno código que 
apenas descreve realmente a arquitetura lógica do sistema. A arquitetura lógica 
 
 
6 
é, no caso de sistemas OO, as classes e objetos mais importantes e como eles 
interagem. 
Saiba mais 
Veja mais detalhes sobre metáfora do sistema no link. Disponível em: 
<http://wiki.c2.com/?SystemMetaphor>. Acesso em: 18 mar. 2022. 
1.4 Grupo de bem-estar 
Neste tema, vamos conhecer a prática de semana de 40 horas (Forty Hour 
Week), que é uma metáfora para alcançar o ritmo sustentável da equipe. Deve-se 
evitar a sobrecarga da equipe, criando condições de uso de carga normal de 
trabalho sem horas extras, ou seja, em um ritmo saudável de trabalho. 
Saiba mais 
Veja mais detalhes sobre semana de 40 horas no link. Disponível em: 
<http://wiki.c2.com/?FortyHourWeek>. Acesso em: 18 mar. 2022. 
TEMA 2 – PRÁTICAS PARA EQUIPE 
Neste tema, veremos algumas práticas relacionadas com trabalho em 
equipe visando a qualidade e sucesso do projeto. 
2.1 Sente junto 
Em espaço aberto, para que toda a equipe tenha contato, porém com 
espaço próprio. A prática de sente juntos possui o significado de trabalho em 
equipe, porém muitos pensam que equipes remotas (multisite) não possam 
trabalhar com XP. 
O sentar junto prevê muito tempo presencial, com interação humana e 
produtiva. Pode ser pensado de maneira que as equipes distantes tenham tempo 
para terem a interação necessária, mesmo que para isso seja necessário que os 
membros da equipe viajem. 
2.2 Equipe inteira 
Em uma equipe, deve haver pessoas com habilidades e perspectivas 
diversificadas para o sucesso do projeto. A prática de equipe inteira (Whole Team) 
 
 
7 
tem o significado de integridade na equipe com disponibilidade de todos os 
recursos necessários para o bom andamento do projeto. 
Um tamanho bom de equipe é 12 pessoas para que a interação seja 
realizada de forma confortável. Em equipes com quantidade maior do que isso, 
pode não existir confiança e colaboração entre os membros da equipe. 
2.3 Espaço de trabalho interativo 
O espaço de trabalhoda equipe deve apresentar uma ideia geral do 
progresso do projeto em 15 segundos. A implantação dessa prática seria a 
colocação de cartões de histórias de usuários na parede (Figura 2). 
Figura 2 – Exemplo de parede de histórias de usuários 
 
Fonte: Beck; Andres, 2005. 
O espaço de trabalho precisa atender outras necessidades humanas e 
proporcionar conforto e interação sociais. O espaço da equipe aberto deve 
possibilitar privacidade, podendo implementar cubos separados ou limitação de 
horário de trabalho. Na Figura 3, podemos ver um exemplo de espaço de trabalho 
interativo. 
 
 
 
8 
Figura 3 – Exemplo de espaço de trabalho 
 
Fonte: Beck; Andres, 2005. 
Saiba mais 
Veja mais detalhes sobre asp práticas no link. Disponível em: 
<https://learning.oreilly.com/library/view/extreme-programming-
explained/0321278658/ch07.html#ch07lev1sec2>. Acesso em: 18 mar. 2022. 
TEMA 3 – PROGRAMAÇÃO EM PARES 
Na programação extrema (XP), todo código a ser enviado para produção é 
criado com dois programadores trabalhando juntos em um computador. A técnica 
funciona com o estabelecimento de dois papéis, que são revesados durante a 
codificação: piloto e copiloto. O piloto tem a função de escrever o código, e o 
copiloto faz a inspeção do código. Quando um ciclo finaliza, o papel de piloto e 
copiloto é invertido. 
3.1 Vantagens da programação em pares 
Podemos citar cinco vantagens de utilizar a programação em pares em seu 
projeto: 
• Disciplina: quando programamos em dupla, existe um compromisso de 
manter o foco no desenvolvimento. 
 
 
9 
• Compartilhamento de conhecimentos: a inversão dos papéis permite que 
exista uma troca de conhecimento entre a dupla e nivela as habilidades do 
time. 
• Qualidade do código: como o código é revisado e aprimorado de forma 
constante, é mais fácil identificar trechos sem clareza e ineficientes. 
• União da equipe: existe troca de experiência e o comprometimento da 
dupla, onde erros e acertos são responsabilidade da dupla. 
• Velocidade de codificação: existe um nível maior de atenção da dupla, que 
possibilita que exista uma entrega mais rápida. A revisão realizada pelo 
copiloto reduz a necessidade de refatoração. 
3.2 Dificuldades de implementar programação em pares 
Existem algumas dificuldades que devem ser superadas para que a prática 
de programação em pares funcione. Algumas delas são: 
• Custo do projeto: alocar duas pessoas pode parecer desperdício de 
recursos, o que dá impressão de aumento de custos. 
• Comunicação: pode gerar atrito entre pares que não possuem habilidades 
sociais, gerando problemas na comunicação da equipe. 
• Resistência: em uma equipe com personalidades diferentes, podem existir 
pessoas que não consigam trabalhar em conjunto e prefiram trabalhar 
sozinhas ou não gostem de compartilhar conhecimento. 
• Manter a prática: ao longo do tempo, pode ser difícil manter a prática por 
causa dos imprevistos, como faltas ou trabalhos individuais. 
3.3 Como implementar programação em pares 
Seguem dicas que devem ser adotadas pelos membros da equipe para 
realizar a implementação da programação em pares nos projetos: 
• Entender como os outros trabalham: diferenças devem ser respeitadas e 
deve-se conhecer as formas como o outro gosta de lidar com as tarefas. 
• Movimento de pessoas: a troca de pares pode acontecer frequentemente. 
• Cordialidade: comunicação e empatia são essenciais. 
• Objetivo claro para equipe: a equipe deve conhecer o objetivo do trabalho 
em pares e os benefícios de aplicação da técnica. 
 
 
10 
• Respeito: respeitar o momento que está no papel de piloto e o outro está 
no copiloto. 
• Aprendizado contínuo: existe mais de uma forma de codificar para chegar 
à mesma solução, portanto deve-se estar aberto a aprender algo novo. 
• Trabalho em equipe: a discussão de alternativas pela equipe é importante 
e as soluções devem ser pensadas em conjunto. 
• Boa estrutura: fornecer uma estrutura propícia para trabalhar em pares é 
importante, como cadeiras ergométricas e mesas que possam ser 
utilizadas pela dupla. 
TEMA 4 – COMUNICAÇÃO DIÁRIA 
Sentar junto em um espaço de trabalho aberto promove a comunicação 
todos os dias. Reuniões diárias em pé são realizadas todos os dias e reuniões 
com toda equipe auxilia a eliminar impedimentos e falhas na comunicação. 
4.1 Fluxograma de comentários 
O fluxograma da rotação comentários (feedback loops) recomendados pela 
XP pode ser visto na Figura 4. Quando receber o retorno precocemente, é possível 
realizar a correção do curso. 
Figura 4 – Fluxograma do feedback loops 
 
Fonte: Wells, 2022. 
 
 
11 
Os comentários podem ser realizados de muitas formas possíveis e com 
tempos diferentes. Por exemplo, quando a dupla está realizando a programação, 
os comentários são uma forma de feedback importante. 
Os testes também fornecem um feedback muito importante com os 
resultados ou no momento de criá-los. Caso esteja muito difícil realizar a criação 
dos testes, pense em simplificar o design que pode estar complexo. 
Saiba mais 
Veja mais detalhes sobre comunicação diária no link. Disponível em: 
<http://www.agile-process.org/communicate.html>. Acesso em: 18 mar. 2022. 
TEMA 5 – TENDÊNCIA DA ADOÇÃO DAS ABORDAGENS ÁGEIS 
As forças de trabalho remotas exigem uma nova forma de se trabalhar 
dentro das equipes de desenvolvimento de software. Neste tema, conheceremos 
um pouco sobre tendências mundiais na adoção das abordagens ágeis. 
5.1 Técnicas ágeis e maturidade 
A pesquisa mostra que o XP tem 1% de popularidade e que a metodologia 
híbrida Scrum/XP está com 6% da popularidade. Ainda, o Scrum é a abordagem 
ágil mais popular com 66%. Veja na Figura 5 o gráfico de resultado da pesquisa 
de utilização das práticas. 
Figura 5 – Gráfico de popularidade de abordagens ágeis 
 
Fonte: Digital.Ai, 2022. 
 
 
12 
Sobre as técnicas e práticas utilizadas, a pesquisa cita que são utilizadas: 
reuniões diárias em pé, retrospectivas e planejamento de interação. Também são 
utilizados os quadros de atividades e planilhas. 
Podemos ver, na Figura 6, em verde, as técnicas e práticas que as 
organizações utilizam, e em azul, as ferramentas de gerenciamento e entrega 
utilizadas pelas empresas. 
Figura 6 – Gráfico de utilização de técnicas e práticas ágeis 
 
Fonte: Digital.Ai, 2022. 
5.2 Experiência das empresas com Agile 
As três principais áreas que adotaram os princípios e práticas ágeis são: 
Desenvolvimento de Software, Tecnologia da Informação (TI) e Operações. E a 
distribuição da equipe não está em tempo integral presencialmente. Podemos ver 
na Figura 7 o resultado da pesquisa. 
 
 
 
13 
Figura 7 – Gráfico de área que adoram princípios e práticas ágeis 
 
Fonte: Digital.Ai, 2022. 
5.3 Motivos para adoção do Agile 
Os dois principais motivos para adoção das abordagens ágeis é a 
flexibilidade e velocidade. Podemos ver, na Figura 8, o gráfico que mostra as 
razões mencionadas pelas empresas para utilizarem as abordagens ágeis. 
 
 
 
 
 
 
 
 
 
 
 
14 
Figura 8 – Gráfico de motivos de adoção de abordagens ágeis 
 
Fonte: DIGITAL.AI, 2022. 
5.4 Pontos positivos da utilização do Agile 
A pesquisa mostra que o gerenciamento de prioridades, a visibilidade e os 
alinhamentos são os principais pontos positivos da adoção da abordagem ágil. As 
organizações mencionam que utilizam como métrica para determinar o sucesso 
na utilização da abordagem ágil a satisfação do cliente, valor do negócio e 
objetivos da área de negócios atingidos. 
Podemos ver na Figura 9 o gráfico com os pontos positivos em laranja e as 
medidas de sucesso em azul. 
Figura 9 – Gráfico 
 
Fonte: DIGITAL.AI, 2022. 
 
 
15 
Saiba mais 
Veja mais detalhes sobre o 15º relatório anual do Estado do Agile no link. 
Disponível em: <https://digital.ai/resource-center/analyst-reports/state-of-agile-
report>. Acesso em: 18 mar. 2022. 
 
 
 
16 
REFERÊNCIASALTEXSOFT. Extreme Programming: Values, Principles and Practices. 
Disponível em: <https://www.altexsoft.com/blog/business/extreme-programming-
values-principles-and-practices/>. Acesso em: 9 fev. 2022. 
BECK, K; ANDRES, C. Extreme Programming Explained: Embrace Change. 2. 
Ed. USA: Pearson Education, 2005. 
DIGITAL.AI. 15th Annual State Of Agile Report. Disponível em: 
<https://digital.ai/resource-center/analyst-reports/state-of-agile-report>. Acesso 
em: 3 fev. 2022. 
NOLETO, C. Pair programming: como implementar a programação em par. 
Disponível em: <https://blog.betrybe.com/carreira/pair-programming-como-
implementar/> Acesso em: 2 fev. 2022. 
WELLS, D. Extreme Programming: a gentle introduction. Disponível em: 
<http://www.extremeprogramming.org/>. Acesso em: 9 fev. 2022. 
WIKI XP. Extreme Programming. Disponível em: 
<http://wiki.c2.com/?ExtremeProgramming> Acesso em: 9 fev. 2022. 
 
	INTRODUÇÃO
	TEMA 1 – PRINCIPAIS PRÁTICAS DA XP
	1.1 Grupo de participação do cliente
	1.2 Grupo de atividade contínua
	1.3 Grupo de entendimento compartilhado
	1.4 Grupo de bem-estar
	TEMA 2 – PRÁTICAS PARA EQUIPE
	2.1 Sente junto
	2.2 Equipe inteira
	2.3 Espaço de trabalho interativo
	TEMA 3 – PROGRAMAÇÃO EM PARES
	3.1 Vantagens da programação em pares
	3.2 Dificuldades de implementar programação em pares
	3.3 Como implementar programação em pares
	TEMA 4 – COMUNICAÇÃO DIÁRIA
	4.1 Fluxograma de comentários
	TEMA 5 – TENDÊNCIA DA ADOÇÃO DAS ABORDAGENS ÁGEIS
	5.1 Técnicas ágeis e maturidade
	5.2 Experiência das empresas com Agile
	5.3 Motivos para adoção do Agile
	5.4 Pontos positivos da utilização do Agile
	REFERÊNCIAS

Mais conteúdos dessa disciplina