Por que a Arquitetura de Corporação Inteira Importa?

Publicado originalmente em Tom Graves / Tetradian – Traduzido por Roberto Severo

Por que a arquitetura de uma empresa inteira seria importante para uma organização? E qual é a diferença entre a arquitetura de toda a empresa e outras formas de arquitetura empresarial? Bem, aqui vai um estudo de caso em primeira mão que ilustra ambas essas questões…

Há quatro atores principais neste cenário geral:

eu mesmo, como cliente ou cliente
uma companhia aérea
um hotel
um banco, atuando também como processador de cartões de crédito
(Um monte de outros jogadores também, como veremos de tempos em tempos, embora eles sejam menos centrais na história).

Portanto, aqui está o pano de fundo

  • No LinkedIn eu vejo um pedido urgente de alguns colegas para um apresentador substituto para uma conferência, pois seu apresentador programado adoeceu. Eu respondo; nós conversamos sobre isso; concordamos em ir em frente. Faltam apenas seis dias para o início da conferência: Terei que me mover rapidamente para conseguir voos e hotel, especialmente porque é a época de pico naquela cidade.

Passo #1 – Reservar o voo e o hotel

  • Eu caço para voos. A maioria é insanamente cara, ou levaria muito tempo com múltiplas paradas. Finalmente descubro um voo direto de um aeroporto menos óbvio que é de uma conhecida companhia aérea de orçamento e que está dentro do meu orçamento muito limitado.
  • Vou ao website dessa companhia aérea, estabeleço os detalhes do voo, e como o tempo é essencial aqui, procuro por um hotel lá também, como parte da mesma reserva. Entre os lugares baratos para mochileiros (na minha idade eu acho que não estou mais à altura de viver no estilo dormitório…) e os ‘hotéis de luxo’ (bem fora da minha faixa de preços, especialmente porque ninguém me paga pelo show), há apenas um hotel que é viável. Eu consigo me instalar para um dos poucos quartos restantes e depois completar a reserva geral. O site me mostra um preço completo para toda a reserva; digito os detalhes do meu cartão de crédito, e uma página de sucesso que me diz que a reserva está completa. Por segurança, mantenho a página de sucesso aberta em meu navegador até ver as primeiras mensagens de confirmação aparecerem em meu fluxo de e-mail, e depois a excluo. A última acaba sendo um erro…
  • Os dois e-mails de confirmação confirmam o voo – mas somente o voo, sem nenhuma menção à reserva de hotel. Não há problema, espere um pouco, sem dúvida ele vai aparecer.

Etapa nº 2 – Perguntar novamente sobre a reserva de hotel

  • Duas horas após as confirmações de voo, ainda não há mensagem de confirmação sobre a reserva do hotel, e estou ficando preocupado. Depois de muita pesquisa no site da companhia aérea, encontro uma opção de conversa ao vivo – chat. Clico, digito o código de reserva e espero. O diálogo me diz que sou o número 47 na fila, mas é apenas alguns minutos antes de alguém entrar na fila: muito bom.
  • Explico o problema; eles me dizem que ainda não há nada para o hotel, mas “você tem que dar pelo menos 24 horas para que a confirmação seja feita”. É justo: terminamos a conversa.
  • Eu me sento de volta para esperar pela confirmação do hotel, que parece ser improvável. Um dia inteiro depois, porém, ainda sem mensagem de confirmação eu estou definitivamente preocupado…

Passo #3 – Busca urgente para resolver a falta de confirmação de reserva de hotel

  • Eu procuro novamente a linha de bate-papo. Tudo o que eles me dirão é que não têm um registro da reserva do hotel, “está reservado através de seu próprio mini-site em nosso site, não é de nossa responsabilidade”. Em outras palavras, não tenho confirmação de que a reserva tenha sido feita – mesmo que a cobrança por ela tenha aparecido naquela página inicial de sucesso há muito perdida – e aparentemente não há como descobrir se foi ou não, ou se uma não-reserva foi cobrada do meu cartão de crédito.
  • Preciso falar com uma pessoa real sobre isto – voz em tempo real, não texto. Uma busca muito mais longa no site da companhia aérea eventualmente aparece um número de telefone de linha de ajuda – mas ele é apenas desligado por esta noite. Estou começando a entrar em pânico sobre isto…

