02b - Elemar Jr. - Examinando a Arquitetura Evolucionária

31
Prática da Arquitetura Evolucionária Elemar Júnior

description

A arquitetura de software pode ser definida de uma única vez durante o desenvolvimento de um software: mas essa não é uma boa ideia. Nessa sessão, os palestrantes discorrerão sobre o tema, trazendo experiências próprias e reflexões no intuito de instigar os participantes a pensarem na necessidade de utilizar uma abordagem evolucionária no desenvolvimento de software. Desmistificando inclusive a ideia de que a arquitetura por si só é uma concepção complexa e rebuscada.

Transcript of 02b - Elemar Jr. - Examinando a Arquitetura Evolucionária

Page 1: 02b  - Elemar Jr. - Examinando a Arquitetura Evolucionária

Prática da Arquitetura Evolucionária

Elemar Júnior

Page 2: 02b  - Elemar Jr. - Examinando a Arquitetura Evolucionária

Quem é Elemar JR?

Arquiteto de Software – Procad 14 anos na empresa Apaixonado por computação desde cedo (9 anos).

Apaixonado por MSX, escreveu programas muitas vezes por não ter grana para comprar fita-cassete. Aprendeu BASIC, C e Assembly.

Vendeu a alma ao diabo e se rendeu a linguagens como Clipper, COBOL e Visual Basic para poder pagar as contas.

Sendo um cara de sorte, conseguiu arrumar quem o pagasse para escrever programas maneiros utilizando tecnologia de ponta.

Pai, programador, músico, enxadrista, apreciador de bons vinhos.

elemarjr.net twitter.com/elemarjr voidpodcast.com www.procad.net

RT @elemarjr: #DNAD11

Page 3: 02b  - Elemar Jr. - Examinando a Arquitetura Evolucionária

Objetivos

RT @elemarjr: #DNAD11

Apresentar uma abordagem prática para arquitetura evolucionária.

Manter ênfase nas atividades, não nos papéis

Ponderação, persistência e consistência

Page 4: 02b  - Elemar Jr. - Examinando a Arquitetura Evolucionária

Sempre é bom lembrar...

RT @elemarjr: #DNAD11

Page 5: 02b  - Elemar Jr. - Examinando a Arquitetura Evolucionária

Três respostas para : “O que é arquitetura de software?”

1) Conjunto das decisões mais importantes;

2) Decisões com alto custo de reversão;

3) Componentes – Papéis – relacionamentos

RT @elemarjr: #DNAD11

Page 6: 02b  - Elemar Jr. - Examinando a Arquitetura Evolucionária

Aspecto evolucionário da arquitetura

RT @elemarjr: #DNAD11

Page 7: 02b  - Elemar Jr. - Examinando a Arquitetura Evolucionária

Arquitetura é um conjunto de

decisões

RT @elemarjr: #DNAD11

Page 8: 02b  - Elemar Jr. - Examinando a Arquitetura Evolucionária

Desenvolvimento da arquitetura

RT @elemarjr: #DNAD11

Page 9: 02b  - Elemar Jr. - Examinando a Arquitetura Evolucionária

decisões de quem

? RT @elemarjr: #DNAD11

Page 10: 02b  - Elemar Jr. - Examinando a Arquitetura Evolucionária

todos os stakeholders

o arquiteto é um

consolidador

RT @elemarjr: #DNAD11

Page 11: 02b  - Elemar Jr. - Examinando a Arquitetura Evolucionária

Everybody, All Together,

Early On

RT @elemarjr: #DNAD11

Page 12: 02b  - Elemar Jr. - Examinando a Arquitetura Evolucionária

Existe arquiteto? Se existe arquitetura, sim.

RT @elemarjr: #DNAD11

Page 13: 02b  - Elemar Jr. - Examinando a Arquitetura Evolucionária

Quem são os Stakeholders?

Identify the people that care that this system

even exists, what it does, or how it does it (Snowden 2009)

RT @elemarjr: #DNAD11

Page 14: 02b  - Elemar Jr. - Examinando a Arquitetura Evolucionária

RT @elemarjr: #DNAD11

When you are building a system, you need a system view and in the

system view, everything

matters

Page 15: 02b  - Elemar Jr. - Examinando a Arquitetura Evolucionária

Pessoas gostam de ser convidadas cedo para festas

RT @elemarjr: #DNAD11

mas, chegam atrasadas

Page 16: 02b  - Elemar Jr. - Examinando a Arquitetura Evolucionária

O que é responsabilidade de todos é de ninguém

RT @elemarjr: #DNAD11

Page 17: 02b  - Elemar Jr. - Examinando a Arquitetura Evolucionária

Gestão = Decisão

RT @elemarjr: #DNAD11

Page 18: 02b  - Elemar Jr. - Examinando a Arquitetura Evolucionária

RT @elemarjr: #DNAD11

Qual é o “Job to be done”

?

Page 19: 02b  - Elemar Jr. - Examinando a Arquitetura Evolucionária

RT @elemarjr: #DNAD11

Qual é a

estratégia

?

Page 20: 02b  - Elemar Jr. - Examinando a Arquitetura Evolucionária

Estratégia =

Padrão coerente para tomada de

decisões RT @elemarjr: #DNAD11

Page 21: 02b  - Elemar Jr. - Examinando a Arquitetura Evolucionária

Família de produtos x Segmentos de Mercado

RT @elemarjr: #DNAD11

Page 22: 02b  - Elemar Jr. - Examinando a Arquitetura Evolucionária

Trade-offs

RT @elemarjr: #DNAD11

Page 23: 02b  - Elemar Jr. - Examinando a Arquitetura Evolucionária

Eficiência x Eficácia

RT @elemarjr: #DNAD11

Page 24: 02b  - Elemar Jr. - Examinando a Arquitetura Evolucionária

Objetivos competitivos x Objetivos de desempenho

RT @elemarjr: #DNAD11

Page 25: 02b  - Elemar Jr. - Examinando a Arquitetura Evolucionária

objetivos X áreas de decisão

RT @elemarjr: #DNAD11

Page 26: 02b  - Elemar Jr. - Examinando a Arquitetura Evolucionária

Análise de foco

RT @elemarjr: #DNAD11

Page 27: 02b  - Elemar Jr. - Examinando a Arquitetura Evolucionária

Priorização de Critérios

RT @elemarjr: #DNAD11

Page 28: 02b  - Elemar Jr. - Examinando a Arquitetura Evolucionária

Comparação com a concorrência

RT @elemarjr: #DNAD11

Page 29: 02b  - Elemar Jr. - Examinando a Arquitetura Evolucionária

Matriz de Slack – Importância x Desempenho

RT @elemarjr: #DNAD11

Page 30: 02b  - Elemar Jr. - Examinando a Arquitetura Evolucionária

Componentes – Papéis – Relacionamentos

RT @elemarjr: #DNAD11

Page 31: 02b  - Elemar Jr. - Examinando a Arquitetura Evolucionária

Por hoje, era isso! ;-)

RT @elemarjr: #DNAD11