Para a Liderança Democrática da Arquitetura de Software
Para a maioria das pessoas, o título de Arquiteto de Software soa por demais pomposo e costuma ser associado a devaneios tecnológicos “inovadores”. Justiça seja feita, a maioria dos profissionais encontrados no mercado geralmente faz por merecer as observações.
Ao longo de minha carreira, tenho encontrado alguns colegas com a função de arquiteto de software que preocupam-se mais com o impacto de seus crachás que com resultados pragmáticos. E não somente os resultados importam – os meios também interessam. E muito!
Um arquiteto com grande experiência e ampla capacitação técnica é capaz de projetar boas arquiteturas de software. Mas o arquiteto que lidera o desenvolvimento de uma arquitetura de software, este sim, tem a chance de atingir resultados excelentes. Independentemente da existência de outros arquitetos no time, é possível que toda a equipe técnica contribua – cada qual a sua maneira. Seguem algumas sugestões para liderar democraticamente o desenvolvimento de uma arquitetura de software.
- Em primeiro lugar, certifique-se de ser portador de uma razoável auto-confiança. Para muitos, contar com a contribuição de outros pode ser um sintoma de fraqueza. Se você ainda não é capaz de se livrar de atitudes autocráticas e personalistas, dificilmente poderá avançar. Por outro lado, aceite sua imperfeição (não espere atingir o Nirvana!) e arrisque-se um pouco.
- Encontre (e mantenha) boas “cabeças” para seu time. Será útil contar com pessoas inteligentes. E lembre-se que as pessoas “certas”, nem sempre, são as mais capacitadas, mas as mais confiáveis.
- Crie um ambiente confiável. Valorize a integridade e a paciência. Incentive a participação e tenha cuidado ao emitir críticas. Demonstre competência sem intimidar os demais.
- Evite apresentar visões messiânicas, arquiteturas que parecem boladas por seres superiores. Procure envolver todos no problema a ser resolvido. Antes de apresentar soluções, ouça o que todos tem a dizer. Aliás, procure mais ouvir que falar. Como ensina Jack Welch, qualquer um pode ter uma boa idéia.
- Lidere com perguntas e não com respostas. Nem todos detém a mesma experiência em lidar com problemas: esclareça-os. Direcione os objetivos, mas não deixe de atuar com diligência e extrema humildade.
- Através do exemplo, seja disciplinado e comprometido, inspirando aos outros que também o sejam. Procure se concentrar nos problemas reais e nas soluções mais simples e objetivas. É fácil desviar a atenção para sedutoras aventuras tecnológicas.
- Sirva o time. Os arquitetos geniais na torre de marfim se cercam de dezenas de assistentes. E os excelentes arquitetos servem como catalizador para as boas soluções da equipe, fomentando a criatividade.
- Mostre-se transparente e ético sempre. E não apenas aparente ser. Seja.
- Articule com todos, procurando ser um elo de união entre as diversas disciplinas como, por exemplo, requisitos, testes e gerência. Definitivamente sua profissão não é mais importante que a de ninguém.
- Seja um líder 360º. Siga os conselhos de John Maxell e influencie positivamente o cliente, o gerente, a gerência sênior e todos os demais skateholders.
Infelizmente somente um artigo é insuficiente para discutir questões humanas ligadas à profissão do arquiteto de software. Igualmente limitada é a capacidade de quem escreve este blog. Mas, se você se interessou pelo assunto, encontrará facilmente bons livros sobre liderança (muito mais que sobre arquitetura de software, acredite!) e poderá acompanhar nossos artigos futuros.
Para reflexão: “Os líderes de nível 5 exibem uma diligência operária – mais para ‘cavalo de arado’ do que para ‘cavalo de circo’”. Jim Collins, em “Good to Great”
[...] arquitetura desenvolvida com bases em liderança e cooperação de todos os membros tende a ser mais eficaz. Em primeiro lugar, porque o produto [...]