O documento apresenta 12 hábitos de arquitetos de software altamente eficazes, como ser um mentor para a equipe, criticar ideias e não pessoas, encorajar a propriedade coletiva do código, permitir que desenvolvedores tentem resolver problemas por conta própria, focar no resultado e não no processo, e evoluir continuamente a arquitetura do sistema.
2. Sobre
● 15 anos de TI;
○ 8 anos desenvolvedor / consultor java;
○ 7 anos arquiteto de software;
● Trabalhei empresas de pequeno, médio e
grande porte;
● Atualmente Arquiteto de Soluções Extreme
Digital Solutions
7. “ Na maioria dos projetos de software de sucesso, os
desenvolvedores que trabalham nesse projeto tem um
conhecimento compartilhado do design do sistema.
Este entendimento compartilhado é chamado de
‘arquitetura’. Este entendimento inclui como o sistema é
dividido entre seus componentes e como estes
interagem com suas interfaces. Os componentes são
usualmente compostos de componentes menores,
porém a arquitetura somente inclui componentes e
interfaces que são entendidas por todos seus
desenvolvedores.”
Ralph Johnson on the Extreme Programming mailing list 2002
Definição
O que é arquitetura?
8. Architectus Reloadus
“é o mais comum e refere-se a aquele quem toma as decisões mais
importantes, logo no início do projeto, para que todos tenham um plano a
seguir, sendo o único responsável por garantir a integridade conceitual
de um sistema”
Architectus Oryzus
“é o que mais participa e refere-se a aquele quem toma as decisões mais
conscientes do que está ocorrendo no projeto, buscando sempre
identificar as possíveis dificuldade e pontos críticos, para assim poder
superá-las. O Oryzus é o tipo ideal de arquiteto, pois ele ensina a sua
equipe como assumir questões mais complexas, dessa forma lhes dando
autonomia, e não ficando com a responsabilidade somente para si.”
9. Nos dias de hoje, o que é
preciso ter ou fazer para
ser um arquiteto?
basta apenas saber “desenhar caixinhas” ?
10. Seja um mentor
e não um atormentador Dica
Não espere até o final da
apresentação para passar
a mensagem mais
importante.
Revele o produto ou a
ideia (neste caso, um
aplicativo de tradução)
logo no início.
12. Haja como um guia,
e não um ditador Dica
Não espere até o final da
apresentação para passar
a mensagem mais
importante.
Revele o produto ou a
ideia (neste caso, um
aplicativo de tradução)
logo no início.
13. Encorage a propriedade de
código coletiva
Collective Ownership
https://www.agilealliance.org/glossary/collective-ownership/#q=~(infinite~false~filters~(postType~(~'page~'post~'aa_book~'aa_event_session~'aa_experience_report~
'aa_glossary~'aa_research_paper~'aa_video)~tags~(~'collective*20ownership))~searchTerm~'~sort~false~sortDirection~'asc~page~1)
17. Why learning to unlearn is so important
https://www.forbes.com/sites/forbescoachescouncil/2018/08/02/why-learning-to-unlearn-is-so-important
Aprender a desaprender
18. Diversifique seu portfólio
de conhecimento
https://hackernoon.com/top-software-development-
trends-in-2019-c0bef4a4add7
19. Lidere por exemplo
Dica
Não espere até o final da
apresentação para passar
a mensagem mais
importante.
Revele o produto ou a
ideia (neste caso, um
aplicativo de tradução)
logo no início.