Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 3

19
Introdução a Engenharia de Software CJR – Empresa Júnior de Computação

Transcript of Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 3

Page 1: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 3

Introdução a Engenharia

de SoftwareCJR – Empresa Júnior de Computação

Page 2: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 3

Métodos Ágeis3

Page 3: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 3

Métodos Ágeis

1. Código > Design

2. Iterações

3. Entrega rápida de um software para depois

evoluir com novos requisitos

O que queremos é reduzir os “overheads” do processo de desenvolvimento (como, por exemplo,

diminuir a quantidade de documentação) e tornar possível a inclusão de mudanças.

Page 4: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 3

Valores

Indivíduos e interações x processos e ferramentas

Software funcionando x documentação completa

Colaboração do cliente x negociação do contrato

Resposta a mudanças x seguir o planejamento

Page 5: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 3

Quando usar?

Desenvolvimento de um produto de tamanho pequeno/médio

Desenvolvimento para uma organização na qual o cliente esteja

empenhado em se envolver no processo de desenvolvimento e que

não existem muitas regras de negócio críticas

Page 6: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 3

Existem vários métodos ágeis...

Os mais conhecidos são o XP e o SCRUM

Page 7: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 3

Mas independente de qual for eles

possuem os mesmos princípios básicos

Envolvimento do cliente

O cliente deve estar por dentro do projeto. Seu papel é prover e

priorizar novos requisitos além de testar o que já foi desenvolvido

Page 8: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 3

Mas independente de qual for eles

possuem os mesmos princípios básicos

Entrega incremental

O projeto é desenvolvido com entregas nas quais o cliente especifica

novos requisitos a serem incluídos.

Page 9: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 3

Mas independente de qual for eles

possuem os mesmos princípios básicos

Pessoas, não processos

Deve existir liberdade para que os desenvolvedores possam fazer seu

trabalho de sua maneira especifica, sem ter que ficar “engessado” por

regras.

Page 10: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 3

Mas independente de qual for eles

possuem os mesmos princípios básicos

Aceite mudanças

Espere que ocorra mudanças e desenvolva o projeto para que essas

mudanças possam ser acomodadas.

Page 11: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 3

Mas independente de qual for eles

possuem os mesmos princípios básicos

Simplicidade de manutenção

Mantenha o software e o processo de desenvolvimento simples.

Page 12: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 3

Problemas com métodos ágeis

1. Manter o cliente dentro do projeto

2. Priorização de mudanças

3. Manter a simplicidade dá mais trabalho

4. Contrato

Page 13: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 3

Métodos ágeis x Manutenção

Se diminuímos a documentação ao mínimo

como fazemos a manutenção depois?

Page 14: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 3

Plan Driven & Agile Developement

Page 15: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 3

XP

Page 16: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 3

SCRUM

Page 17: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 3

Gerência de Projetos Ágeis

Page 18: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 3

Escalando métodos ágeis

Page 19: Curso de Introdução a Engenharia de Software - CJR/UnB - Aula 3

Renato Leal

[email protected]

[email protected]

CJREmpresa Júnior de Computação da UnB

[email protected]

[email protected]