arquitetura de software e o arquiteto - secomp londrina - vinicius quaiato

Post on 22-Nov-2014

931 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Palestra explicando a o que é e a importância da arquitetura de software. Mostrando além disso as características, habilidades e skills do arquiteto de software e os motivos das brigas entre arquiteto x desenvolvedores.

TRANSCRIPT

Arquitetura de Software

um pouco sobre arquitetura e o arquiteto

Vinicius Quaiato

Wednesday, September 14, 11

Arquitetura de Software

um pouco sobre arquitetura e o arquiteto

Vinicius Quaiato

Wednesday, September 14, 11

@vquaiato(vinicius quaiato)

programadorpalestrante

paisantista

entusiastaconsultor

etc, etc, etc

Wednesday, September 14, 11

http://viniciusquaiato.comhttp://crafters.com.br

vinicius.quaiato@gmail.com

@vquaiato(vinicius quaiato)

Wednesday, September 14, 11

um blog

Wednesday, September 14, 11

um podcast

Wednesday, September 14, 11

uma comunidade

Wednesday, September 14, 11

um(ns) evento

Wednesday, September 14, 11

um(ns) evento

Wednesday, September 14, 11

começando

Wednesday, September 14, 11

fazer software não é fácil

Wednesday, September 14, 11

bons projetos de software, reutilizáveis, são ainda mais difíceis

Wednesday, September 14, 11

solução spaguetti

Wednesday, September 14, 11

difícil de manter

Wednesday, September 14, 11

difícil de evoluir

Wednesday, September 14, 11

difícil de trabalhar

Wednesday, September 14, 11

e a vida fica triste

Wednesday, September 14, 11

um dos grandes problemas em

software

Wednesday, September 14, 11

incrível vontade de sair fazendo

Wednesday, September 14, 11

confiamos muito em nosso

conhecimento

Wednesday, September 14, 11

mas nossa visão é limitada

Wednesday, September 14, 11

isso não é um defeito, apenas

um fato

Wednesday, September 14, 11

alguns problemas emergem neste

cenário

Wednesday, September 14, 11

há enorme fragilidade

Wednesday, September 14, 11

o software passa a quebrar com frequência

Wednesday, September 14, 11

a menor alteração causa efeitos catastróficos

Wednesday, September 14, 11

<filosofando>

Wednesday, September 14, 11

o bater de asas de uma borboleta em Tóquio pode provocar um

furacão em Nova Iorque

“Wednesday, September 14, 11

</filosofando>

Wednesday, September 14, 11

o software não é sólido, não passa

confiança

Wednesday, September 14, 11

o time e principalmente o cliente têm medo

Wednesday, September 14, 11

as coisas são confusas

Wednesday, September 14, 11

não existe coerência lógica

e/ou física

Wednesday, September 14, 11

gasta-se tempo tentando entender o que faz o que(e onde)

Wednesday, September 14, 11

a bagunça não é organizada

Wednesday, September 14, 11

não se sabe o que está em uso e o

que é lixo

Wednesday, September 14, 11

<fato>

Wednesday, September 14, 11

em software o que não está em uso é

lixo

Wednesday, September 14, 11

</fato>

Wednesday, September 14, 11

aquilo que você jura fazer X faz Y

Wednesday, September 14, 11

tudo é incerto neste cenário

Wednesday, September 14, 11

corrigir um problema é outro

problema

Wednesday, September 14, 11

adicionar uma funcionalidade é

um problema

Wednesday, September 14, 11

não há previsibilidade de tempo e/ou esforço

Wednesday, September 14, 11

estamos sempre tateando no

escuro

Wednesday, September 14, 11

o que deveria ser simples é muito

complexo

Wednesday, September 14, 11

o muito complexo é impossível

Wednesday, September 14, 11

tudo isso somado resulta em uma enorme falta de flexibilidade

Wednesday, September 14, 11

as bases sobre as quais criamos o software não são sólidas

Wednesday, September 14, 11

mas quais bases?

Wednesday, September 14, 11

é preciso pensar na fundação do nosso sistema

Wednesday, September 14, 11

pensar suas bases

Wednesday, September 14, 11

compreender estas bases

Wednesday, September 14, 11

organizar o sistema

Wednesday, September 14, 11

trabalhar com abstrações

Wednesday, September 14, 11

separação de responsabilidades

Wednesday, September 14, 11

