GUIA AMPLIADO DE ESTUDOS: MÉTODOS ÁGEIS & XP
Público: 1º Ano TDS - Escola Heli Sobral Objetivo: Base teórica completa para a Atividade Avaliativa.
I. A Mentalidade Ágil (Agile Mindset)
O desenvolvimento ágil surgiu para resolver o problema do "Modelo Cascata", onde o software demorava anos para ficar pronto e já nascia ultrapassado.
1. Satisfação e Entrega Contínua
Prioridade Total: Nossa maior prioridade é satisfazer o cliente através da entrega adiantada e contínua de software com valor.
O que é Valor? É uma funcionalidade que o cliente já pode usar para ganhar dinheiro ou resolver um problema, mesmo que o sistema todo não esteja pronto.
2. Mudanças como Vantagem
Mudanças Tardias: Requisitos mudam porque o mundo muda. No Ágil, aceitamos mudanças de requisitos, mesmo no fim do desenvolvimento.
Competitividade: Processos ágeis usam a mudança para dar ao cliente vantagem competitiva. Se o concorrente lançou algo novo, o time ágil consegue reagir rápido.
3. Frequência e Ritmo
Entregas Frequentes: O software funcional deve ser entregue em intervalos de poucas semanas a poucos meses.
Simplicidade: É a arte de maximizar a quantidade de trabalho não feito. Ou seja: não perca tempo programando o que o cliente não pediu.
II. Extreme Programming (XP): A Prática Técnica
Enquanto outros métodos focam na gestão, a XP foca na excelência da engenharia de software.
1. Os 5 Valores da XP (A base do comportamento)
Comunicação: Problemas em TI geralmente são problemas de falta de conversa.
Simplicidade: Desenvolva o que é necessário hoje, não o que "talvez" precise daqui a um ano.
Feedback: O sistema deve ser testado o tempo todo para sabermos se estamos no caminho certo.
Coragem: Coragem para falar a verdade sobre prazos e para refazer um código que ficou ruim (Refatoração).
Respeito: Ninguém trabalha sozinho; o sucesso do software depende do respeito entre os membros do time.
2. Práticas de Engenharia (O "Como Fazer")
Programação em Par (Pair Programming): Dois desenvolvedores em um computador. Um é o "Piloto" (digita) e o outro é o "Navegador" (revisa e pensa no próximo passo). Resultado: Menos erros e código mais limpo.
TDD (Test Driven Development): Você escreve um teste que falha, depois escreve o código para ele passar e, por fim, melhora o código. O teste vem antes da funcionalidade!
Propriedade Coletiva: O código não tem dono individual. Qualquer programador pode alterar qualquer parte do sistema para melhorar a qualidade ou corrigir um bug.
Integração Contínua (CI): O código novo é integrado ao projeto principal várias vezes ao dia. Isso evita o "inferno da integração" no final do projeto.
III. Resumo para a Avaliação (Checklist)
Para ir bem na prova, certifique-se de que entendeu:
Por que o feedback constante do cliente é melhor do que um contrato rígido?
Por que entregar de 2 em 2 semanas é mais seguro do que entregar tudo em 6 meses?
Como a Programação em Par ajuda a reduzir bugs?
O que significa dizer que o time tem Propriedade Coletiva do código?