Passo #4 – Cheque com o hotel

  • Na manhã seguinte, ligo para a linha de ajuda – que não é nenhuma ajuda. Novamente eles me dizem que não têm registro da reserva do hotel, não podem fazer nada a respeito, e que em essência o problema é meu, não deles. Liguem para o hotel, dizem eles. E, claro, eles não podem me dizer qual hotel chamar, porque não há registro dele…
  • Uma busca frenética nos meus e-mails mostra que eu – felizmente – disse aos organizadores da conferência o nome do hotel. Armado com isto, acabei identificando qual de seus três locais na cidade seria o hotel, e liguei para sua linha de reservas. Sem registro de qualquer reserva da companhia aérea, eles me dizem, e é tarde demais de qualquer forma, eles agora estão cheios para as datas que eu preciso. Portanto, agora não tenho reserva de hotel – estou encalhado. Ótimo… E ainda não sei se a reserva agora inexistente havia sido cobrada no meu cartão de crédito.

Passo #5 – Encontrar acomodações alternativas

  • Eu procuro nos fornecedores habituais da web por qualquer hotel disponível: nada que eu pudesse usar, a não ser alguns poucos lugares em ‘hotéis de luxo’ que são várias vezes mais do que meu orçamento. Definitivamente encalhados…
  • Em desespero, recorro à AirBnB, com a qual não tive nenhum sucesso em nenhuma de minhas tentativas anteriores. A primeira tentativa de reserva falha novamente – feliz em ajudar onde puder, mas tem família hospedada em parte daquela semana. A esta altura, estou apenas três dias antes do meu voo, sem lugar para ficar, e já não é só pânico: para usar a frase australiana, estou cheio de problemas com a corda.
  • A esta altura, o site AirBnB está mostrando que menos de 5% dos anfitriões ainda estão disponíveis em qualquer lugar da cidade, e estão caindo rapidamente. Mas eu finalmente atingi um verdadeiro sucesso: uma sala que está realmente dentro do meu orçamento, para a qual a reserva é feita, e que, afinal, está realmente a uma curta distância do local da conferência. Alívio, de fato. No entanto, ainda não sei o que aconteceu com os encargos da companhia aérea com o cartão de crédito.

Passo #6 – informe-se sobre o cartão de crédito

  • Mais tarde, nesse dia, eu vou à cidade para conversar com o banco que atua como fornecedor do meu cartão de crédito. Imprimo o registro da transação mais atual para aquele cartão de crédito a partir de seus extratos – a máquina, que não mostra nada mais recente do que há algumas semanas – a transação da companhia aérea não mostra. A única maneira de resolver este problema é conversar com uma pessoa real e não com uma máquina.
  • Aqui, eu sou o número 4 em uma fila literal, mas, mais uma vez, a fila se esvazia rapidamente, e nós começamos a conversar. Vamos a um terminal só para funcionários, mas mesmo lá ele não pode ver mais do que já está impresso na declaração: sim, é o mesmo banco, mas os cartões de crédito são uma divisão diferente, e ele não tem permissão para vê-lo. (Sim, já estivemos aqui antes com este banco…) Eu poderia descobrir através do banco telefônico, diz ele, mas isso significa mudar todos os meus códigos de acesso porque já os esqueci há muito tempo, e neste momento é uma chatice e estresse demais para passar por toda essa palavrinha também. O que significa que ainda não sei se o cartão de crédito foi cobrado pela inexistente reserva de hotel…
  • O que ainda me preocupa é que não vou conseguir resolver esta confusão antes de ir – o que significa que a companhia aérea ou quem quer que ainda possa reclamar a reserva do hotel, porque eu não a tinha cancelado explicitamente antes da data prevista. A única saída, que eu ou o banqueiro podemos ver, é ele escrever uma nota formal dizendo que o banco tinha sido notificado sobre isso antes do voo. No entanto, parece que o banco não tem nem mesmo uma maneira de fazer isso: nós nos contentamos com uma nota rabiscada em seu próprio cartão de visita com o banco – “visto em [data] não podia ajudar na transação não podia ver transação com cartão de crédito”. Ele assina devidamente, e aceitamos que isso é provavelmente o melhor que podemos fazer até eu voltar.

Em outras palavras, a situação com a reserva do hotel ainda não está resolvida – ou, aparentemente, não é resolúvel. Mas eu fiquei sem tempo, em todos os sentidos, então é melhor deixar as coisas assim por enquanto, eu acho?

Implicações para a arquitetura corporativa

Sim, é uma bagunça. Uma bagunça atípica hoje em dia, infelizmente. Para muita gente.

