Arquitetura Corporativa e Agile/DevOps: Pedras Angulares da Empresa Adaptativa

postado em 17 de fev de 2019 06:42 por Antonio Plais   [ 18 de fev de 2019 06:24 atualizado‎(s)‎ ]
Originalmente postado por Marc Lankhorst* e Fabian Aulkemeier, no blog da BiZZdesign - Tradução autorizada

Arquitetura corporativa, desenvolvimento ágil de software e DevOps são, muitas vezes, vistos como estando em conflito. Nós acreditamos que eles podem colaborar e se comunicar de forma proveitosa, mas como você pode fazer isso? Como você pode alinhar os conceitos e processos destes mundos diferentes e transpor as barreiras culturais?

Em postagens anteriores, nós escrevemos sobre a necessidade de abordar a transformação de negócios de uma forma leve e ágil, a forma como os processos de arquitetura corporativa e desenvolvimento ágil podem trabalhar juntos, e como você pode mapear os conceitos ágeis para a linguagem de modelagem ArchiMate para suportar esta cooperação.

Nesta postagem, gostaríamos de discutir vários casos de uso que realçam a colaboração entre a arquitetura corporativa, o desenvolvimento ágil e DevOps. Discutiremos, também, como o software da BiZZdesign pode trabalhar junto com os métodos ágeis e ferramentas de DevOps para agilizar o fluxo de valor nos processos de mudança da sua organização, ajudando a torná-la uma empresa adaptativa.

Por que relacionar a Arquitetura Corporativa com DevOps?

As abordagens ágeis são uma grande ajuda para aumentar a responsividade à mudança. No entanto, elas não são as únicas abordagens que você precisa e, quando aplicadas incorretamente, podem até mesmo trazer mais danos para a adaptabilidade global da sua empresa.

Em geral, quanto maior a organização e mais interconexões e dependências existem entre as suas partes (capacidades, recursos, processos, sistemas) mais importante a arquitetura corporativa se torna para melhorar a adaptabilidade e alinhar as partes com a direção estratégica global.

Em organizações menores, algumas poucas equipes ágeis/DevOps podem coordenar a mudança entre elas mesmas, e as linhas de gerenciamento são curtas o suficiente para que a direção estratégica seja transmitida para as equipes diretamente. Em organizações maiores, no entanto, pode haver centenas de equipes ágeis, cada uma trabalhando em uma parte da grande 'máquina corporativa', e é necessária maior coordenação. Se você tem equipes ágeis construindo silos ágeis que desconsideram seu ambiente, você ainda não obtém um resultado final flexível e adaptativo. Além disso, as mudanças futuras podem se tornar ainda mais difíceis, o que torna uma boa arquitetura corporativa ainda mais essencial.

Abordagens como LeSS (Large-Scale Scrum) e SAFe (Scaled Agile Framework) foram criadas para lidar com a coordenação de equipes ágeis nestas circunstâncias. A figura abaixo mostra uma versão simplificada do SAFe, destacando alguns dos termos significativos e ciclos de retroalimentação.


A abordagem que estas metodologias fazem da arquitetura corporativa é focada nas necessidades do desenvolvimento de software e, como resultado, olha para a empresa principalmente a partir de um ponto de vista de software e soluções. No entanto, há muito mais na empresa do que apenas software. É aqui onde a visão "grande figura" oferecida pela arquitetura corporativa adiciona valor, uma vez que ele engloba outras partes interessadas do que os usuários de software e inclui resultados de negócio desejáveis (e indesejáveis?), capacidades a serem desenvolvidas ou melhoradas, recursos necessários, processos de negócio, infraestrutura física e de TI a ser realizada, e muito mais.

Casos de uso para os Métodos Ágeis e a Arquitetura Corporativa

