Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

76
Desenvolvimento Ágil Entendendo a cultura ágil de desenvolvimento de software Eder Ignatowicz segunda-feira, 22 de agosto de 2011

description

Apresentação realizada durante a semana de computação da Faccamp

Transcript of Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Page 1: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Desenvolvimento ÁgilEntendendo a cultura ágil de desenvolvimento de software

Eder Ignatowicz

segunda-feira, 22 de agosto de 2011

Page 2: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Eder Ignatowicz...

@ederign

segunda-feira, 22 de agosto de 2011

Page 3: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Ágil

Tradicional

segunda-feira, 22 de agosto de 2011

Page 4: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Ágil

Tradicional

segunda-feira, 22 de agosto de 2011

Page 5: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

realidadere.a.li.da.desf (lat realitate) 1 Qualidade do que é real. 2 Existência real.3 O que existe realmente. Antôn: ficção, fantasia.

segunda-feira, 22 de agosto de 2011

Page 6: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

segunda-feira, 22 de agosto de 2011

Page 7: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

A realidade no desenvolvimento de software

segunda-feira, 22 de agosto de 2011

Page 8: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Processo de desenvolvimento inspirado em outras engenharias...

segunda-feira, 22 de agosto de 2011

Page 9: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

... e quase sempre a civil

segunda-feira, 22 de agosto de 2011

Page 10: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

segunda-feira, 22 de agosto de 2011

Page 11: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

... e o resultado ?

31%40%

28% 23%15% 18% 19% 24%

53% 33%46%

49%51%

53% 46%44%

16%27% 26% 28%

34% 29%35% 32%

1994 1996 1998 2000 2002 2004 2006 2009

ImpairedChalengedSuccessful

segunda-feira, 22 de agosto de 2011

Page 12: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Porque ?

segunda-feira, 22 de agosto de 2011

Page 13: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Razão 1

segunda-feira, 22 de agosto de 2011

Page 14: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Text

Mentalidade Errada

segunda-feira, 22 de agosto de 2011

Page 15: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

segunda-feira, 22 de agosto de 2011

Page 16: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

São coisas diferentes !

segunda-feira, 22 de agosto de 2011

Page 17: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

segunda-feira, 22 de agosto de 2011

Page 18: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

segunda-feira, 22 de agosto de 2011

Page 19: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

segunda-feira, 22 de agosto de 2011

Page 20: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Eu queria ele SÓ um metro mais perto do mar !

segunda-feira, 22 de agosto de 2011

Page 21: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

segunda-feira, 22 de agosto de 2011

Page 22: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Software Muda ?

segunda-feira, 22 de agosto de 2011

Page 23: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

segunda-feira, 22 de agosto de 2011

Page 24: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Razão 2

segunda-feira, 22 de agosto de 2011

Page 25: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Utilização das funcionalidades de software

Fonte: Standish Group, 2003

segunda-feira, 22 de agosto de 2011

Page 26: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

segunda-feira, 22 de agosto de 2011

Page 27: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

segunda-feira, 22 de agosto de 2011

Page 28: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Razão 3

segunda-feira, 22 de agosto de 2011

Page 29: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Comunicação

segunda-feira, 22 de agosto de 2011

Page 30: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

segunda-feira, 22 de agosto de 2011

Page 31: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Razão 4

segunda-feira, 22 de agosto de 2011

Page 32: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Estoque

segunda-feira, 22 de agosto de 2011

Page 33: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Modelo de Produção Tradicional

Baixo custo dos itens individuaisMaximizar o uso das máquinas

Tempo total do ciclo não é importante

P1

P2

P3

P4

segunda-feira, 22 de agosto de 2011

Page 34: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

É como fazemos software

P1

P2

P3

P4

Artefatos

segunda-feira, 22 de agosto de 2011

Page 35: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

E as soluções convencionais?

segunda-feira, 22 de agosto de 2011

Page 36: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

E temos tentado resolver os problemas da mesma forma...

Definindo processos Planejando em mais detalhes

Usando novas técnicas de estimativasAumentando as especificações

Gerando artefatos intermediáriosTentando diminuir riscos através de contratos

segunda-feira, 22 de agosto de 2011

Page 37: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Apenas mudando as ferramentas...

