Arquitetura de TI — A arte de tomar boas decisões
Uma das habilidades mais importantes para um arquiteto é a capacidade de gerenciar e tomar boas decisões. Gerenciar decisões e facilitar o processo de tomada de decisão são fundamentais para construir arquiteturas saudáveis e sustentáveis. Dentro das atribuições de um arquiteto, um fator chave é sempre ficar atento a desvios das iniciativas de negócios em relação as decisões de arquitetura. Às vezes, o que pode parecer uma decisão simples pode mais tarde se tornar um problema mais complexo e resultar em consequências inesperadas de efeitos colaterais. Na pior das hipóteses, isso pode significar que a arquitetura não é mais viável e, na melhor das hipóteses, gera esforço e tempo de retrabalho.
O arquiteto tem um papel de liderança e uma das principais responsabilidades do arquiteto é orientar as partes interessadas e ajudar as equipes nas decisões de negócios. O arquiteto tem uma perspectiva única, entendendo os principais aspectos entre negócio e tecnologia. É claro que o arquiteto não é responsável por todas as decisões de negócio, mas sim pelas decisões “significativas”, aquelas que têm um efeito profundo na arquitetura, no negócio ou nos stakeholders. Martin Fowler descreve essas decisões simplesmente como “as coisas que importam”.
Seja trabalhando no desenvolvimento de produtos ou na estratégia, esperamos que o arquiteto gerencie as decisões “significativas”. Estamos tomando decisões o tempo todo em todos os níveis dentro de uma organização, então como sabemos quando uma decisão é “significativa”?
Uma maneira de ajudar a identificar as decisões importantes com antecedência e gerenciá-las é adotar uma mentalidade para analise. Como uma lista de verificação mental que aciona um alarme se determinados critérios não forem atendidos.
O diagrama acima mostra alguns dos aspectos de uma decisão que podemos considerar para avaliar rapidamente seu significado. Podemos usar a sigla PRILER para tornar esses aspectos fáceis de lembrar.
Prioridade e Valor
A significância de uma decisão pode ser orientada pelo quanto os stakeholders valorizam e priorizam as alternativas. É importante não apenas considerar os aspectos técnicos de uma decisão, mas também considerar se há consequências políticas, operacionais, financeiras e economicas. Por exemplo, tomar decisões com base apenas no melhor conhecimento técnico pode resultar em fracasso se mais tarde descobrirmos que houve falta de apoio político das partes interessadas.
A partir desta perspectiva, podemos considerar uma decisão como “significativa” se for de alta prioridade ou valor para as partes interessadas na arquitetura.
Reversibilidade
A reversibilidade indica quão fácil é reverter ou alterar uma decisão após ou durante o início da implementação da mudança. Este é um aspecto muito importante, pois as decisões difíceis de reverter podem gerar lock-in. Muitas arquiteturas podem se tornar soluções alternativas, complementos e limitações porque era muito esforço reverter uma decisão. Decisões que podem ser revertidas facilmente, com poucas consequências, são mais eficiêntes para um modelo de arquitetura adaptável e reduzem o atrito com a inovação das organização.
Impacto (Escopo/Efeito)
O impacto de uma decisão indica o escopo da mudança, em outras palavras, quão amplamente as ondas da mudança serão sentidas dentro de uma organização. Por exemplo, uma decisão que afeta um único componente de um produto pode ter um impacto baixo, alternativamente, uma decisão que afeta toda a empresa terá um impacto alto. O impacto pode ter consequências na forma como os produtos de tecnologia são desenvolvidos ou na forma como um negócio funciona. É importante lembrar que o que pode parecer decisões técnicas de baixo impacto às vezes pode ter um alto impacto nos usuários, na forma de trabalhar ou no negócio como um todo. O mesmo vale para decisões de negócios que podem parecer de baixo impacto, mas têm alto impacto técnico. Decisões com alto impacto aumentam a significância da decisão.
Limitações e Restrições
Muitas decisões são trocas, abrir uma porta pode significar que outras portas se fecham. Para cada decisão, precisamos considerar quais restrições serão colocadas na arquitetura, talvez limitando opções futuras ou aumentando o esforço em outros aspectos da arquitetura. Queremos manter o maior número de opções disponíveis pelo maior tempo possível para garantir que a arquitetura seja sustentável. As decisões que incorrem em sérias limitações ou restrições na arquitetura provavelmente serão significativas.
Esforço
O esforço representa o trabalho, os recursos, o tempo e os custos associados à decisão. Se os recursos e o apoio financeiro não estiverem disponíveis ou forem viáveis, é improvável que a alternativa escolhida seja bem-sucedida. Mesmo que a alternativa escolhida seja a melhor em termos de arquitetura, de nada valerá se os meios para executá-la não estiverem disponíveis. É importante lembrar que mesmo uma decisão de manter o status quo pode incorrer em um esforço significativo, portanto, mesmo uma decisão de não mudar nada custa esforço.
Risco
Risco é a possível exposição a efeitos negativos resultantes da decisão. A maioria das decisões envolve algum nível de risco. Podemos considerar se uma decisão envolve muitos riscos, a gravidade desses riscos e se existem maneiras de mitigar os riscos. Se uma decisão depende de fatores externos, estes podem representar riscos que fogem ao nosso controle e são difíceis de mitigar. Uma decisão que incorre em um alto nível de risco provavelmente será significativa.
Adotar a mentalidade PRILER para a tomada de decisões de arquitetura pode ser o primeiro passo para identificar decisões significativas. O que acontece a seguir é provavelmente uma análise mais detalhada das alternativas em que o arquiteto consultará um campo mais amplo de partes interessadas. Pode ser que as consequências de uma decisão sejam tão significativas que a decisão seja escalada para outras partes interessadas no negócio.
Concluindo, cada decisão é única e não existe uma bala de prata. Abordar a tomada de decisão de arquitetura com a mentalidade certa pode ajuda a identificar rapidamente as coisas que realmente importam, e isso contribui para evitar sérias armadilhas, ajudando a manter nossas arquiteturas saudáveis e sustentáveis.
Fonte: Stephen Dougall is an EA consultant with CGI in Sweden. He has been a practicing architect for over 20 years in a number of industry sectors and is passionate about furthering the architecture profession.