Quem precisa de um arquiteto de software?

O erro acontece de vários modos, enquanto ser correto é possível apenas de um modo.
Aristóteles

Todo sistema de software possui uma arquitetura. Entretanto, ela nem sempre é planejada, tampouco idealizada por alguém que responde, pelo menos oficialmente, como arquiteto.

Gregory Hohpe ensina que há pelo menos quatro configurações possíveis para a atividade de arquitetura.

O arquiteto como “Ditador Benevolente”

Nessa configuração, cabe ao arquiteto definir o que precisa ser feito e ao time executar o que o arquiteto definir.

Embora aparentemente na contramão de estruturas modernas e ágeis, esta configuração pode ser necessária em times onde produzir o consenso é difícil. Geralmente, tais cenários são resultantes do excesso ou da falta absoluta da pressão por resultados. Ou ainda, por falta de equilíbrio de senioridade.
0
Por favor, deixe seu feedback aquix

No médio-longo prazo, times com uma cabeça, a do “ditador benevolente”, e diversos braços, o restante do time, são insustentáveis por promover comportamento medíocre.

Arquiteto como “membro do time”

Nessa configuração, o arquiteto assume a posição de orquestrador para as decisões mais importantes. Ele explicita e consolida opções com o time verificando sempre o atendimento dos objetivos do negócio, respeito a restrições e atendimento dos atributos de qualidade.

Geralmente, nessas configurações, há equilíbrio perceptível de senioridade na maior parte do time. As decisões nem sempre são tomadas rapidamente, mas, são sempre mais seguras.
0
Considerações?x

O maior risco, nessa configuração, é que o arquiteto passe a executar outras atividades, como escrever código, em demasia, deixando de cumprir seu papel primário.
0
Considerações?x

Arquitetura sem arquitetos

Nessa configuração, as atividades de arquitetura são diluídas entre os diversos membros do time, que assumem responsabilidade compartilhada pelos resultados.

Esse tipo de configuração só é possível em times com senioridade extremamente elevada, onde há consciência da natureza e da importância das atividades arquiteturais.

O maior risco, nessa configuração, é que o time negligencie aspectos como comunicação eficaz com outros stakeholders, migrando para outra configuração, “implícita” onde práticas arquiteturais simplesmente não são executadas.
0
Considerações?x

Arquitetura “implícita”

Nessa configuração, as atividades de arquitetura simplesmente não são executadas e a mesma “emerge organicamente” durante o processo de desenvolvimento. É comum em times alegadamente ágeis que acham práticas arquiteturais desnecessárias.

O resultado comum desse tipo de configuração é ver o time “fazendo outra fez” software que já fez no passado. Ou seja, reproduzindo soluções de projetos anteriores para problemas propostos no projeto atual.

Este tipo de configuração costuma ser o “gatilho” para adoção, em algum momento, do modelo com um “ditador benevolente”. Geralmente, quando o projeto sai dos trilhos.
0
Considerações?x

Qual é o jeito certo?

Não há jeito certo! Mas, com certeza, desenvolver software buscando arquiteturas implícitas é o jeito errado.
0
O que você pensa a respeito?x
A opção por ter um “ditador benevolente”, como um “igual” no time, ou ter as atividades diluídas depende da senioridade e da orientação do time.

Referências bibliográficas

HOHPE, Gregory. Agile and Architecture: Friend, not Foe. 2020. Disponível em: https://architectelevator.com/transformation/agile_architecture/. Acesso em: 17 ago. 2021.

Compartilhe este capítulo:

Compartilhe:

Comentários

Participe da construção deste capítulo deixando seu comentário:

Inscrever-se
Notify of
guest
1 Comentário
Oldest
Newest Most Voted
Feedbacks interativos
Ver todos os comentários
anon
anon
2 anos atrás

Esse menu gigante no topo com esse banner também gigante no footer deixa o UX horrível, muito difícil de ler algo desse jeito…

Fundador e CEO da EximiaCo, atua como tech trusted advisor ajudando diversas empresas a gerar mais resultados através da tecnologia.

Mentoria

para arquitetos de software

Imersão, em grupo, supervisionada por Elemar Júnior, onde serão discutidos tópicos avançados de arquitetura de software, extraídos de cenários reais, com ênfase em systems design.

Consultoria e Assessoria em

Arquitetura de Software

EximiaCo oferece a alocação de um Arquiteto de Software em sua empresa para orientar seu time no uso das melhores práticas de arquitetura para projetar a evolução consistente de suas aplicações.

ElemarJúnior

Fundador e CEO da EximiaCo, atua como tech trusted advisor ajudando diversas empresas a gerar mais resultados através da tecnologia.

+55 51 99942-0609 |  contato@eximia.co

+55 51 99942-0609  contato@eximia.co

1
0
Quero saber a sua opinião, deixe seu comentáriox
()
x