Quem quer ser um arquiteto?

Post on 28-Nov-2014

394 views 2 download

description

Palestra feita na trilha de Arquitetura no TDC2014 em São Paulo O que é Arquitetura de Software, quais as principais preocupações e conhecimentos preciso ter? A proposta dessa palestra é conversar sobre a funçào da arquitetura de software

Transcript of Quem quer ser um arquiteto?

© 2014 IBM Corporation

Quem quer ser um arquiteto?The Developers Conference

https://twitter.com/marceloancelmo

Marcelo Sousa AncelmoSenior IT Specialist – IBM Rational marcelo.ancelmo@br.ibm.com

marceloancelmo

http://www.slideshare.net/marceloancelmo

https://www.linkedin.com/in/marceloancelmo

O que é ser um arquiteto?

O que é preciso para ser um Arquiteto?

Conhecimento técnico é importante...

• Saber se comunicar bem com equipes técnicas e de negócio

• Um trusted advisor para a gerência de projetos e stakeholders• É preciso ser um mentor para a equipe

• Saber gerenciar crises e conflitos arquiteturais

• Analisar problemas de neǵocio• Gerenciar expectativas

• Saber a hora de recuar e de progredir para defender a arquitetura

Liderança

Conhecimento de diferentes dominios

• Arquitetura de Negocio

• Arquietura de Infraestrutura

• Arquitetura de Software

• Arquitetura de Segurança

• Arquitetura de Dados

E de suas tecnicas e tecnologias associadas

• NoSQL, SQL, XML, JSON, Big Data, Cache, Data Grid

• UML

• Requisitos Funcionais

• Requisitos Não-Funcionais– Escalabilidade– Alta Disponibilidade– Segurança– Resiliência– Disponibilidade– Etc...

• DSL, BPM, BRM

Conhecimento de diferentes Plataformas

• Mainframe

• Client-Server

• Web

• Mobile

• Cloud

• Monolitica• Client-Server (2-tier, 3-tier, n-tier)

• P2P

• EDA• SOA

• REST

E de estilos arquiteturais

Conhecer processos de desenvolvimento

• Extreme programming (XP)

• Agile Methods

• Kanban

• RUP

• Unified Process

• Waterfall

Conhecimentos de Análise e Design

• Padrões de Design – GOF– EIP– MEP– Java EE Design Patterns

• OOAD• Domain Driven-Design

Conhecimento de Middleware

• ESB – Enterprise Service Bus

• MOM - Message Oriented Middleware

• EAI – Enterprise Application Integration

• ETL – Extract, Transform and Load

• Java Application Server

Conhecer linguagens de programação

Conhecer tecnologias e frameworks

Possuir um arsenal de ferramentas

• ALM

• Modelagem e Arquitetura de Software

• SCM

• Build Automation

• CI

• Deploy Automation• Etc...

Para montar uma visão alto nivel

• Montar a visão do Big Picture, sem perder a visão final

• Identificar Componentes, Comunicação e Padrões

• No Silver Bullet

Adotar uma abordagem Lean

• Evitar Big Design Up Front e Big Architecture Up Front

• Não tentar dar soluções para problemas que você ainda não sabe se vão acontecer (Eles podem não ser realmente problemas, podem não ser tão importantes ou podem nunca acontecer)

• Foco nas partes que não podem / devem sofrer mudanças

• Isolar os frameworks e componentes de terceiros pode facilitar a sua mudança

Afinal, o que é preciso para ser um arquiteto?

É preciso preparo

• Ler livros, artigos e blogs

• Conversar com outros arquitetos e saber sobre suas experiências

• Participar de fóruns e eventos que abordem o tema

Para desenvolver e aprimorar sua técnica

E um arqui-inimigo

:-)

Perguntas

Image: FreeDigitalPhotos.net

Próximas Palestras IBM:

Thank You

MerciGrazie

Gracias

Obrigado

Danke

Japanese

English

French

Russian

German

Italian

Spanish

Brazilian Portuguese

Arabic

Traditional Chinese

Simplified Chinese

Hindi

Tamil

Thai

Korean

DziękujęPolish

Marcelo Sousa AncelmoSenior IT Specialist – IBM Rational marcelo.ancelmo@br.ibm.com