Planejamento e Roteirização: Introdução

postado em 28 de mar. de 2020 14:30 por Antonio Plais   [ 31 de mar. de 2020 13:43 atualizado‎(s)‎ ]
Originalmente postado por Marc Lankhorst e Sven van Dijk*, no blog da BiZZdesign- Tradução e adaptação autorizados

Um motivador importante para o gerenciamento, em geral, e para a arquitetura corporativa, em particular, é obter um melhor controle sobre o futuro, sobre a evolução da sua empresa. Uma técnica comum para suportar isso é a roteirização. Um roteiro é um plano estratégico que mostra os principais passos ou marcos necessários para alcançar os resultados desejados. Ele articula a direção estratégica da sua empresa e mostra o caminho à frente. Ele ajuda você a identificar o que é necessário e quais são as principais dependências e prioridades, e serve como um instrumento de comunicação para alinhar a organização ao longo de um curso de ação comum.

É importante compreender que quanto mais distante no futuro nós planejamos, menos concretos nossos planos podem e devem ser. Por um lado, nós só podemos explorar e desenvolver o conhecimento necessário ao longo do caminho, por exemplo, porque os usuários só podem nos fornecer os seus requisitos de na base do 'eu só saberei isso quando eu ver isso'. Por outro lado, o mundo continua mudando à nossa volta, de forma que nós precisamos, de qualquer forma, mudar os nossos planos de acordo, fazendo com que definir planos detalhados muito à frente no futuro seja um exercício infrutífero e quase impossível. Um roteiro não é, com certeza, um planejamento quinquenal, mas um instrumento flexível para dar direção para a nossa empresa e identificar as principais dependências. A figura mais ampla e as partes mais distantes do nosso roteiro são, assim, pintadas por meio de um pincel mais largo.

Planejamento Baseado em Capacidades e Roteirização

Um caso de uso importante para os roteiros é o planejamento baseado em capacidades. A evolução das capacidades em termos dos assim chamados 'incrementos' é algo que você pode expressar perfeitamente por meio de um roteiro. A figura abaixo mostra um roteiro simples onde a capacidade de Gerenciamento do Cliente é gradualmente melhorada por meio de vários projetos para homogenizar a informação e os dados sobre os clientes, melhorando o acesso global a estes dados e harmonizando os processos de faturamento  através das várias unidades de negócio


Planejamento Baseado em Capacidades

Estes projetos serão detalhados em partes menores de trabalho, e os incrementos de capacidade, em si, irão requerer melhorias específicas nos vários aspectos da arquitetura. Isso pode ser desenvolvido por meio de pacotes de trabalho específicos dentro destes projetos, e expresso por meio dos entregáveis apropriados.

Roteiros em múltiplos níveis

Roteiros podem ser definidos de várias maneiras e em múltiplos níveis. No contexto do desenvolvimento ágil de software, por exemplo no Framework Scaled Agile, você verá com frequência múltiplos níveis e escalas de tempo, tais como:
  • Roteiro: iterações de vários meses ou mesmo anos
  • Release: iterações de poucos meses
  • Sprint: iterações de poucas semanas
Todos estes são considerados parte da 'roteirização' como uma técnica geral.

A evolução das suas capacidades pode ser expressa por meio de funcionalidades e histórias de usuário, e colocadas no backlog de algum sprint para serem desenvolvidas pelas várias equipes ágeis existentes. Vários sprints de múltiplas equipes ágeis em conjunto resultam em um release que fornece um incremento de capacidade, e uma série de releases, por sua vez, podem juntos resultar um um resultado de negócio específico.

Quando criando um roteiro multinível, você definirá o conteúdo detalhado dos sprints apenas no curto prazo, com histórias de usuário específicas para serem implementadas e mudanças concretas em processos e sistemas. Releases serão planejados, talvez, uns poucos meses à frente, mas as funcionalidades de cada release serão especificadas apenas em alto nível, de uma forma mais grosseira, sendo detalhadas somente para o próximo release. Estágios do roteiro em alto nível e escala de tempo mais longa serão ainda mais abstratos, por exemplo, identificando melhorias de capacidade, como no exemplo acima, ou mesmo apenas dando a direção na forma de metas de longo prazo e resultados desejados.

Modelando Roteiros no ArchiMate

Dois conceitos do ArchiMate fundamentais para modelar roteiros são o Pacote de Trabalho e o Platô. Pacotes de Trabalho são usados para modelar o trabalho a ser feito nos vários níveis envolvidos, desde os sprints individuais até roteiros completos. A resultante evolução da arquitetura é capturada em Platôs, que agregam os elementos da arquitetura válidos durante um certo período de tempo.

O exemplo abaixo mostra um pouco disso. À esquerda vemos o desenvolvimento concreto de processos, sistemas e dados organizados em sprints modelados por meio dos conceitos Pacote de Trabalho e Platô do ArchiMate. Múltiplas equipes podem estar trabalhando no mesmo período de sprint, por isso os Pacotes de Trabalho são replicados. À direita vemos os incrementos de capacidade mais abstratos organizados em releases que são, eles mesmos, o resultado de uma série de sprints. No modelo subjacente (mas não mostrado na figura), todos os elementos criados ou modificados nos dois sprints contribuem para o primeiro incremento de capacidade. Note que, diferente da figura anterior, esta não mostra uma linha do tempo da esquerda para a direita.


Estágios do roteiro de alto nível e detalhados

Como mencionado acima, quanto mais à frente você olha, menos concreto seu roteiro será. Desta forma, os conceitos usados para o futuro próximo são tipicamente os elementos concretos e detalhados das camadas de negócio, aplicativo e tecnologia. Para o médio prazo, você poderia usar os conceitos mais abstratos de capacidade e recurso, e no longo prazo você poderia talvez expressar usando apenas metas e resultados. Na próxima postagem desta série vamos explorar em maiores detalhes como você pode modelar seus roteiros usando conceitos ArchiMate para as diferentes perspectivas de tempo e níveis de detalhe.

Finalmente, na terceira e última postagem nesta série, entraremos em maiores detalhes em funcionalidades avançadas do Enterprise Studio para trabalhar com roteiros e ciclos de vida, por exemplo, para mostrar linhas do tempo, analisar dependências entre ciclos de vida de partes da sua empresa, ou para detectar conflitos entre as mudanças planejadas. Fique ligado!


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