A combinação da arquitetura corporativa com o desenvolvimento ágeis é inestimável em muitos casos. Por exemplo, esta colaboração é crucial quando:

  • Priorizar o valor de negócio. Com base em uma análise da sua arquitetura corporativa você pode ver como os vários épicos e funcionalidades são relacionados com os processos de negócio, capacidades, metas de negócio e partes interessadas associadas. Rastreando através dos seus modelos da arquitetura, você pode encontrar para quais metas de negócio e partes interessadas uma funcionalidade contribui, e se esta funcionalidade é mais importante do que outras. Informação objetiva como esta pode ajudar os donos de produto (Product Owner) colocar um fim na priorização "orientada pelo grito", onde os usuários com as vozes mais altas garantem que os seus desejos sejam atendidos.
  • Planejar o trabalho com coerência. As dependências na sua arquitetura podem ser usadas nas atividades de planejamento ágil: se uma funcionalidade A depende da funcionalidade B, construa B primeiro. Isto é ainda mais importante naquilo que o SAFe chama de "habilitadores": aspectos da solução que não fornecem funcionalidade diretamente para os usuários, mas suportam esta funcionalidade indiretamente e permitem a evolução e qualidade no longo prazo. Seu conceito de "Pista Arquitetural" (Architectural Runway) é um exemplo disso, onde você constrói a fundação técnica das novas funcionalidades no momento apropriado. Este conceito pode, no entanto, ser estendido além do software apenas. Investir nas competências da equipe, por exemplo, pode fornecer uma fundação para muitos desenvolvimentos e melhorias futuros.
  • Acompanhar o progresso. Se alguma funcionalidade ou habilitador é atrasado, por exemplo, por causa de uma equipe ágil querendo empurrá-la para o próximo sprint, o impacto na solução total precisa ser fatorado naquela decisão. Existem várias boas razões para esta equipe priorizar alguma outra coisa no lugar, mas geralmente eles não têm informações suficientes para entender as consequências da sua decisão. Ser capaz de rastrear de volta para a meta geral demonstrará como uma decisão afetará um release, projeto, data de entrega, etc. Isso também ajuda as equipes para fazer perguntas como: "Como isso impacta as metas de negócio da organização? Quais grupos de clientes serão afetados? Nós podemos mitigar estes efeitos, através da priorização de outras funcionalidades, possivelmente de outras equipes?". É aqui que os modelos da arquitetura são de grande ajuda, especialmente para os habilitadores. Uma vez que os habilitadores não fornecem funcionalidades para o usuário final, poucas pessoas reclamam quando eles são adiados. No entanto, eles são em geral muito importantes para várias funcionalidades diferentes e para a viabilidade da solução no longo prazo, de forma que manter a rastreabilidade destas dependências é muito importante.
  • Atualizar a arquitetura com novas percepções. Em um contexto ágil, uma arquitetura corporativa não é apenas uma descrição estática de um estado futuro de longo prazo. Ao invés disso, ela é um instrumento compartilhado para fornecer a visão, dar a direção e garantir a coerência através da empresa, com base tanto em entradas de cima para baixo como de baixo para cima. A estratégia, metas e resultados desejados do negócio fornecem a direção de cima para baixo, enquanto as inovações e melhorias locais oferecem as mudanças de baixo para cima. Assim, os vários grupos na empresa trabalham juntos na arquitetura a partir de suas próprias perspectivas.

Casos de Uso para DevOps e Arquitetura Corporativa

Quando nós estendemos o desenvolvimento ágil com DevOps, existem outros casos de uso para a arquitetura que podem ser adicionados à lista acima. O gerenciamento de operações, em geral, não está sempre consciente dos benefícios da arquitetura. No entanto, em um ciclo de desenvolvimento rápido como o Scrum/DevOps, e com uma abordagem "falhar para frente" para resolver problemas, a arquitetura se torna ainda mais valiosa para o DevOps. Por exemplo, modelos da arquitetura pode ser usados para:
  • Correlacionar eventos. Modelos da arquitetura permitem que você veja os eventos através da sua empresa de uma maneira integrada. Por exemplo, se hackers estão tentando comprometer sua segurança por meio de diferentes vetores de ataque ao mesmo tempo (e.g., engenharia social, phishing, vírus, e intrusão física), modelos da arquitetura podem ajudá-lo a correlacionar isso para entender qual poderia ser o seu verdadeiro objetivo.
  • Analisar a causa-raiz. Com frequência, uma longa cadeia de sistemas tem que ser traçada para encontrar a causa de uma falha ou problema. Modelos da arquitetura são uma grande ajuda para isso, uma vez que eles fornecem para o gerenciamento de operações as várias interconexões e dependências que precisam ser investigadas.
  • Analisar riscos. Antes de implementar uma mudança, você gostará de saber quais partes da sua empresa serão afetadas. Mudanças de baixo risco podem ser implementadas rapidamente, mas mudanças de alto risco irão requerer uma análise mais apurada e medidas de mitigação.
Na próxima postagem desta série, vamos olhar para o uso de modelos e o suporte de ferramenta para integrar o desenvolvimento ágil e a arquitetura no BiZZdesign Enterprise Studio e HoriZZon. Fique ligado!



* Mark Lankhorst é Gerente de Consultoria & Evangelista-Chefe de Tecnologia da BiZZdesign, empresa líder em ferramentas para modelagem da arquitetura corporativa, representada no Brasil pela Centus Consultoria.


http://bizzdesign.centus.com.br/biblioteca/ebooks/empresa_adaptativa
Nós publicamos o eBook 'A Empresa Adaptativa - Prosperando em uma Era de Mudanças', no qual explicamos nossa visão dos desafios da mudança e do controle em empresas complexas, e descrevemos as capacidades necessárias para lidar com isso em maiores detalhes. 
Clique aqui para solicitar sua cópia grátis deste eBook.