Na verdade, o que aconteceu aqui é que a companhia aérea, o banco e outros despejaram todos os custos diretos da arquitetura de sistemas inteiros falhados – não apenas custos financeiros, mas emocionais e muito mais – sobre o pretenso cliente. Os custos são visíveis demais para o cliente, mas são praticamente invisíveis para as próprias organizações – e, portanto, para essas organizações, parecem não existir. Mas os custos indiretos para as organizações podem ser enormes, em termos de perda de vendas, perda de receita, perda de eficácia geral e muito mais; e cria todo tipo de riscos ocultos e/ou curtose que poderiam danificar ou destruir cada uma ou qualquer uma das organizações, ou mesmo toda a empresa compartilhada. Não é trivial, então…

Para mim, há dois temas-chave que conduzem a este tipo de confusão:

Arquiteturas centradas na organização, por sua vez sustentadas pela incapacidade de compreender as diferenças fundamentais entre ‘organização’ e ’empreendimento’.
Fechamento inadequado dos laços de conexão, por sua vez sustentado pela falha em gerenciar o limite da identidade versus o limite de controle

Na organização versus empresa, a distinção crucial é entre “de dentro para fora e “de fora para dentro”:

Mesmo quando a organização é capaz de pensar “a empresa” como algo mais amplo do que ela mesma, ela normalmente se colocaria como o único centro da empresa compartilhada:

No entanto, a realidade é que o ditado de Chris Potts sempre se aplica:

Os clientes não aparecem em nossos processos – nós aparecemos em suas experiências.

E da perspectiva dos clientes, a empresa compartilhada se parece mais com isto:

O que, uma vez que praticamente todos os fornecedores da empresa compartilhada pensam que só eles são o centro de tudo, geralmente deixa os clientes a terem que brincar de arquitetos empresariais em seu próprio nome, e encontrar alguma forma de ligar tudo junto. Dado que a Lei Conway geralmente se aplica – que os sistemas de informação de cada organização tenderão a refletir a estrutura interna daquela respectiva organização – então não é surpresa que encontrar nosso caminho através do labirinto de sistemas desencontrados, para fazer qualquer coisa dentro da empresa compartilhada como um todo, é muitas vezes um pesadelo de navegação…

No caso desta linha aérea em particular, no entanto, eles, em princípio, tornaram isto muito mais fácil para os clientes, fornecendo um “balcão único”, que deveria permitir a esses clientes fazer, de uma só vez, toda a busca e reserva que eles precisam dentro do contexto-espaço desta empresa compartilhada. Isso indica que a companhia aérea está pensando de forma mais ampla do que apenas ela mesma, em termos de empreendimento. Isso é uma enorme vantagem para o cliente, um verdadeiro valor de experiência. E a vantagem empresarial para a empresa aérea, é claro, é que ela não apenas encoraja os clientes a virem ao site porque é um “balcão único”, mas também cobra taxas de referência de cada um desses outros participantes sempre que uma reserva vinculada é feita – o que significa que o custo extra e a complexidade do site deve ser mais do que pagar por si mesmo. Se funcionar – e essa é a contrapartida, como vimos no exemplo acima.

De um dos comentários sobre a linha de chat da companhia aérea, parece que cada um dos elementos ‘add-on’ nesse ‘one-stop shop’ é na verdade um mini-site por direito próprio – e não há nada que realmente os ligue entre si, exceto mensagens que passam entre os vários provedores. Parece ser um site e serviço unificado – como na mensagem de sucesso exibida. Mas na verdade não é: e podemos ver isso, porque o ‘itinerário’ nominal da companhia aérea é apenas sobre os serviços da companhia aérea – sem nenhuma referência a quaisquer serviços de outros provedores supostamente vinculados. Da mesma forma, espera-se que cada prestador de serviços envie seus próprios e-mails de confirmação e afins. O que é certo, mesmo do ponto de vista dos clientes, apesar da enxurrada de e-mails separados que chegam do que realmente são provedores diferentes.

Mas se e quando qualquer mensagem inter-fornecedor for perdida – como neste exemplo acima – então não há meios de fazer uma verificação cruzada, ou um rollback tipo banco de dados, porque as mensagens necessárias para fazê-lo foram perdidas, ou talvez nunca tenham existido em primeiro lugar. O que pode parecer sem importância para cada fornecedor individual: no que lhes diz respeito, é uma reserva que nunca aconteceu. Mas esse tipo de “falha” no sistema às vezes pode se revelar surpreendentemente caro, mesmo do ponto de vista dos provedores – e para aqueles clientes que se viram repentinamente encalhados por uma reserva supostamente completa que na verdade não é, não parece ser “apenas uma pequena falha” de todo…

Em resumo, se quisermos nos conectar entre fornecedores e sistemas, através da empresa compartilhada, temos que fazê-lo corretamente – ou não o fazemos de forma alguma.