traçar um ‘road map’ do que é

necessário

Wednesday, September 14, 11

existem muitas outras características mas

podemos dizer que estas definem um pouco o que é

Wednesday, September 14, 11

arquitetura de software

Wednesday, September 14, 11

ou de uma maneira mais

formal

Wednesday, September 14, 11

organização fundamental de um sistema incorporada em seus

componentes, suas relações entre si e entre o ambiente e os princípios

guiando seu design e evolução - IEEE

“Wednesday, September 14, 11

ou de uma maneira menos

formal

Wednesday, September 14, 11

arquitetura é aquela coisa que é difícil mudar

“Wednesday, September 14, 11

os significados e definições(de

arquitetura) são um pouco nebulosos

Wednesday, September 14, 11

algumas pessoas não acreditam que ela exista

Wednesday, September 14, 11

o fato é que ela sempre está

presente

Wednesday, September 14, 11

pode não ter sido definida, ou bem

definida, mas ela existe

Wednesday, September 14, 11

até mesmo na forma de uma

péssima arquitetura

Wednesday, September 14, 11

quais benefícios existem em pensar na arquitetura?

Wednesday, September 14, 11

conhecimento

Wednesday, September 14, 11

clareza e organização

Wednesday, September 14, 11

solidez / robustez

Wednesday, September 14, 11

certezas

Wednesday, September 14, 11

firmeza na tomada de decisões e

cálculo de tradeoffs

Wednesday, September 14, 11

decisões tomadas de forma mais

racional

Wednesday, September 14, 11

previsão e mitigação de

riscos

Wednesday, September 14, 11

analisar, gerenciar e planejar mudanças

Wednesday, September 14, 11

mas essa tal arquitetura não

cai do céu

Wednesday, September 14, 11

para que ela exista de forma eficiente

alguém precisa criá-la

Wednesday, September 14, 11

alguém precisa pensar em tudo

isso

Wednesday, September 14, 11

arquiteto de software

Wednesday, September 14, 11

<palavra aqui> mais mal compreendida

em TIprofissão, papel, cargo, habilidade, título

Wednesday, September 14, 11

além disso o termo gera algum

<palavra aqui>stress, desejo, conflito, rixa

Wednesday, September 14, 11

mas o que é o arquiteto?

Wednesday, September 14, 11

o papel arquiteto de TI é resolver um problema

definindo um sistema que possa ser implmentado usando

tecnologia.

“Wednesday, September 14, 11

um bom arquiteto define sistemas utilizando abstrações e métodos provados para um conjunto de

tecnologias criando uma solução extensível e manutenível.

“Wednesday, September 14, 11

quais conhecimentos um arquiteto possui?

Wednesday, September 14, 11

um bom entendimento do

domínio do problema

Wednesday, September 14, 11

o problema é específico de um

segmento?

Wednesday, September 14, 11

quais desafios um segmento possui com relação aos outros?

Wednesday, September 14, 11

perspicácia técnica

Wednesday, September 14, 11

não há como conhecer profundamente toda e

cada tecnologia

Wednesday, September 14, 11

mas é necessário conhecer o propósito por detrás de seu uso

Wednesday, September 14, 11

o arquiteto deve entender a quais

requisitos a tecnologia atende

Wednesday, September 14, 11

conceitualizar

Wednesday, September 14, 11

comunicar a parte técnica e a não

técnica

Wednesday, September 14, 11

capaz de explicar para o time de negócios e o

time de desenvolvimento

Wednesday, September 14, 11

mais que explicar: dar visibilidade e

clareza

Wednesday, September 14, 11

conhecimento de padrões

Wednesday, September 14, 11

criam um vocabulário e entendimento

concisos

Wednesday, September 14, 11

possibilita o uso de soluções provadas

para o cenário

Wednesday, September 14, 11

<alerta>

Wednesday, September 14, 11

o uso indiscriminado e aleatório de padrões causa

doenças graves e pode levar o projeto à morte

Wednesday, September 14, 11

</alerta>

Wednesday, September 14, 11

Wednesday, September 14, 11

quais competências um arquiteto possui?

Wednesday, September 14, 11

liderança

Wednesday, September 14, 11

o arquiteto define a fundação dos

sitemas

Wednesday, September 14, 11

possibilita que os outros enxerguem o que precisa ser feito para atingir o

objetivo

Wednesday, September 14, 11