segunda-feira, 22 de agosto de 2011

Page 38: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Todas se baseiam em métodos que assumem:

Um bom entendimento do resultado desejado pelo cliente final

A possibilidade de se obter este escopo com o clienteA capacidade de detalhar as atividades necessárias e seus

relacionamentosA possibilidade de estimar esforços e prazos com um bom

grau de certezaA possibilidade de se repetir este mesmo ciclo diversas

vezes

segunda-feira, 22 de agosto de 2011

Page 39: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

E costumam ignorar

As incertezas

A Equipe

segunda-feira, 22 de agosto de 2011

Page 40: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Ágil

Tradicional

segunda-feira, 22 de agosto de 2011

Page 41: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Manifesto Ágil...

“Estamos descobrindo maneiras melhores de desenvolver software [...] Através deste trabalho, passamos a valorizar:”

segunda-feira, 22 de agosto de 2011

Page 42: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Indivíduos e interações entre eles mais que processos e ferramentas

segunda-feira, 22 de agosto de 2011

Page 43: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Software em funcionamento mais que documentação abrangente

segunda-feira, 22 de agosto de 2011

Page 44: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Colaboração com o cliente mais que negociação de contratos

segunda-feira, 22 de agosto de 2011

Page 45: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Responder a mudanças mais que seguir um plano

segunda-feira, 22 de agosto de 2011

Page 46: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Ou seja, mesmo havendo valor nos itens à direita, valorizamos mais os itens à esquerda.

segunda-feira, 22 de agosto de 2011

Page 47: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Princípios

segunda-feira, 22 de agosto de 2011

Page 48: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Desenvolvimento iterativo e incremental

segunda-feira, 22 de agosto de 2011

Page 49: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Entrega freqüente de valor ao negócio (produtos completos)

segunda-feira, 22 de agosto de 2011

Page 50: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Gestão ágil e adaptativa

segunda-feira, 22 de agosto de 2011

Page 51: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Melhoria Contínua

segunda-feira, 22 de agosto de 2011

Page 52: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Respeito

segunda-feira, 22 de agosto de 2011

Page 53: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Filosofia de longo prazo

segunda-feira, 22 de agosto de 2011

Page 54: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Abordagem Colaborativa

segunda-feira, 22 de agosto de 2011

Page 55: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

FeedBack!

segunda-feira, 22 de agosto de 2011

Page 56: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Metodologias

segunda-feira, 22 de agosto de 2011

Page 57: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

segunda-feira, 22 de agosto de 2011

Page 58: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

segunda-feira, 22 de agosto de 2011

Page 59: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

segunda-feira, 22 de agosto de 2011

Page 60: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Kanban

segunda-feira, 22 de agosto de 2011

Page 61: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

segunda-feira, 22 de agosto de 2011

Page 62: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Lean

segunda-feira, 22 de agosto de 2011

Page 63: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

De acordo com o pensamento Lean

Análise

Design

Code

Teste

Desperdício!

segunda-feira, 22 de agosto de 2011

Page 64: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Porque não ?

Análise Design Code Teste

Ou melhor ainda...

Análise Design

Code Teste

segunda-feira, 22 de agosto de 2011

Page 65: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Práticas

segunda-feira, 22 de agosto de 2011

Page 66: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

segunda-feira, 22 de agosto de 2011

Page 67: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Behaviour Driven Development

segunda-feira, 22 de agosto de 2011

Page 68: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

segunda-feira, 22 de agosto de 2011

Page 69: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Integração Contínua

segunda-feira, 22 de agosto de 2011

Page 70: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Pair Programming

segunda-feira, 22 de agosto de 2011

Page 71: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Mas...

segunda-feira, 22 de agosto de 2011

Page 72: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

segunda-feira, 22 de agosto de 2011

Page 73: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

segunda-feira, 22 de agosto de 2011

Page 74: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Dúvidas ?

segunda-feira, 22 de agosto de 2011

Page 75: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Eder  Ignatowicz

[email protected]

segunda-feira, 22 de agosto de 2011

Page 76: Desenvolvimento Agil - Entendendo a cultura ágil de desenvolvimento de Software

Bibliografia

Apresentação baseada no trabalho de @feroult e @francisozouza

segunda-feira, 22 de agosto de 2011