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
3 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 com ênfase em IA

Aprenda a coordenar equipes de desenvolvimento, aplicar padrões e técnicas de arquitetura e aumentar sua produtividade criando sistemas inovadores com o suporte da IA.

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