O que nos leva ao segundo tema, sobre a falha em fechar laços de conexão entre os provedores.

Não tenho acesso aos sistemas da companhia aérea, é claro, mas a forma como leio a falha no exemplo acima é que as mensagens entre sistemas são executadas “sem estado”, ou “em circuito aberto” – uma vez que uma mensagem é enviada, é considerada como recebida. Dessa forma, a companhia aérea pode construir uma cobrança a partir de informações locais sobre hotéis (neste caso), mas deixar a confirmação completa para mais tarde. O resultado é que parece uma transação completa, e que foi concluída rapidamente; mas na verdade não há garantia de que a transação completa tenha sido concluída, e não há meios de fazer um rollback adequado se não tiver sido, porque a informação para fazer esse rollback não existe mais – ou talvez nunca tenha existido.

Do ponto de vista da companhia aérea, isto pode não parecer um problema real – na pior das hipóteses, é apenas uma reserva abandonada, com a única perda sendo uma taxa de reserva antecipada. Mas da perspectiva do cliente, isto é extremamente arriscado: se a reserva geral estiver incompleta, é mais seguro não fazer a reserva de forma alguma, mas recomeçar tudo de novo – talvez em partes separadas, ou através de algum outro website. Novamente, como arquitetos-empresários, precisamos ser capazes de ver isto de ambos os lados…

Com efeito, é na verdade um problema de poder, descarregando a responsabilidade sobre o Outro – neste caso, o hotel e/ou o cliente – sem seu compromisso ou consentimento. Em termos do diagnóstico de poder da SEMPER, descreveríamos isto como disfunção passiva ou “power-under” – que, em um contexto humano, de outra forma seria conhecido como abuso. Não é uma boa ideia…?

Outra maneira de descrever isto é como uma tentativa de fazer o fechamento de todo o contexto no Problema de Alguém Mais. Mas novamente, em nível de toda a empresa, não existe tal coisa como o Problema de Alguém Mais: para que a empresa funcione, de alguma forma ou em algum lugar tem que ser um problema de alguém – e como arquitetos da empresa, precisamos saber quem é esse “alguém”, e fornecer-lhes o apoio de que precisam.

Embora não possamos saber de fora como os sistemas estão estruturados, há várias opções para que funcionem melhor do ponto de vista do usuário. Embora dependa das estruturas reais, é claro, um exemplo seria ser muito mais explícito sobre o que foi ou não confirmado – como a ‘página de sucesso’ modificada para mostrar o status atual de cada parceiro-reserva, e atualizar essa página de sucesso à medida que as mensagens voltam, acessível através da ‘Manage My Booking’ ou funcionalidade equivalente na página da companhia aérea na web. Outra opção seria acionar automaticamente os alertas de e-mail após um período de tempo limite, para avisar o cliente que as mensagens de confirmação esperadas não foram recebidas. Mesmo com as tecnologias atuais, nada disto deveria ser difícil de arquitetar, projetar e implementar.

No entanto, para fazer qualquer um deste trabalho, precisamos de uma visão da arquitetura para toda a empresa – uma visão centrada apenas na organização não será suficiente, como deve ficar claro em tudo o que foi descrito acima. (Arquiteturas clássicas centradas em TI, como a TOGAF, seriam ainda menos úteis – até mesmo devido a todos os elementos humanos do quadro geral).

Talvez os desafios mais difíceis, porém, sejam aqueles que surgem da Lei Conway – como vimos com o banco, onde os sistemas de informação foram esculpidos em linhas divisórias, tornando qualquer forma de visão única do cliente praticamente impossível. A chamada “transformação digital” pode ser de grande ajuda nisso, mas somente se percebermos que a transformação digital só pode ser bem-sucedida quando a usamos para executar a Lei Conway ao contrário – quando usamos as mudanças desejadas nos sistemas de informação e similares para mudar a comunicação interna e a estrutura da própria organização. Não é tão simples quanto parece – mas muito necessário. Mas esse é um tópico para um posto separado, talvez?

Tom Graves

Tom Graves é consultor independente há mais de quatro décadas, em transformação de negócios, arquitetura empresarial e gestão do conhecimento. Seus clientes na Europa, Australásia e Américas cobrem uma ampla gama de indústrias, incluindo pequenas empresas, bancos, serviços públicos, manufatura, logística, engenharia, mídia, telecomunicações, pesquisa, defesa e governo. Ele tem um interesse especial em arquiteturas de empresas inteiras para empresas sem fins lucrativos, sociais, governamentais e comerciais.
Conheça o trabalho de Tom Graves