📖 Revisão- tópicos importantes- engenharia de software

Iterativo e interativo

Iterativo: progresso através de tentativas sucessivas de refinamento, o trabalho realizado é sempre melhorado em ciclos subsequentes.

Interativo: É dividido em partes, desenvolvidos individualmente. Só pode começar a fazer a próxima parte quando eu termino a tarefa anterior.

Método Ágil

Iterativo e incremental

Manifesto Ágil

Insatisfação com overhead

Tem foco no código ao invés do projeto

Permiti uma resposta rápida aos requisitos em constante mudança sem retrabalho excessivo

Se baseia no modelo iterativo

Colaboração do cliente ao invés de negociação contratural

Indivíduos e interações, ao invés de processos e ferramentas

Resposta a mudança ao invés de seguir um plano

Exemplo

Scrum

Modelo

White Box

Black Box

Se limita a entrada e saída

tem conhecimento prévio de toda a infraestrutura analisada, da estrutura de código.

Sabe só o resultado prático do que deve ser feito

Sabe como construir o código para chegar a uma resultado.

XP(Xtreme Programming)

XP

Criado em 1997

Características

Leve

não é prescritivo

Não obriga a fazer nada

Pode ser adotados

Valores

Comunicação

Simplicidade

Feedback

Coragem

Respeito

Princípios básicos

Feedback rápido

presumir simplicidade

Mudanças incrementais

Abraçar mudanças

Trabalhar em alta qualidade

Práticas

Jogo de planejamento(Reunião)

O desenvolvimento é feito em interações semanais

No inicio da semana os desenvolvedor se encontram com o cliente

Fases pequenas (Small Releases)

Metáfora

Pequenas versões./ pedaços de produto

Entender as necessidades do cliente

Design Simples

Teste de aceitação

Semana de 40 horas

8h por dia/ 40 por semana

Propriedade coletiva

Todo mundo tem acesso ao código

programação pareada

Desenvolvedor experiente(analisando) + iniciante(programando)

padronização do código

Trabalho em equipe

Desenvolvido orientado a testes

Teste unitários depois cria o código para que os testes funcionem

Refatoração

Integração contínua.

Facilita a revisão

Melhoria contínua, dividir em módulos

Maior organização

Garantir a produtividade em um ambiente motivacional

Software mais caro que o hardware, principalmente, em reflexo das manutenções.