cabe ao arquiteto tomadas de decisões e assumir estas decisões

Wednesday, September 14, 11

em muitas vezes não são simples

Wednesday, September 14, 11

em muitas vezes não são as melhores escolhas técnicas

Wednesday, September 14, 11

visão estratégica

Wednesday, September 14, 11

deve conseguir observar as coisas como um todo

Wednesday, September 14, 11

transformar o todo em partes simples

de alcançar

Wednesday, September 14, 11

fazer escolhas que maximizem ROI

Wednesday, September 14, 11

gestão de relações humanas

Wednesday, September 14, 11

lida com pessoas de negócio não somente internas

Wednesday, September 14, 11

precisa compreender implicações políticas

para as decisões

Wednesday, September 14, 11

deve ser acessível

Wednesday, September 14, 11

boa comunicação

Wednesday, September 14, 11

deve ser capaz de ouvir as áreas de negócio, gerenciais e técnicas

Wednesday, September 14, 11

deve ser capaz de explicar modelos para a área de

negócios, as necessidades à gerenência e a arquitetura aos

técnicos

Wednesday, September 14, 11

deve saber utilizar um vocabulário próprio para cada situação

Wednesday, September 14, 11

todos os arquitetos são

iguas?

Wednesday, September 14, 11

não

Wednesday, September 14, 11

arquitetos podem atuar com: <cargo

aqui>CIO, gerentes, analistas de negócio,

programadores

Wednesday, September 14, 11

Wednesday, September 14, 11

enterprise architect

Wednesday, September 14, 11

garante que os investimentos de TI estão alinhados com a estratégia de negócios da empresa

Wednesday, September 14, 11

implementa a visão e estratégia

do CIO em TI

Wednesday, September 14, 11

solution architect

Wednesday, September 14, 11

implementa programas

estratégicos de TI

Wednesday, September 14, 11

possui conhecimentos técnicos em diversas

plataformas

Wednesday, September 14, 11

lida com times técnicos e de

negócios

Wednesday, September 14, 11

technical architect

Wednesday, September 14, 11

profundo conhecimento técnico em uma

tecnologia/plataforma

Wednesday, September 14, 11

conhece e entende seus pontos fortes

e fracos

Wednesday, September 14, 11

define a melhor arquitetura possível com

a tecnologia em questão

Wednesday, September 14, 11

mas de fato precisamos de um

arquiteto?

Wednesday, September 14, 11

alguém precisa assumir este papel

Wednesday, September 14, 11

ainda que formalmente ninguém o tenha

assumido, alguém o desempenha

Wednesday, September 14, 11

talvez não seja alguém com todas as

características de um arquiteto

Wednesday, September 14, 11

muitas vezes não são necessárias todas

estas características

Wednesday, September 14, 11

em muitos cenários um líder técnico com bom

conhecimento do domínio assume este papel

Wednesday, September 14, 11

em alguns cenários o papel é compartilhado entre membros do time

Wednesday, September 14, 11

é preciso atentar aos pontos que fogem ao

domínio do conhecimento técnico

Wednesday, September 14, 11

liderança, relações interpessoais, conceitualização, comunicação: fogem às linhas

de código

Wednesday, September 14, 11

por que programadores não

gostam de arquitetos?

Wednesday, September 14, 11

experiências frustradas

Wednesday, September 14, 11

arquitetos que não possuíam além da

parte técnica

Wednesday, September 14, 11

arquitetos tecnicamente defasados

Wednesday, September 14, 11

ocupação de cargo por tempo

de casa

Wednesday, September 14, 11

um programador medíocre pode projetar

um desejo de “crescimento”

Wednesday, September 14, 11

programadores podem ser arquitetos

Wednesday, September 14, 11

é preciso compreender que são dois papéis distintos para uma

mesma pessoa

Wednesday, September 14, 11

mesmo que se ocupe os dois papéis

simultaneamente, eles ainda são distintos

Wednesday, September 14, 11

o papel de arquiteto não é o futuro de um desenvolvedor

Wednesday, September 14, 11

programadores brincam com editores

de código fonte

Wednesday, September 14, 11

arquitetos brincam com quadros,

desenhos, idéias

Wednesday, September 14, 11

http://viniciusquaiato.comhttp://crafters.com.br

vinicius.quaiato@gmail.com

@vquaiato(vinicius quaiato)

Wednesday, September 14, 11

Wednesday, September 14, 11

top related