Engenharia de Software - Unimep/Pronatec - Aula 16

Post on 26-Jul-2015

50 views 0 download

Transcript of Engenharia de Software - Unimep/Pronatec - Aula 16

Engenharia de Software Unimep/Pronatec

2° Semestre

AULA 16

- Prof. André Bertoletti -

apbertolet@unimep.br

Nossa agenda de hoje

• Desenvolvimento ágil de software

• Metodologias ágeis de desenvolvimento de software

Pilares de um bom software

Relembrando...

Software =

Ferramentas Pessoas Processos + +

Software

Ferramentas

Pessoas

Processos

Ferramentas

Pessoas

Processos

Software

PROCESSOS

Metodologias ágeis de desenvolvimento

X

Metodologias tradicionais (clássicas)

Evo

luçã

o

Metodologias tradicionais (clássicas)

• Década de 90

• Orientadas a planejamento

• Dividida em etapas sequenciais e bem definidas

• Muito utilizada em grandes empresas, com times grandes de desenvolvimento e orçamentos previamente definidos

• Alguns exemplo: Cascata, RUP, etc...

Metodologias ágeis

• Década de 2000

• Orientadas a entrega e colaboração

• Respostas rápidas as mudanças

• Muito utilizada em empresas menores, times pequenos e baixa previsibilidade

• Alguns exemplos: SCRUM, XP, Kanban, etc...

Metodologias VAI E FAZ

• Existem desde sempre

• Não há padrões

• Cada um faz do seu jeito

• Super adaptativas e nada planejadas

• Exemplos: XGH (Extreme Go Horse), e POG (Programação Orientada a Gambiarras), etc...

Agilidade: onde tudo começou...

• Em fevereiro de 2001, alguns membros experientes da comunidade de desenvolvimento de software se reúnem em Snowbird (EUA) para, além de outras atividades, discutir sobre boas práticas adotadas por cada profissional no desenvolvimento de seus trabalhos.

• Deste encontro surge o Manifesto ágil http://www.manifestoagil.com.br

SCRUM

SCRUM • Os projetos são divididos em ciclos tipicamente

mensais (Sprints).

• Sprint representa um período do qual um conjunto de atividades deve ser executado, segundo o Product Backlog (lista de implementações).

• Diariamente as equipes decidem as implementações a serem desenvolvidas.

XP (eXtreme Programming)

XP

• Programação Pareada – Programando e Revisando o mesmo código de preferencia entre 2 a 10 programadores

• Menores ciclos de desenvolvimento possível para atender mudanças constantes.

• Manter constante parceria entre programadores e clientes

• O desenvolvedor é o responsável em analisar, projetar e codificar

• Ela é baseada em valores e princípios exclusivos – Comunicação – Melhor relacionamento possível entre clientes e desenvolvedores.

– Simplicidade - Minimizar o código descartando as funções consideradas desnecessárias

– Feedback – Testes Periódicos para atender expectativas

– Coragem - Abordar mudanças constantes através de comunicação e feedback

– Respeito – Membros se importando uns com outros

Por hoje é só!

Agora é hora de estudar!