engenharia de software - unimep/pronatec - aula 16

18
Engenharia de Software Unimep/Pronatec 2° Semestre AULA 16 - Prof. André Bertoletti - [email protected]

Upload: apbertoletti

Post on 26-Jul-2015

50 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Engenharia de Software - Unimep/Pronatec - Aula 16

Engenharia de Software Unimep/Pronatec

2° Semestre

AULA 16

- Prof. André Bertoletti -

[email protected]

Page 2: Engenharia de Software - Unimep/Pronatec - Aula 16

Nossa agenda de hoje

• Desenvolvimento ágil de software

• Metodologias ágeis de desenvolvimento de software

Page 3: Engenharia de Software - Unimep/Pronatec - Aula 16

Pilares de um bom software

Relembrando...

Page 4: Engenharia de Software - Unimep/Pronatec - Aula 16

Software =

Ferramentas Pessoas Processos + +

Page 5: Engenharia de Software - Unimep/Pronatec - Aula 16

Software

Ferramentas

Pessoas

Processos

Page 6: Engenharia de Software - Unimep/Pronatec - Aula 16

Ferramentas

Pessoas

Processos

Software

Page 7: Engenharia de Software - Unimep/Pronatec - Aula 16

PROCESSOS

Page 8: Engenharia de Software - Unimep/Pronatec - Aula 16

Metodologias ágeis de desenvolvimento

X

Metodologias tradicionais (clássicas)

Evo

luçã

o

Page 9: Engenharia de Software - Unimep/Pronatec - Aula 16

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...

Page 10: Engenharia de Software - Unimep/Pronatec - Aula 16

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...

Page 11: Engenharia de Software - Unimep/Pronatec - Aula 16

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...

Page 12: Engenharia de Software - Unimep/Pronatec - Aula 16

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

Page 13: Engenharia de Software - Unimep/Pronatec - Aula 16

SCRUM

Page 14: Engenharia de Software - Unimep/Pronatec - Aula 16

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.

Page 15: Engenharia de Software - Unimep/Pronatec - Aula 16
Page 16: Engenharia de Software - Unimep/Pronatec - Aula 16

XP (eXtreme Programming)

Page 17: Engenharia de Software - Unimep/Pronatec - Aula 16

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

Page 18: Engenharia de Software - Unimep/Pronatec - Aula 16

Por hoje é só!

Agora é hora de estudar!