Em média 50% das empresas viram um projeto falhar nos últimos 12 meses.
Em um ambiente de tecnologia em rápida mudança, as organizações enfrentam a necessidade de transformar seus processos e sistemas para atender aos requisitos de negócios emergentes. Essa transformação digital exige expertise específica e um conjunto de práticas para alinhar o foco do negócio às soluções de tecnologia.
A arquitetura da solução pertence à lista das práticas mais importantes executadas antes do início do desenvolvimento de qualquer solução de tecnologia.
Mas, o que é arquitetura de solução, a função de um arquiteto de soluções e como adotar dessa prática para ajudar a resolver problemas de negócios?
A arquitetura da solução é uma prática de projetar, descrever e gerenciar a engenharia da solução em relação a problemas de negócios específicos.
Um arquiteto de soluções é a pessoa responsável por liderar a prática e apresentar a visão técnica geral para uma solução específica.
Enterprise architect vs solution architect vs technical architect
Arquiteto empresarial. A arquitetura corporativa concentra-se na construção de ecossistemas corporativos complexos e na solução de problemas estratégicos de alto nível. A arquitetura corporativa define as direções estratégicas da arquitetura de negócios, o que leva a uma compreensão de quais recursos de tecnologia são necessários para dar suporte a essa arquitetura.
Arquiteto de solução. Arquitetura de solução é um processo complexo - com muitos subprocessos - que preenche a lacuna entre os problemas de negócios e as soluções de tecnologia. Inclui:
- Encontrar a melhor solução tecnológica entre todas as possíveis para resolver os problemas de negócios existentes.
- Descrever a estrutura, características, comportamento e outros aspectos do software para as partes interessadas do projeto.
- Definição de recursos, fases e requisitos de solução.
- Fornecer especificações de acordo com as quais a solução é definida, gerenciada e entregue.
Arquiteto técnico. Um arquiteto técnico é principalmente responsável pelos problemas de engenharia e arquitetura de software.
Alguns adicionam especificamente um arquiteto de infraestrutura ao paradigma. Essa função se torna relevante para organizações que mantêm uma infraestrutura de hardware complexa interna para dar suporte às operações.
Arquitetura da solução no contexto da arquitetura empresarial e técnica
A arquitetura da solução descreve como os diferentes componentes das arquiteturas de negócios, informações e tecnologia são usados em uma solução específica. Como a arquitetura da solução é mais focada em detalhes e tecnologias de solução para tratar de um problema de negócios específico, ela fornece um canal entre a arquitetura corporativa e a arquitetura técnica. Este último está focado apenas em questões técnicas. Uma abordagem eficaz para empresas é combinar atividades de arquitetura corporativa com atividades de arquitetura técnica e de solução.
Os principais processos cobertos pela arquitetura da solução
Uma arquitetura de solução bem construída ajuda as equipes a desenvolver o produto dentro do prazo e do orçamento, e garante que ele resolva o problema para o qual foi projetado. Quais tarefas a arquitetura da solução realmente realiza?
Combinando soluções com o ambiente corporativo
Normalmente, as empresas já possuem sistemas operacionais, um contexto de informações e requisitos de integração. A arquitetura da solução ajuda a garantir que um novo sistema se encaixe no ambiente corporativo existente. Para executar essa tarefa, um arquiteto de soluções deve compreender como todas as partes do modelo de negócios funcionam juntas, incluindo processos, sistemas operacionais e arquiteturas de aplicativos. Compreendendo esses processos, eles serão capazes de projetar uma solução específica que melhor se adapte ao ambiente.
Atender aos requisitos de todas as partes interessadas
Um dos desafios mais importantes do desenvolvimento de produtos de software é atender aos requisitos das partes interessadas. Normalmente, um produto tem vários interessados que são especialistas técnicos e não técnicos. O objetivo da arquitetura da solução é garantir que todos os seus requisitos sejam levados em consideração. As partes interessadas devem ser regularmente informadas sobre os processos, custos e orçamentos de desenvolvimento de produtos. Essas tarefas geralmente são realizadas por um arquiteto de soluções que traduz os detalhes técnicos do projeto em uma linguagem que o gerenciamento e as partes interessadas não técnicas possam entender.
Contabilizando as restrições do projeto
Cada projeto tem suas limitações geralmente chamadas de restrições. Esses incluem:
- Tecnologia
- Riscos
- Escopo
- Custo
- Qualidade
- Tempo
- Recursos
Por exemplo, um produto é construído com tecnologias que devem atender aos requisitos de seus módulos específicos. O escopo do projeto é uma parte da documentação do software que define objetivos, tarefas, recursos e funções específicos. Todos os projetos também têm um orçamento alocado.
Embora esses aspectos sejam restrições em si mesmos, cada um deles tem suas próprias limitações. O arquiteto de soluções deve compreender todas essas restrições, compará-las e, em seguida, tomar várias decisões tecnológicas e gerenciais para reconciliar essas restrições com os objetivos do projeto.
Selecionando a pilha de tecnologia do projeto
Uma parte vital da criação de arquitetura de solução é a seleção de tecnologias para desenvolvimento de produtos. A estratégia de arquitetura técnica dependerá diretamente da pilha de tecnologia escolhida. Existem muitas práticas diferentes associadas a plataformas, linguagens de programação e ferramentas. A função da arquitetura da solução aqui é descobrir qual delas será a mais adequada para um determinado projeto. Não é uma tarefa comum que requer avaliação e comparação de tecnologia.
Conformidade com requisitos não funcionais
Todos os projetos de software devem atender a uma série de requisitos não funcionais que descrevem as características do sistema. Eles também são conhecidos como atributos de qualidade. Embora a lista exata de requisitos não funcionais dependa da complexidade de cada produto individual, os mais comuns deles são segurança, desempenho, capacidade de manutenção, escalabilidade, usabilidade e confiabilidade de um produto. A função do arquiteto de soluções é analisar todos os requisitos não funcionais e garantir que a engenharia de produto posterior os atenderá.
Como discutimos os objetivos de alto nível da adoção da arquitetura de solução, vamos dividi-los em responsabilidades específicas e conjuntos de habilidades subjacentes.
Responsabilidades do arquiteto de soluções
O trabalho do arquiteto de soluções concentra-se nas decisões de nível de solução e na análise de seu impacto nas metas e resultados de negócios gerais. As responsabilidades da pessoa derivam diretamente dos processos na prática:
- Analisando o ambiente de tecnologia
- Analisando as especificidades da empresa
- Análise e documentação de requisitos
- Configurando a estrutura de colaboração
- Criação de um protótipo de solução
- Participar da seleção de tecnologia
- Controle do desenvolvimento da solução
- Apoio à gestão de projetos
Embora a maioria dessas responsabilidades exija uma função de liderança de um arquiteto de soluções, essa pessoa apenas dá suporte às atividades de PM para garantir que os recursos, o reconhecimento de riscos e o planejamento fiquem alinhados com os objetivos da solução.
Se você já percebeu a importância da arquitetura da solução em seus projetos, a próxima etapa é fornecer e contratar a pessoa para a função. Nós consideramos as principais habilidades que um bom arquiteto de soluções deve possuir.
Formação técnica e experiência
Para fornecer aconselhamento técnico às equipes de gerenciamento e engenharia, um arquiteto de soluções deve ter formação técnica com pelo menos oito anos de experiência de trabalho em uma ou mais áreas de TI, incluindo, mas não se limitando a:
- Arquitetura, infraestrutura e desenvolvimento de nuvem de TI
- Projeto de engenharia e arquitetura de software
- Análise de negócio
- DevOps
- Gerenciamento de projetos e produtos
Excelentes habilidades de comunicação
Uma parte vital da competência do arquiteto de soluções é a comunicação. Considerando que essa função envolve negociação com as partes interessadas, compreensão das necessidades de todas as partes, gerenciamento de riscos e entrega de produtos, a falta de habilidades de comunicação pode criar um verdadeiro gargalo. A posição requer trabalhar em estreita colaboração com arquitetos corporativos e de software, analistas de negócios e equipes de projeto. Portanto, um arquiteto de soluções experiente deve ser capaz de ouvir, aconselhar, ter empatia e explicar.
Habilidades analíticas profundas
Projetar uma solução requer a compreensão de como diferentes partes do negócio trabalham juntas. O arquiteto deve reconhecer a estratégia corporativa e realizar todos os processos de negócios que definem como uma empresa atinge seus objetivos estratégicos. Mas, o arquiteto também deve entender as especificações técnicas. Como resultado, os arquitetos de soluções lidam constantemente com o trabalho analítico e se movem entre as várias camadas de negócios.
Habilidades de gerenciamento de projetos e recursos
Embora um arquiteto de soluções não se envolva diretamente no gerenciamento de projetos, a contabilização dos prazos e dos recursos fornecidos é inevitável. Os arquitetos de soluções devem ser capazes de tomar decisões sobre quais soluções são vantajosas e quais são inúteis em uma situação específica. Eles devem estar focados nos resultados do negócio e entender como alcançá-los de acordo com os prazos e recursos fornecidos.
Quando uma empresa precisa de consultoria de arquitetura de solução
A arquitetura da solução pode ser introduzida na estrutura corporativa por organizações de consultoria de tecnologia se o processo de integração de novos sistemas de software não for sistemático. Além disso, não há necessidade de um arquiteto de soluções para cada projeto. Se você implementar um único módulo de tecnologia que comprovadamente funciona em contextos semelhantes, não precisará de um arquiteto de soluções. Uma vez que os projetos de engenharia de software se tornam mais complicados e envolvem um número identificado de processos e riscos, é melhor considerar os serviços de consultoria de arquitetura de solução.
Casos em que a consultoria de arquitetura de solução é recomendada:
Você não sabe qual solução se encaixa melhor no ecossistema corporativo. Você precisa estabelecer um vínculo entre a arquitetura corporativa existente e o projeto específico. Os arquitetos de soluções garantirão que a solução atenda aos padrões do ambiente de sua empresa. Por exemplo, se você mover uma série de processos de back-office existentes para a nuvem, um arquiteto de soluções será responsável por analisar várias opções e sugerir as mais relevantes em termos de tecnologia, recursos humanos e financeiros.
Você executa um projeto de transformação digital. A transformação digital exige que as empresas reconsiderem a forma como entregam valor aos clientes ou o que acabarão por entregar. Não há como responder a essas perguntas sem vincular a tecnologia e as perspectivas de negócios, o que está perfeitamente na casa do leme de um arquiteto de soluções.
Você enfrenta muitos riscos. Um arquiteto de soluções é necessário em projetos onde muitos riscos de tecnologia estão presentes, requisitos incertos podem aparecer, vários produtos devem ser implementados de uma vez ou as tecnologias subjacentes ainda não foram aprovadas.
Você deve apresentar um roteiro de produto para os investidores. Se você deve apresentar um produto a ser desenvolvido para investidores e partes interessadas, um arquiteto de soluções irá sugerir as tecnologias que irão atender aos requisitos do produto e comunicar o raciocínio em termos de negócios simples e claros.
Você precisa configurar a comunicação entre as partes interessadas e os engenheiros. Um arquiteto de soluções ajudará a preencher a lacuna de comunicação entre especialistas técnicos e não técnicos. Além disso, ao colaborar com a equipe de gerenciamento de projeto, os arquitetos de soluções cobrem os riscos de desalinhamento do produto com os requisitos das partes interessadas e garantem que a solução atenda ao propósito definido.
Muitas equipes estão envolvidas no projeto. Você pode ter um grande projeto que requer alguém para gerenciar designers, equipes técnicas ou de arquitetos de negócios para produzir um resultado de projeto técnico de qualidade.
Conclusão
A arquitetura da solução é a base de qualquer projeto de TI, independentemente de você realmente adotar essa prática ou não. Ao introduzir deliberadamente a arquitetura da solução, você constrói a estrutura que alinha tecnologia, recursos e habilidades com objetivos de negócios definidos.
Tradicionalmente, as pequenas e médias empresas não consideram a prática da arquitetura da solução nem a respectiva função justificada. O tratamento de problemas de arquitetura de solução é delegado e compartilhado por outras funções em uma equipe de produto. E é uma opção viável para pequenos projetos com resultados previsíveis. No entanto, se você tiver uma arquitetura corporativa complexa que introduz vários produtos de software em um ecossistema funcional, precisará reconstruir totalmente seu software legado ou tomar um conjunto de decisões tecnológicas estratégicas; a relevância de um especialista dedicado é óbvia.